Jump to content

Lenovo ThinkPad T420 with UEFI Only


K0gen
 Share

5,271 posts in this topic

Recommended Posts

17 hours ago, jimrs said:

Lmao how did I not see that you can search in the topic? I guess I was looking only at the mobile version... I apologize to everyone who I may have offended.

 

@tluck thank you for your help again.

To clarify: I had a very low VRAM in "About this Mac" displayed, 7 MB only. I think as a result, the external monitor was extremely blurry and wavy, it's kinda hard to explain as english is not my primary language. At the same time, OSX was unable to detect my external monitor, even when I explicitly pressed the button "Detect displays" in the system preferences. Anyway after I patched the config.plist with the patch you mentioned in your first reply to me (the one from 2018) and rebooted, it suddenly worked and I got 1024 MB VRAM.

On subsequent boots, the number was reduced to 512 MB (?), though the monitor still works with no trouble.

I suffer from occasional random horizontal glitchy lines (especially in browser) and raising the VRAM to 1024 MB might help with that, as I have read somewhere else, so I will try your patch. The difference I see is that you put in the name string "com.apple.driver.AppleIntelSNBGraphicsFB" while the patch from 2018 puts only "AppleIntelSNBGraphicsFB".

Will report on how it goes. Wish me luck.

 

PS. just to be sure - I put this patch in config.plist inside the dictionary <array> of KextsToPatch right?

sounds like HD3000 gfx kexts were not actually running - if (A) you got 7MB vram and (B) the external monitor was not detected. what OS version are you using?

 

So sure patching to 1G may help with glitches. you can also try to use the edid from the "366" config.plist to see if it works any better. glitches are more of a problem in HighSierra/Mojave/Catalina (as they all use the same gfx) than Sierra (rarely seen). best of luck for sure!

this is my box with the 366 edid:

tluck@Toms-Mac ~

$ ioreg -l|grep yEDID

    | |   | | |       "IODisplayEDID" = <00ffffffffffff0030e466030000000000150104901f117802fc45955855922820505400000001010101010101010101010101010101582f40f861843c30a060350035ae1000001a901f40f861843c30a060350035ae1000001a000000fe00334e505236803134305744320a00000000000041319e0110000002010a202000a7>

Link to comment
Share on other sites

20190706_133739.thumb.jpg.562b4e4b42d55f141dcf3688cd53d5f7.jpg

Hi everyone. Hope all is well.

I've successfully installed high Sierra and Mojave but I'm struggling with Catalina. With around 4 minutes left on the second part of the installation, I get kernel panics. I'm not sure on what to do. Im running t420 with i5 2520m, 6GB ram, clover 5103. I think it has something to do with the EFI folder as its the same one I got when installing high Sierra. Any ideas would be hugely appreciated. Thank you

 

20200311_235639.jpg

20200311_235711.jpg

20200311_235728.jpg

20200311_235747.jpg

20200311_235656.jpg

Link to comment
Share on other sites

On 10/8/2013 at 3:47 PM, tluck said:

Lenovo T420 Clover Guide

  • Release v2020.02.18 on GitHub
    • Updated to Clover r5104
    • Updated Custom kexts
    • Added older versions of IntelMausiEthernet for 10.12, 10.13, 10.14, 10.15
    • Force DualLink for the 1600x900 configs
  • Recent highlights:
    • Update Theme (icons and boot chime option)
    • Use WhateverGreen.kext for GFX patching and properties by default
    • VoodooPS2Controller.kext  - with new SSDT option for custom key map
    • AppleALC.kext - merged properties for T420 (changed Layout 12 to 14)
    • Update T420s with SSDT for PS2K device
    • config.plist changes:
      • Revised to common config.plist for simplicity
      • Changed config.plist file to use audio layout id 14 (or 13 for dock) 
      • Update config.plist files to set slide=0 by default
      • Removed ACPI patching by Clover (except Fix_Regions) since patching is already in provided in the DSDT
      • Provide alternate config.plist files and DSDT files for testing glitchy 1600x900 LCD
        • 3 alternate configs: EDID-2e2, 2e3, 366  - 60 and 50 Hz modes

 

T420 Clover Guide and Steps

Overview

The zip file is a complete ESP/kext pack for the Lenovo T420 using Clover on macOS. This file set and method should work for Sierra, High Sierra 

... tested on: 10.12.6, 10.13.5, 10.14.6 and 10.15.3

  • Full Clover ESP file set - config.plist + required custom kexts + custom ACPI files (DSDT/SSDT)
  • The actual zip bundle releases are posted on GitHub.com

 

*For Mojave/Catalina 

  • Apple removed support of HD 3000 Graphics 
  • see the "dosdude1" method to create an installer for unsupported Macs: http://dosdude1.com/software.html
  • combine the methods outlined here with dosdude1 method (add Clover to EFI)
  • tested on: 10.12.6, 10.13.5, 10.14.6 and 10.15.3

 

Non-maintained Mountain Lion Kext Bundles for 10.8.4 are in post #241 and 10.8.5 in post #397

Also for L420 Guide, see the one by kosakgroove
 

Why Clover vs Chameleon?

  • Native UEFI boot support for macOS (and Windows) on GPT disks.
  • Native Apple macOS Installers and App Store Updates.
  • Supports Recovery HD for system recovery, iMessage, Find My Mac, etc.
  • Dynamic DSDT and Kext patching.
     

Caveat: My system is a T420 with 1600x900 LCD and dedicated Intel HD 3000 Graphics Only. This zip contains what is working for me on my specific model. The related models - such as T420s, T420i, T520 and W520 family - may work as is or need some changes to config.plist and/or the DSDT. In the DSDT source (.dsl) file, the changes are indicated by notes and comments. If your HW is the same as mine, the included DSDT and configuration files may need to be retrofitted to work for your system.


The guide has 2 parts or phases:

  1. How to create a USB installer to install macOS,
    and
  2. How to complete the OS installation to run macOS
     

BIOS settings

  • Recommended is BIOS v1.46 (and stay on 1.46 if you want use a modded bios - but there are v1.48 and v1.49 mods now)
  • Recommended: reset to defaults. Most defaults settings will work - but check these settings:
  • Set Config / Serial ATA (SATA) / SATA = AHCI
  • Set Security / Memory Protection / Execution Prevention = Enabled
  • Disable Discrete Nvidia/Optimus (use integrated HD 3000 only - unless you really know what you are doing!)
  • Note: The custom DSDT is based off BIOS v1.46 (flashed with whitelist mod or original)

Terms:

  • GPT = GUID Partition Table
  • MBR = Master Boot Record
  • ESP = ESP = EFI System Partition, the ESP is created automatically as the first (hidden) partition by the Disk Utility when the GPT option is selected for partitioning a disk.

 

Part 1 - OS Installation

These steps and procedure is for a complete new fresh installation using an USB Installer. If you are upgrading to High Sierra from an older working version of macOS (say El Capitan or Sierra is on your HD downloaded from the App Store), skip down to Part 2, Step 3 to update your ESP. You must replace or merge in the changes from the EFI/CLOVER files to your HD ESP before you perform the upgrade.

 

1.1 Overview and Downloads

  • Download and expand (extract) the zip file contents from here:
    GitHub Lenovo T420 Clover Latest Release.
    • This same file set will be installed on the USB and the HD for UEFI boot.
  • Download macOS from the App Store - they are freely available.
    • One can build a macOS USB installer with the standard macOS installer app downloaded from the "App Store".
  • Install macOS to a GPT formatted disk using the standard Install macOS.app downloaded from the Apple Store.

 

1.2 Create a standard macOS USB installer

  •  Partition an 8GB (or larger) USB formatted with GUID Partition Table (GPT)
    • use the Partition Options... menu to change from MBR to GPT
    • Name the partition USB - the install process will rename it, but it matches the script below.
    • Use format: Mac OS Extended (Journaled) (formerly OS X Extended)

Note: if you have a larger USB (say 16GB) you can split into 2 8GB partitions, so you can have 10.13 and 10.12 installers on the same USB key

  • Run this command to copy the bits to the USB key:
  • 
    sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ High\ Sierra.app –nointeraction

     

Note: if using an older version of macOS, replace with the corresponding app name. 

 

1.3 Put Clover installation on USB

  • Install Clover on the USB
    
    sudo mkdir /Volumes/ESP-USB
    sudo mount -t msdos /dev/disk1s1 /Volumes/ESP-USB
    cp -a ~/Downloads/Lenovo-T420-CloverYYYY.MM.DD/EFI/ /Volumes/ESP-USB/EFI
    • Manually mount the ESP of the USB (there is script - espmount.bash - that you can use later in the Utilities folder as an option)
    • If not done already, expand the downloaded Zip to ~/Downloads/LenovoT420-Clover-YYYY.MM.DD (this file set is the Zip)
    • Copy the EFI directory to the ESP directory of the USB
      For example, assuming the USB is disk1:
      Note: run "diskutil list" on the command line to find your USB and HD disk devices

1.4 Boot Clover from USB Installer and select Install macOS

  • Install the OS on your GPT disk on the macOS partition.
  • Make sure the drive is formatted using:
    • Scheme: GUID Partition Map (GPT)
    • Partition Name: macOS
    • Format: APFS - use macOS Extended (Journaled) for Sierra
  • Dual BOOT tip:
    • If you plan to dual boot Windows from the same HD - DO NOT make the 2nd partition NTFS or ExFAT with the Disk Utility app.
    • For now make the all partitions "APFS" or "Mac OS Extended (Journaled)"
    • Size the 2 partitions appropriately - later you will delete and reformat the 2nd unused partition space for Windows

1.5 GUI Install of macOS
Click through the install menus and wait for the installation to fully complete - on a spinning disk takes about 30-45 minutes.

  • Follow these Notes and Tips:
    • When the installer screens shows: "To pair a Bluetooth keyboard, turn it on and wait for your computer to connect to it.”
    • Hit the Space Bar to get past this step.
    • When installer seems to hang at: "About a second remaining”
    • Don’t Panic, this "second" may take about 10 minutes or more to finish.
    • Just wait for the installer to reboot the computer and continue the installation.
    • The whole install process takes about 1 hour to complete.
  • On the first boot from the HD when asked:
    •  "How Do You Connect?”
    • Select: “My computer does not connect to the Internet”
    • You can set up the network later after installation of the NIC driver kext - but it may already be working.
    • The stock Intel WiFi will not work. Period.  

 

Part 2 - Post OS Installation and Setup on HD/SSD

 

2.1 Boot Clover from USB 
On startup, hit F12 and select USB boot - but now in Clover select the newly installed disk/partition to start macOS.

Note: You may see 3 Volumes instead of the expected 2 on the HD - macOS + Recovery HD - make sure you pick the volume that is NOT labelled Recovery HD. See step 3 below to remove the logical volume eliminates the confusion.

2.2 Complete the installation steps - boot up and login

  • Boot up macOS with Clover injecting the custom kexts from the USB. 
  • Login and start a terminal session.
  • For HFS+, convert the Logical volume to Physical volume. If your disk is HFS+, the full installer likes to make a logical volume. So for simplicity, I recommend one to revert the root volumes to a regular volume. Run this command:
  • 
    sudo diskutil corestorage revert /

     

2.3 Install Clover on the Boot Drive ESP

  • Download (or transfer) the same Zip files to the HD. (See below for details)
    • In general, the provided kexts do not require any modification.
  • Backlight should work if using WhaterEvergreen kext. 
     

Details for Installing Clover Bundle on the Boot Drive ESP

  1. Now make the ESP contents on the boot drive exactly like the ESP used to setup the USB installer above.
  2. Manually mount the ESP of your HD on /Volumes/ESP. (See first 2 commands below.)
  3. Replace the ESP installed by Clover in the previous step -- means you copy/replace these 2 directories /Volume/ESP/EFI/CLOVER and BOOT with the ones from the Zip file.
  4. Just as you did for the USB, the config.plist is renamed from the one that matched your LCD.
  5. Mount and install the ESP bits to your HD/SSD (disk0) by following the same procedure as for the USB.
  • Note: If you previously installed Windows, be careful to not lose the EFI/Microsoft contents. 
  • Note: The Clover config.plist default volume name (the volume to boot automatically) is set to "macOS" - meaning your new volume is assumed to be named "macOS". If you use a different name - like "Macintosh HD" change the volume name or edit the name in config.plist to match.
  • 
    sudo mkdir /Volumes/ESP
    sudo mount -t msdos /dev/disk0s1 /Volumes/ESP
    cp -a ~/Downloads/Lenovo-T420-Clover-YYYY.MM.DD/EFI/ /Volumes/ESP/EFI

     

2.4 For 1600x900 LCD - Recommended Option: Install (copy) the DisplayVendorID-* directories 

Many have GFX problems with 1600x900, so there are 3 configurations that inject an alternate EDID and set DualLink=1. Gfx freezes and glitches can be minimized by these alternate configs. Try the EDID-2e2 config first - copy it to replace the default config.plist. Then, these matching display options can help remove glitches with display speed/size options. The override files also provide a more natural color correction and gamma curves as well as more screen sizes for select Lenovo LCD models. These files are included in the Zip file and should be copied (via sudo) to /System/Library/Displays/Contents/Resources/Overrides.

NOTE: For Catalina you may need to mount / as read/write. SIP should already be disabled0

 

  • Note: For Yosemite or earlier versions, these files go in /System/Library/Displays/Overrides
  • Note: for Catalina ( you need to make root / read/write to do this step) by:
    sudo mount -rw / 
  • 
    sudo cp -a ~/Downloads/Lenovo-T420-Clover-YYYY.MM.DD/\:System\:Library\:Displays\:Contents\:Resources\:Overrides/DisplayVendorID-* /System/Library/Displays/Contents/Resources/Overrides/

     

2.5 Remove the USB and Reboot to load Clover from the HD

Notes: For this first boot, hit the spacebar on your boot selection (macOS) and use verbose mode.
See below for other tools and scripts for to help with sleep/wake issues.

 

Enjoy your Hackintosh!

 

Optional Steps (no longer required)

1) Install the all custom kexts to your OS /Library/Extensions folder

Note: These days, Clover can "Inject" all the custom kexts from the ESP - so you no longer have to copy/install them into your system OS. However, if desired install the custom kexts from the Zip kexts directory to the /Library/Extensions directory by running:

  • 
    cd ~/Downloads/Lenovo-T420-Clover-YYYY.MM.DD/EFI/CLOVER/kexts/
    sudo ./_kext-install.command

     

2) Ethernet Device Installation

If you do not already have an ethernet device created as en0 - you can check the System Preferences/Network tool - this step loads the ethernet kext and resets network device order to have ethernet as en0. Seems to help with AppStore and iMessage etc.

  • Note: macOS may already have configured the ethernet, so this step may be unnecessary but it will not hurt anything either for a fresh installation. Run this set of commands:
  • 
    sudo kextload /Library/Extensions/IntelMausiEthernet.kext
    sleep 10
    sudo rm   /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist

     

3) Optional: Create a customer injector.The included/pre-made AppleBackLightInjector kext may work "as is" if you have a common Lenovo LCD. This kext gives full uniform brightness range for the LCD.  You can create a custom Backlight Injector kext for your LCD Panel if needed. This script will update the kext in the ../../EFI/CLOVER/kexts/Other directory - which is the unzipped package location.  This AppleBacklightInjector kext replaces the (obsolete) IntelBacklight.kext and the kext install script will remove the old one if on 10.12.4 or later. You may manually remove that kext if present.  To create this custom kext, run this procedure script:

 

  • 
    cd ~/Downloads/Lenovo-T420-CloverYYYY.MM.DD/Utilities/Create_AppleBacklightInjector_kext/
    sudo ./createAppleBacklightInjector.command

     

 

Post Installation - Known Issues and Random Tips:
 

  • GFX distortion/stretching: See Step 2.4 - sometimes DualLink is not set right for 1600x900 LCD. 
  • WIFI: The stock Intel WiFi will not work. The common approach is use a modded BIOS 1.46 (or later) and replace the WiFi with a Broadcom or Atheros chip. 
  • Bluetooth: Enable (turn on and leave on) Bluetooth so the green light is showing on the LCD bezel (do from Windows or Ubuntu).
    • Also make sure the side switch is set to green too!
  • Note: Bluetooth seems to have some issues in High Sierra (early version)
    • the workaround seems to be turning off BT before sleep.
    • This process can be automated by installing the Sleepwatcher tools - which handles the sleep/wake scenario.
    • Optionally one can install "Clover" scripts which turn on/off all networks during shutdown via LoginHook and LogoutHook. The are scripts to re-enable all networks up login or during boot up. Go the Utility Folder in the zip and run these command:
    
    ./install_tools.command
    ./install_sleepwatcher.command
    ./install_clover_scripts.command
  • "Black" Screen - hit "Pause" (or FN Home) key to increase LCD brightness
    • sometimes the saved value in the nvram is out of sync or zero so LCD seems to be off.
       
  • If still on HFS+ formatted HD vs APFS, Clover may present 2 options for main OS partition if using Logical Volume vs Standard Volume. You can revert the logical volume, so Clover will not get confused and present duplicate options.
    • Just "revert" using:
    
    sudo diskutil corestorage revert /
  • Audio: When using external headphones or speakers, may need to plug and unplug 1 or 2 times for recognition.
  • Fixed: iMessage/Messages/FaceTime may not register without overriding the Clover generated values for ROM and MLB values. Search thread for ROM to get more info. Otherwise define and inject using RtVariables -- see wiki for details - there are placeholders in the config.plist
  • Fixed: TrackPoint may not be responsive on startup (very random occurrence anymore) - a sleep/wake cycle should revive it.
  • Fixed: With WhateverGreen or ACPIBacklight.kext installed, boot with lid open or LCD will be black when you open it.
  • Fixed: Not needed anymore: Add boot option darkwake=0 if you would like to disable power nap - and have the lid wake the gfx instead of hitting extra key.
     
  • Suggested settings if you don't want or use hibernation:
  • 
    sudo pmset -a hibernatemode 0
    rm /var/vm/sleepimage
  • Hibernation - Use OsxAptioFix2Drv-64.efi instead of OsxAptioFixDrv-64.efi UEFI driver for restart from hibernation. (Have not tested this in a long time). For hibernation, then set hibernate mode to 7 (mode 7 is like mode 3 but without encryption) - may need to manually edit this value into the plist file now. Note: Booting up from the hibernated image may have jumbled or blank LCD until you do a sleep/wake cycle to reset the LCD.
  • 
    sudo pmset -a hibernatemode 7
  • OBSOLETE: After installing the kexts to /L/E, sometimes the symbolic link to the actual binary file referenced in AppleHDA_20672.kext is not right. Fix this link by running this script:
    • cd /Library/Extensions/AppleHDA_20672.kext/Contents/ MacOS
      sudo rm AppleHDAsudo ln -s /System/Library/ Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA
      sudo touch /System/Library/Extensions

 

Notes on Custom Kexts

  • FakeSMC.kext  
    - Core hack mechanism. Using Kozlek's version + plugins + custom FakeSMC Info.plist
    - 2 Custom SMC keys are added to Kozlec's standard FakeSMC
    - FNum (to find the Fan) and ACID (for AC power and eliminate powerd syslog messages every 30 seconds).
    - A Custom package is included in the Utilities folder so you can install HWMonitor.app - it just selects these 2 Plugins Sensors: ACPI and CPU.

     
  • Lilu.kext  - by acidanthera - for use with certain kexts such as AppleALC, NightShift, WhateverGreen
  • AppleALC.kext - by acidanthera - Keep original/unmodified AppleHDA.kext in /S/L/E and use this kext to add full audio support for CX20672/CX20590.

    There are 2 layout-id profiles:
    (1) ID 14 for normal laptop ports
    and
    (2) ID 13 which adds the audio ports on the Docking Station. Thanks to
     Manwe150's fix/additions for dock ports.

    The "dock" version adds the second channel output called "Headphones" and a second Input which shows up as either "Line In or Built-in Microphone" - these ports are physically on the Docking Station itself.
    IF you have a dock and want to use the extra ports, then set/inject Audio ID 13 in the Clover config.plist - IF you DO NOT have a dock, then use everything as is (and not be confused by the extra Input/Output options!!!)

     
  • WhateverGreen.kext - by acidanthera - for Graphics and Backlight patching
     
  • ACPIBatteryManager.kext - by RehabMan - show/track battery info on menu bar - Note: most Info.plist items are set to False instead of True
  • Bluetooth_Injector_T420.kext - adds ProductID 8575 to make BT work better (provides on/off capability).
  • IntelMausiEthernet.kext - Mieze's Intel LAN kext that supports TSO, EEE and other features. Put this kext in /Library/ Extensions and remove or disable AppleIntelE1000e.kext
  • IOAHCIBlockStorageInjector.kext - configured to make just the DVD device appear internal so iDVD player works.
  • USBInjectAll.kext - helps with USB properties
  • VoodooPS2Controller.kext (v1.9.2) - RehabMans's PS2 Keyboard/TouchPad/TrackPoint
    • SSDT are used to modify options instead - and can be used to setup alternate FN/key maps.
    • keyboard mappings have 3 or 4 finger swipe left/right to back/forward configured for Safari browser vs space swipe

 

       Obsolete:

  • AppleBackLightInjector.kext - RehabMan's Injector method - modified for Lenovo T420 to incrementally scale brightness in 17 levels from 0 to 4882 (0x1312). Note: The template file has 2 models: T420 and T460. To create a customer Injector, run the Utilities createAppleBacklightInjector script to create a custom Panel definition specific to your LCD. It will put the new injector in the kexts/Other folder. Install it along other kexts with _kext_install.bash script. cd ~/Downloads/Lenovo-T420-Clover-YYYY.MM.DD/ Utilities/Create_AppleBacklightInjector_kext/sudo ./ createAppleBacklightInjector.command
  • AppleIntelE1000e.kext (v2.4.14) - Ethernet (gigE) - can go in /System/ Library/Extensions vs Plugins so OSX re-installations or patch updates will not delete it. IntelBacklight.kext (v1.0.10) - RehabMan's kext for smoother/enhanced LCD backlight (dimming) control. In 10.12.4 (or later) this kext does communicate with Brightness keys or System Preferences Display Slider. So remove this kext unless on a version older (less) than 10.12.4
  • AppleHDA_20672.kext (v999.99) Keep original/unmodified AppleHDA.kext and add this kext to /L/E for full audio support for CX20672 (same as CX20590). Note: requires matching DSDT sections for Conexant Codec and layoutID 12. and Kext Patch via Clover. Also has Manwe150's fix/additions for dock ports. Credit and thanks to vladichimescu. There are 2 files in AppleHDA_20672.kext/Contents/Resources Platforms.xml.zlib.dock and Platforms.xml.zlib.nodock The "dock" version adds the second audio output called "Headphones" and a second Input "Line In" - both of which are on the Docking Station itself. • - IF you have a dock and want to use these ports - then just replace the Platforms.xml.zlib file with Platforms.xml.zlib.dock • - IF you DO NOT have a dock, then use the new kext as is! (and not be confused by the extra Input/Output options!!!)

 

General Notes, Fixes, and Features

Installing Clover from the .pkg file:
If you would like to run the included installer package, Clover_v2.5k_rxxxx.pkg, to install the related tools and latest bits into the OS and ESP of this HD, there is an installer package in the Utilities directory.

Select (check box) at least first 2 items! This picture shows a good set of overall options:

 post-954945-0-14884400-1482885050_thumb.png

After you close the pkg installer, then follow these step to replace the ESP with the zip contents (step 4 above)

  • There are extra Clover configuration files (config.plist) that use the custom DSDT and WITH extra Clover patching for EDID
    • Certain config files inject an alternate EDID - rather than the default/built-in EDID for your LCD. These EDID were extracted and corrected (set to RGB only mode etc) from other LCD vendors such as LGD that seem to work better than the common/inferior standard from AUO. Historically, these fix problems such as white screen, glitches, and ring buffer hangs. 

      • config.EDID-2e2.plist
      • config.EDID-2e3.plist
      • config.EDID-366.plist
    • One should start with config.plist 

      if there are freezes or glitches, then try config.EDID-2e2 or EDID-2e3

      Note: The Model should be set to MacBookPro8,1 to get proper Graphics patching - DP/HDMI/DVI/VGA FrameBuffers

      • config.patchDSDT.plist - does some patching.
      • config.plist (default) - only fixes regions 
    • Some folks were seeing problems when Clover was asked to patch the DSDT - most of the patching was redundant with the provided DSDT. So there are 2 generic versions - (1) does a number of patches to patch the built-in DSDT (i.e. when you don't provide one) and (2) a config.plist that does almost nothing to patch the DSDT. Over the years - way before the current SSDT/hot-patch approach was devised - manual edits were made to the DSDT.

  • Clover does dynamic patching
    • Patch for AppleIntelSNBGraphicsFB.kext - The included patch replaces the 4th port/buffer (DVI on dock) with VGA on left side. The 4 ports after patch are: LCD, DisplayPort on side, DisplayPort on dock, VGA on side. If you need DVI on the dock - then disable this patch! Or modify the edit scheme to change the 2nd or 3rd port (DP) to be the DVI if still want the VGA port.
    • Patch for IOAHCIBlockStorage.kext - adds SSD TRIM function for a 3rd Party SSD - one can use the "trimforce" command now
    • Patch for SATA ultra bay
    • Note: Lilu+AppleALC will patch AppleHDA.kext for audio codec Conexant 20590/20672 chipset
  • The Zip includes Clover files and custom kexts with kext install script: _kextinstall.command (but this is not really needed anymore)
  • Gfx parameter files in Displays/Overrides offer more natural color gamma curves and screen options
  • Newer Thinkpad theme - adds macOS Icons that may not be in the standard clover installer.
  • Special keys on laptop (not USB or Bluetooth keyboard) without keymap remap SSDT : 
    • FN keys
    • LCD Brightness are controlled by these 2 button pairs to change brightness up/down: Fn+Home/End or ScrLck/Pause
    • Audio Levels: The 3 buttons above F1-F3 control volume (except mic mute)
    • Insert key is the CD/DVD eject.
    • Blue ThinkVantage button - toggles fan to highest speed.
    • The Alt key is the Mac Command key and Microsoft flag key is the Mac Option key.
    • Fn+PgUp - turns on the light!
       

DSDT Notes

  • Some of the DSDT tweaks (beyond manwe150's original version) are listed here.
  • DSDT includes source and binary
  • The "EDID" versions of DSDT.aml be use override removes infamous HD 3000 glitches and buffer hangs or so-called artifacts for 1600x.900 LCD.
  • Added MaxBeepBootVolume to DSDT to rid AppleHDA assertion on startup
  • Shutdown fixes in DSDT _PTS and _WAK (thanks to TimeWalker75, RehabMan and Manwe150)
  • Change/fixes to reset LEDs for proper sleep/wake status
  • Battery fixes to use native/current ACPIPlatform.kext with Rehabman's ACPIBatteryManager.kext - no need to rollback or patch AppleACPIPlatform.kext anymore.
  • PNLF additions from RehabMan provide smoother/wider LCD backlight control with IntelBacklight.kext
  • DSDT mods to KBD device - renamed to PS2K and added LENOVO OEM-ids for VoodooPS2Controller to use.
  • The PS2 Keyboard is identified as id LENOVO table-id T420 which will pickup the custom VoodooPS2Controller settings.
  • For El Capitan+, removed the _PRW method from some of the devices in the DSDT


DSDT for "heat-step" (DSDT.heat-step.aml) has a modified method to incrementally control the fan speed vs automatically by BIOS.

Follow the installation recipe to use this approach:

  1. copy/replace the default DSDT.aml file with the DSDT.heat-step.aml file in the ESP (cp DSDT.heat-step.aml patched/DSDT.aml)
  2. make sure the ACPIPoller.kext is in use (move from Misc to Other folder) to active the method - changes fan speed vs CPU temperature.
  3. reboot

For Example:


mkdir /Volumes/ESP
sudo mount -t msdos /dev/disk0s1 /Volumes/ESP
cp -a /Volumes/ESP/EFI/CLOVER/ACPI/DSDT.heatstep.aml /Volumes/ESP/EFI/CLOVER/ACPI/patched/DSDT.aml
cp -a /Volumes/ESP/EFI/CLOVER/ACPI/kexts/Misc/ACPIPoller.kext /Volumes/ESP/EFI/CLOVER/kexts/Other/

 

  • Scripts and tools will be put in /usr/local/bin.
  • A directory ~/Library/ssdtPRGen will be created with other related data

  • Script creates P and C states to match system CPU. One can hand-edit to modify values for lower power consumption.

  • Copy ssdt.aml to your ESP ACPI/patched folder: /Volumes/ESP/EFI/CLOVER/ACPI/patched

Hi. I see at the bottom of this it says edited for Mojave and Catalina. I've got Mojave running almost perfect on a ssd but i can't get past 4 minutes remaining on the grey apple logo for catalina. Upon rebooting, it says system rebooting due to kernel panic. No clue what to do so any help would be hugely appreciated.

 

https://mega.nz/#!Depn0Zxa!brWJlMeaWKmks8cXfAwNgYJtvhyT1t4qje3oXOw5QQk

 

That is my current EFI folder from my usb installer. My T420 is running on i5 2520m, 8GB RAM, intel hd3000 graphics, motherboard is 42369P7 and modified bios 1.52

20200313_131054.jpg

Link to comment
Share on other sites

I'm so sorry about the posts, I clearly didn't read properly. I have now noticed the dosdude patcher for catalina. Hopefully with the files provided, should now be able to boot Catalina. Sorry for being such a noob

20200313_163016.jpg

Link to comment
Share on other sites

Someone please help me, I feel like I'm going insane.

I made the dosdude1 catalina usb, using latest clover files that are here in this chat. Changed smbios to macbook pro 8.1 and using config.plist as patched DSDT doesn't seem to boot. And every time I get kernel panics with 4 minutes remaining. I see others here have successfully installed it without the issues I'm having. 

Link to comment
Share on other sites

From your uploaded EFI Folder, you are running as MBP 9,2.

That setting may work - or not.

Best use the attached config.plist instead in EFI/EFI/Clover.

Other than that, use tluck´s latest Clover package from GitHub. Do not mess with any settings,

tluck´s Clover package does work for a lot of us without issues.

Replace the config.plist if need should be.

 

Maybe also try another USB stick, when anything else won´t help.

 

config.plist.zip

 

Edited by goodguess
  • Thanks 1
Link to comment
Share on other sites

On 3/13/2020 at 12:44 PM, Sicole1811 said:

Someone please help me, I feel like I'm going insane.

I made the dosdude1 catalina usb, using latest clover files that are here in this chat. Changed smbios to macbook pro 8.1 and using config.plist as patched DSDT doesn't seem to boot. And every time I get kernel panics with 4 minutes remaining. I see others here have successfully installed it without the issues I'm having. 

i dont know what is going on with your situation.

 

i just tested the EFI package with Catalina 10.15.3 - no issues.

 

1) download Catalina installer from apple store

2) down dosdude1 tools

3) make dosdude1 USB installer on 16GB drive

4) mount the ESP on the USB and copy the T420 repo EFI to the USB ESP.

5) booted from USB and installed onto HD

6) do installation (took about 40 minutes on my HD)

 

 seems like it automatically put all post-install stuff in place so it boot just fine without having to boot up and do the post-install stuff

  • Thanks 1
Link to comment
Share on other sites

Thank you both for replying and I'm sorry for the posts. I'll redownload Catalina tomorrow morning and make another dosdude1 installer. I managed High Sierra with this guide with no issues and the same with Mojave too. Catalina massive headache :( hopefully ill get it running tomorrow. Again, thank you both for replying 

Just before I go to sleep. Incase I get another kernel panic, how do I retrieve the log for it please? Thank you 

Link to comment
Share on other sites

@goodguess thank you so much, using the config.plist you provided has gotten me this far with no panics yet, first time of trying too. 

 

@tluck thank you, I did do those steps. This time I did another full download of Catalina. With the help of yourself and goodguess, I've had no panic on installation. Put necessary kexts in other folder too. 

 

Let's see how it performs.

20200317_104708.jpg

Link to comment
Share on other sites

Booted and it's running good so far. Thank you.

I have the atheros installer here for the atheros 9285 wifi. But it's not working. Any idea how to fix it please. I have AirPortAtheros40 and IO80211Family kexts in other folder but still doesn't work.

Link to comment
Share on other sites

Good to know you got Catalina running!

No idea about Atheros WiFi, swapped all my mPCIe cards for Broadcom (Dell DW1510) cards.

I was under the impression that Dosdude1 patcher would handle the compatible Atheros WiFi cards, but can´t tell from experience.

Link to comment
Share on other sites

Dosdude1 patcher has Broadcom wifi patches and legacy wifi patches but none of the legacy ones have any atheros kexts. On page 190 on this forum, theres a link to the atheros installer that says it works on Catalina as long SIP is disabled. Aaah maybe that's where I'm going wrong. I mounted the system read/write via terminal and added the atheros kexts using kext Utility. It finishes but fails to update kernel cache. Probably down to SIP not being disabled. Is it 0x03FF?

Link to comment
Share on other sites

On my side KextUtility did always renew cashes by default, afaik.

Are you using version 2.6.6 too?

SIP has custom settings on my side in Mojave all the time - omg, severe danger! ;)

 

Mojave.png.b835e6930f7b45c391e824b740995afe.png

 

Still prefer Mojave, as you may have guessed.

Edited by goodguess
Link to comment
Share on other sites

On Mojave and High Sierra it did renew caches no problem. I'm not sure which version of kext Utility I'm using, shall let you know when I get home in 30 or so minutes.

I have Mojave backed up on my SSD via Carbon Copy and its bloody fast. Just want wifi working so I can give Catalina a good run before making a decision on whether to put Catalina on the SSD too 

Link to comment
Share on other sites

@Sicole1811 glad you got past the KPs to get Catalina installed.

 

what is the error on kext cache rebuild?

 

SIP is set properly to ignore kext signature issues.

make sure you have the physical button on right side ON to allow WiFi.

 

you will not need kextutility - just leave all the T420 kexts in the ESP.

Note: Dosdude1 tools will put his patched kexts in /Library/Extensions

 

dosdude1 tools can install Atheros support (Legacy WiFi) . run the dosdude1 Patch Updater tool and see what is installed:

1357860235_ScreenShot2020-03-17at8_28_39AM.png.b7a43608436c6ece3f8a6ee1982e9ba8.png

 

 

goodguess' config.plist and my config.EDID-2e2.plist pretty much indentical. which is the recommended EDID to use.

his DualLink setting is in a different location. and i added support for 10.15 for some kext patches.

tluck@Toms-MBP16 ~/Downloads

$ diff config.plist /opt/Extra/OSX-build/Systems/T420/Lenovo-T420-Clover/EFI/CLOVER/config.EDID-2e2.plist

211a212

> <string>EmuVariableUefi</string>

259a261,262

> <key>DualLink</key>

> <integer>1</integer>

273,274d275

< <key>DualLink</key>

< <integer>1</integer>

334c335

< <string>10.13.x,10.14.x</string>

---

> <string>10.13.x,10.14.x,10.15.x</string>

352c353

< <string>10.13.x,10.14.x</string>

---

> <string>10.13.x,10.14.x,10.15.x</string>

Link to comment
Share on other sites

@tluck 

That's what I get when I use kext Utility. 

I have those kexts inside EFI/Clover/Other, on the load screen I see them getting injected but when I use kext wizard and I select loaded, none of those kexts show up as loaded.

 

Also I'm not able to check for updates for the patcher due to no internet, ethernet is not working, well it does, but says self assigned ip.

 

Also where is this physical button that's on the right side to allow wifi? 

20200317_160457.jpg

Link to comment
Share on other sites

Please note that all config.plist stuff is from tluck alone.

I just wanted to suggest using the dual link config.plist (if need should be), as some LG displays do need it too.

 

The WiFi switch is on the right of the T420, just a bit left of the stock SD Card reader.

(Sorry for the mediocre picture.)

Note the green color left of the switch. :)

 

800046156_P1080721(1).thumb.jpg.a1a2a8818d8992b8619785691cbad822.jpg

Edited by goodguess
Link to comment
Share on other sites

2 hours ago, Sicole1811 said:

@tluck 

That's what I get when I use kext Utility. 

I have those kexts inside EFI/Clover/Other, on the load screen I see them getting injected but when I use kext wizard and I select loaded, none of those kexts show up as loaded.

 

Also I'm not able to check for updates for the patcher due to no internet, ethernet is not working, well it does, but says self assigned ip.

 

Also where is this physical button that's on the right side to allow wifi? 

 

I never use Kextutilty. i recommend you forget it.

 

 

do you have an ethernet cable? that should work.

 

in terms of kexts:

1) Use the dosdude1 patcher utility to install extra kexts - it will put the kext you need in place (in /Library/Extensions)

or

2) boot up your dosdude1 USB installer and use post-install to install stuff for MBP8,1

 

and only in emergency:

3) use the terminal to manually copy any extra ones (but not sure what you need if you use dosdude1) to /Library/Extensions (not /S/L/E - reserved for Apple only) - make sure change perms - or use you can use my _kextinstall.bash script

 for example:
sudo cp -r my.kext /Library/Extensions

sudo chown -R root:wheel /Library/Extensions/my.kext

sudo chmod -R go-w /Library/Extensions/my.kext

 

 

 


  
    
 

Link to comment
Share on other sites

@tluck

 

Ok I'll leave kext Utility.

Yes I have an ethernet cable but it says self assigned ip.

 

I'll do the dosdude1 patcher now, I did it after install but didn't select legacy wifi due to thinking it didn't have Atheros kexts, but looked inside and it does. 

 

I was only using kext Utility due to my SSD not being recognized on Catalina. It was the same on Mojave too but I used KU to install appleAHCIport.kext to get it working. 

Link to comment
Share on other sites

3 hours ago, Sicole1811 said:

Re done the dosdude1 patcher and selected legacy wifi, rebooted and those kexts from it are still not loading 

 

1) gunzip the tool i attached - dspci - an run it. it will list your pci devices. for example in red are my 2 network devices.

 

$ dspci

Using PCI.IDs 2020.03.17

00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0104] (rev 09) (subsys 17aa:21ce)

00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09) (subsys 106b:21ce)

00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04) (subsys 17aa:21ce)

00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection (Lewisville) [8086:1502] (rev 04) (subsys 17aa:21ce)

...

03:00.0 Network controller [0280]: Qualcomm Atheros AR928X Wireless Network Adapter (PCI-Express) [168c:002a] (rev 01) (subsys 1a3b:1081)

0d:00.0 System peripheral [0880]: Ricoh Co Ltd PCIe SDXC/MMC Host Controller [1180:e823] (rev 05) (subsys 17aa:21ce)

0d:00.3 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C832 PCIe IEEE 1394 Controller [1180:e832] (rev 04) (subsys 17aa:21ce)

 

2) can you run this to see what non-apple kexts are loaded.

 

kextstat |grep -v apple| sed -e's/  */ /g'|cut -d" " -f 7,8|sort

 

dspci.gz

Link to comment
Share on other sites

Not able to run dspci. Terminal says permission denied. My e and d buttons don't work so typing out that command was hard work. Got near the end and I got a kernel panic. Third one I've had in the space of 30 minutes 

Link to comment
Share on other sites

4 hours ago, Sicole1811 said:

Not able to run dspci. Terminal says permission denied. My e and d buttons don't work so typing out that command was hard work. Got near the end and I got a kernel panic. Third one I've had in the space of 30 minutes 

after you unzip the file, make it executable by: 

chmod +x dspci

 

what was the KP from?

Link to comment
Share on other sites

 Share

×
×
  • Create New...