Jump to content
tluck

[GUIDE] Lenovo T460 macOS with Clover

788 posts in this topic

Recommended Posts

Lenovo T460 macOS with Clover Guide

  • Latest Release on GitHub
    • Updated to Clover r4861
    • Updated Kexts
    • Shift to use WhatEvergreen.kext
    • SSDT updates for T460
    • Added Frank's T470p DSDT files
    • Added T470 DSDT
    • Remove kextunload/kextload in /etc/rc.sleep and /etc/rc.wake to avoid KP on sleep
       
  • Various Tweaks over Last months
 
  • Release v2018.06.05 on GitHub
    • Updated to Clover r4513
    • Updated Lilu.kext - supports both Sierra and High Sierra
    • Updated AppleALC.kext - supports both Sierra and High Sierra + added back DVMT patch for 10.13.2+
    • Updated VoodooPS2Controller.kext (RehabMan version) + SSDT updates for T460
    • Added Frank's T470p DSDT files
  • Release v2018.05.17 on GitHub
    • Updated to Clover r4458
    • Updated Lilu.kext - supports both Sierra and High Sierra
    • Updated AppleALC.kext - supports both Sierra and High Sierra + added back DVMT patch for 10.13.2+
    • Updated VoodooPS2Controller.kext (RehabMan version) + SSDT updates for T460
    • Added Frank's T470p DSDT files
  • Release v2018.04.04 on GitHub
    • Updated to Clover r4424
    • Updated apfs.efi - patched 10.13.4 version
    • Updated Lilu and AppleALC kexts - supports both Sierra and High Sierra)
  • Release v2018.01.28 on GitHub
    • Updated to Clover r4394
    • Updated apfs.efi to patched 10.13.3 version
    • Updated Lilu and AppleALC kexts to v1.2.3 (supports both Sierra and High Sierra)
    • Revised misc kexts (FakeSMC) 
  • Release v2017.11.05 on GitHub
    • Updated Clover to r4293
    • Updated Lilu and AppleALC kexts to v1.2.1 (for Sierra and High Sierra)
  • Release v2017.10.15 on GitHubRelease v2017.09.20 on GitHubRelease v2017.09.02 on GitHub
    • Updated Clover to r4247
    • Updated FakeSMC kext (merged slices's FakeSMC keys)
    • Updated ACPIBatteryManager kext to latest
    • Revised Utility and Clover scripts installer
    • Updated to Clover r4212
    • Updated Lilu and AppleALC kexts to v1.2 (for Sierra and High Sierra)
    • Updated USBInjectAll kext
    • Updated to Clover r4189
    • Updated AppleALC and Lilu kext
    • Updated VoodooPS2Controller kext
    • Updated ACPIBatteryManager kext
    • Updated misc scripts for 10.13
    • Updated Theme for High Sierra
    • Update install_nvram_save script in Utility folder
  • Release v2017.07.31 on GitHub
    • Updated to Clover r4129
    • Updated Theme for High Sierra
    • Updated Lilu and AppleALC for High Sierra
  • Release v2017.05.28 on GitHub
    • Updated to Clover r4078
    • Updated SSDT-XHC for Sierra method for USB power and current
    • Updates on misc scripts for esp mount and esp cleanup
    • Updated AppleALC and Lilu (1.1.2b) - revised patching to use the RehabMan's patch frame buffer method vs patch assertion for DVMT 32MB
    • Updated BrcmPatchRAM2.kext - increase sleep times for better BT recovery after wakeup from sleep

    • Config.plist - remove GFX properties - let Clover inject them

    • revised NVRAM script (1.16.5) + GFX fixes
    • Updated IntelMausiEthernet.kext Info.plist to enable TSO
    • Updated VoodooPS2Trackpad.kext Info.plist for TrackPad changed bogus move threshold = 100
  • Release v2017.04.25 on GitHub:
    • Updated to Clover 4063
    • Updated AppleALC (1.1.2a) - this kext does all the patching of SKLGraphicsFramebuffer and AppleHDA kexts - no GFX FakeID needed anymore
    • Updated Lilu.kext (1.1.0)
    • Added config.patchSKL.plist and config.noSKL.plist (to patch SKL FB and AppleHDA via Clover - the old way)
    • Converted the .bash scripts to .command script to be runnable from Finder
    • Added extra tools and scripts in the Utilities folder - patchmatic, iasl, skylakeFB patch/unpatch scripts
    • Cleaned up stuff for GitHub
  • Tweaks for config.plist
  • Updated FakeSMC.kext and HWMonitor pkg - see Utilities folder for full installation tool.
  • Updated VoodooPS2Trackpad kext Info.plist - setting to ignore larger bogus jumps.
  • re-added SSDT-CPU for HWP feature
  • Updated "NVRAM save scripts" with installation script to use a LogoutHook for the launch method.
  • Added RehabMan's AppleBacklightInjector method for Backlight for 10.12.4 and removed IntelBackLight.kext from Other (now an optional kext)
  • Changed to model MacbookPro13,1 for HWP support with syscl's X86Platform injector and SSDT in support of HWP 
  • Switched Audio to use AppleALC.kext instead of AppleHDA_ALC293/CodecCommander
  • Added revised rc.boot and rc.shutdown scripts by syscl/tluck that seem to save nvram.plist to ESP more reliably.
  • Updated Audio - added LineOut for Dock and ambient noise for external Mic input. - reduced Boost levels - thanks to syscl who figured HDMI out.
  • Updated CodecCommander - seems to help after wake.
  • USB - updated SSDT-XHC-T460 - added internal HS09 device for fingerprint reader
  • Added EDID patch scripts to force RGB mode in Utilities directory - gets rid of menu color glitches
  • Updated sleepwatcher scripts to deal with ethernet and wifi on sleep/wakeRevised VoodooPS2Controller kext - based on Jakibaki's work for middle button cut/paste + TrackPoint Scroll.
  • Changed layout id for Audio to 28 - for AppleALC implementation
  • Updated VoodooPS2Controller.kext
    -- TrackPoint scroll with cut/paste
    -- adding T560 support by barrrrt
    -- which include Belyaev's Sierra TrackPad preference pane mods
    -- cap locks fix

The zip file is a complete Clover ESP (/EFI) bundle and kext pack for the Lenovo T460. The current file bundle is tested on Sierra. 

Note: I never got the GFX fully working on El Capitan. 

  • Full Clover file set - config.plist etc.
  • Includes all custom kexts
  • Includes custom DSDT/SSDT scripts and patches
  • Utility scripts

The zip bundles are posted to GitHub: https://github.com/tluck/Lenovo-T460-Clover/releases

Caveat: The T460 systems used here was configured with: i5-6300U, Intel HD Graphics 520, 1920x1080 touch screen. If you have a different system model, then extract the ACPI files and use the included scripts to create a set of files consistent with your system type and BIOS version. See below for details.

Credits: RehabMan, Shmilee, vusun123, TimeWalker, Mieze from which, much of their work and help is/was was used to get the T460 to this point.

Devices and aspects working:

  1. Ethernet -  Intel I219LM is enabled via IntelMausiEthernext.kext
  2. WiFi/BT - substitute the Intel WiFi/BT with a compatible Broadcom or Atheros chip
  3. Audio - ALC293 codec implemented via AppleALC.kext (old AppleHDA_ALC293 and CodecCommander kexts are not needed)
  4. PS2 - ClickPad + TrackPoint + all 3 buttons - using a modified VoodooPS2Controller to support new layouts - and added some custom Fn key maps based on 440/450 dsdt
  5. USB - implemented via custom SSDT + USBInjectAll kext. All USB3/USB2 ports are intel-based and work -  3 external USB and internal Camera, BT, etc 
  6. Sleep/Wake - the sleepwatcher package and custom sleep/wake scripts are used to help with sleep/wake for BT and PS2 devices.

Note: have not tried to implement the SD card reader - no driver found.

ACPI Files

 

 

If you have a T460, the ACPI files in zip should just "work" - at least to get the macOS installed. But in general it is best to make your own custom DSDT based on your system BIOS.  The ACPI (DSDT/SSDT) modifications are handled by combination of Clover on-the-fly patches, custom/direct patches to DSDT and the "hot-patch" method. Here are the key files:

  • DSDT- patched DSDT with included scripts. 
  • ssdt - (not included) and can be created for your CPU - will define C/P states via Pike's script ssdtPRGen.sh
  • SSDT-CPU - generic - for HWP support -  (no longer needed)  Clover 4016+ will generate SSDT with HWPEnabled and PStates true
     
  • SSDT-ARPT-T460 - Airport for Broadcom 4360 (if added)
  • SSDT-HACK-T460 - add misc functions for DSDT
  • SSDT-HDEF-T460 - fix/define Audio for ALC293 codec with layout ID 28 - linked to AppleALC.kext (or optional AppleHDA_ALC293.kext)
  • SSDT-IGPU-T460 - fix/define GFX for Intel HD 520 device 1916 (not really needed - since we inject graphics via clover as 4063)
  • SSDT-LPC-T460 - add/fix/define LPC device
  • SSDT-PNLF-T460 - add LCD/Panel
  • SSDT-PS2K-T460 - fix/define/add T460 defines keyboard and ClickPad/TrackPoint - linked to VoodooPS2Controller.kext
  • SSDT-SMBUS-T460 - add/fix/define SMBUS device
  • SDT-XHC-T460 - fix/define/add internal and external USB ports by custom UIAC device - linked to USBInjectAll.kext
  • SSDT-XOSI - generic - to set OS type

 

The (sample) custom DSDT in the zip is extracted from a T460 on BIOS v1.22.  

In the DSDT.T460 directory, there are the samples and scripts to create your own custom DSDT. The DSDT in the zip may work but its best to just match your system. The create_patch_DSDT.bash script will create a patched DSDT starting from the original ACPI files located the ACPI-Tables folder. The final DSDT is patched via patchmatic using the files in patch-files folder.  Follow these steps:

 

  1. Download and expand (extract) the contents from the Latest Release (zip file). 
     
  2. Copy the Utilities files into /usr/local/bin  The key files needed here are patchmatic, iasl, and espmount.bash
    Note: I assume the directory /usr/local/bin exists and is in your environment variable PATH
    
    cd ~/Downloads/Lenovo-T460-Clover-YYYY.MM.DD/Utilities/
    sudo ./install_tools.command
  3. Extract ACPI files.
    Start by extracting your original ACPI files by hitting F4 after you boot up with Clover. It will save the files to EFI/CLOVER/ACPI/origin. Note: this origin folder needs to exist.
     
  4. Copy the newly created ACPI files from the HD ESP to your working folder
    Copy the original .aml files from the origin directory - just the ones with names starting with DSDT and SSDT - from the ESP to a directory called DSDT.T460/ACPI-Tables ( which is part of the expanded zip file).

    Note: To mount the main system ESP, run this command which was installed with the tools in step 1.
    
    /usr/local/bin/espmount.bash 0
  5. Create your own patched DSDT.
    Using the original copied to the ACPI-Tables directory as the source, create a custom patched DSDT.dsl by:
    
    cd ~/Downloads/Lenovo-T460-Clover-YYYY.MM.DD/DSDT.T460
    ./create_patched_DSDT.command
  6. Install the new custom ACPI files into the ESP
    Now there is a new custom DSDT.dsl along with some other .dsl files in this same directory as the result of the patching script. To compile and install this newly create patched DSDT.dsl along with the other SSDT*.dsl files into the ESP, run this script below. It will mount the system disk partition disk0s1 (the ESP) on /Volumes/ESP, compile all the *.dsl files, and then copy them all to /Volumes/ESP/EFI/CLOVER/ACPI/patched location
    
    ./install_ACPI_to_ESP.command

 

New Installation - Steps and Details

 

BIOS settings:

  • Update to latest BIOS
  • Use Defaults settings, but check these items:
  • Set Security / Memory Protection / Execution Prevention = Enabled
  • Disable Secure Boot

Terms:

GPT = GUID Partition Table
MBR = Master Boot Record
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

 

 

 
This procedure is for a new macOS installation using a USB Installer. If you are upgrading from an older working version of OS X (say El Capitan) already on your HD, 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. Download and expand (extract) the zip file contents from the GitHub Lenovo T460 Clover Latest Release.
    This same file set will be installed on the USB and the HD for UEFI boot.
     
  2. Download macOS from the App Store - they are freely available
    We build a macOS USB installer with the standard macOS installer app downloaded from the "App Store".
     
  3. Install macOS to a GPT formatted disk using the standard Install macOS.app downloaded from the Apple Store.

Create macOS USB installer

  1. Partition an 8GB (or larger) USB formatted with GUID Partition Table (GPT)
    - In Sierra, use the Erase option to change from MBR to GPT/GUID scheme.
    - Name the new partition USB. The install process will rename it, but this matches the script below.
    - Use format: macOS Extended (Journaled)
    Note: if you have a larger USB (say 16GB) you can split into 2 8GB partitions, so you can have 10.12 and 10.11 installers on the same USB key 
     
  2. Run this command to copy the downloaded bits to the USB key: 
    
    sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ Sierra.app --nointeraction

Put Clover installation on USB

  1. Install Clover on the USB
    a ) Manually mount the ESP of the USB and copy the entire EFI directory.
    b ) If not done already, expand the downloaded Zip to ~/Downloads/Lenovo-T460-Clover-YYYY.MM.DD (this set is called the Zip below)
    c ) Copy the EFI directory to the ESP directory of the USB

    For example, assuming the USB is disk1:
    
    sudo mkdir /Volumes/ESP-USB
    sudo mount -t msdos /dev/disk1s1       /Volumes/ESP-USB
    cp -a ~/Downloads/Lenovo-T460-Clover-YYYY.MM.DD/EFI/ /Volumes/ESP-USB/EFI
    Note: run "diskutil list" on the command line to find your USB and HD disk devices
 

    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.
    Make them both macOS Extended (Journaled) to keep a PMBR vs MBR.
    Size the 2 partitions appropriately - but later you will delete/reformat the 2nd partition for Windows. I recommend gpt which can make an NTFS partition without converting the PBMR.
         
  2. For a T560: Set up the ACPI configuration files to match your model.  

    go to /Volumes/ESP-USB/EFI/CLOVER
    Rename  ACPI to ACPI.T460
    Rename ACPI.T560 to ACPI

Boot Clover from USB Installer and select Install macOS

  1. Boot from the USB and install macOS on your GPT disk partition. (Hit F12 to select USB drive)

    Make sure the HD/SSD drive is formatted using:
        Scheme: GUID Partition Map (GPT),
        Partition Name: macOS,
        Format: mac OS Extended (Journaled)

    Note: *should NOT be needed* but If you get a KP from AppleIntelSKLGraphicsFramebuffer, then use the Clover Options Menu and to select the alternate configuration file: config.noSKL.plist. This injects a bogus graphics device ID 0x12345678.
     
  2. Click through GUI 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”
               And set up the network later after installation the NIC driver kext.
               Your Intel WiFi will not work. Period. 

 

Part 2- Post OS Installation and Setup

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

    Note: *should NOT be needed* but if you get a KP from AppleIntelSKLGraphicsFramebuffer, then use the Clover Options Menu and select config.noSKL.plist. See step 7 below to fix this problem. AppleALC.kext + Lilu.kext will patch the Graphics Framebuffer to avoid a DVMT check KP.

    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 convert the logical volume which will eliminate the abstraction and confusion.
     
  2. Complete the installation steps and login
    Note: This will boot up macOS with Clover injecting the custom kexts from the USB (for now). 
     
  3. Convert the Logical volume to Physical volume

    The full installer likes to make a logical volume. So for simplicity, I recommend one to revert the root volumes to a regular volume.

    In Terminal run: 
    
    sudo diskutil corestorage revert /
  4. Install Clover (ESP) on the HD
    Now the make the HD bootable with Clover. Transfer the Zip file contents to the new HD. Then use a similar process as used for the USB.  
    Note: I assume the Zip is in ~/Downloads/Lenovo-T460-Clover-YYYY.MM.DD/

    a ) NVRAM
    Since we are using Clover's EmuVariable method to simulate NVRAM, Clover looks for the file nvram.plist to get its persistent values - which is stored in the ESP now. Install the "root" utilities and clover scripts and files from Utilities folder to your HD. This step is important as it installs the "rc scripts" to save the nvram contents to a file upon reboot.

    Important: It will register your system to use a LogoutHook.
    
    cd ~/Downloads/Lenovo-T460-Clover-YYYY.MM.DD/Utilities/
    sudo ./install_clover_scripts.command
    b ) ESP
    The ESP contents on the HD are now to be made exactly like the ESP used for the USB installer above.  
    Mount the HD ESP and copy over the EFI items. You can follow the same procedure used for the USB installer.
    Note: If you previously installed Windows, be careful to not lose the EFI/Microsoft contents by following the procedure outlined below. 

    For example, assuming the main drive is disk0:
    
    sudo mkdir /Volumes/ESP
    sudo mount -t msdos /dev/disk0s1       /Volumes/ESP
    cp -a ~/Downloads/Lenovo-T460-Clover-YYYY.MM.DD/EFI/ /Volumes/ESP/EFI
    c ) Custom DSDT
    Using the procedure outlined above in the ACPI Files section, create and replace the custom DSDT in EFI/CLOVER/ACPI/patched
     
  5. Install Kexts onto the HD in /Library/Extensions

    a ) For 10.12.4+: Create a custom AppleBackLightInjector kext

    Note: This kext is not needed on the USB installer.

    Since this method replaces the IntelBacklight.kext (which is still included as an optional kext) - manually remove that kext if present. Now create a custom Backlight Injector that matches your LCD Panel. The script will update the kext in the ../../EFI/CLOVER/kexts/Other directory - which is the unzipped package location. Run this procedure script:

    
    cd ~/Downloads/Lenovo-T460-Clover-YYYY.MM.DD/Utilities/Create_AppleBacklightInjector_kext/
    sudo ./createAppleBacklightInjector.command

    b )  Install the kexts
    Install the custom kexts from the Zip kexts directory to the /Library/Extensions directory by running:

    
    cd ~/Downloads/Lenovo-T460-Clover-YYYY.MM.DD/EFI/CLOVER/kexts/
    ./_kext-install.command
  6. Ethernet Device Installation (Optional)
    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
  7. Remove the USB and Reboot with Clover from the HD

    Note: For this boot session, you may want to
    1- in Clover hit F3 to save the ACPI files
    and 
    2 - in Clover hit the spacebar on your boot volume selection (macOS) to set verbose mode to watch for any issues.

Notes on Custom Kexts

 

All the kexts listed below are contained in the zip file. The origin is listed below if you wish to download them as well. I recommend you use the _kext-install.command script to properly copy all kexts to the /Library/Extensions directory.
 

  • Audio/GFXAppleALC.kext (1.3.3) + Lilu.kext (1.2.7) kernel patcher
    - 2 layout options
    - If you have a Docking Station, you can use LayoutID 28 for HDMI, Speaker, Mic, Headphones, ExtMic + extra LineOut for Dock Out
    - or optionally use LayoutID 29 to remove the extra LineOut option if it is not wanted.

    Important:
    1. Requires matching SSDT-HDEF with layoutID=28 or 29. The AppleALC kext defines the patches for AppleHDA and AppleIntelSKLGraphicsFramebuffer.kex in lieu of Clover. This kext version has extra GFX Framebuffer patching for DVMT KP,  brightness levels, as compared to the AppleALC distribution on GitHub.

    2. Keep original/unmodified AppleHDA.kext in /S/L/E and add the AppleALC.kext and Lilu.kext to /Library/Extensions for full audio support (and critical patching)


Obsolete: Also included are the old alternate audio kexts in ALC293 directory: 
- AppleHDA_ALC293.kext (v9278.56) -  custom kext adapted from an ALC292.kext and based on 10.12.3 AppleHDA. This kext requires the HDA kext patching via Clover.
- CodecCommander_ALC293.kext  - TimeWalker's kext - with ALC293 added - OPTIONAL - used to resolve missing input/outputs or sleep/wake issues.

 

  • Keyboard/Mouse: VoodooPS2Controller.kext (v1.9.2) - RehabMans's PS2 Keyboard/TouchPad/TrackPoint (my branch has been merged in to master branch)
    • This version has T460 definitions in the SSDT-PS2K 
      see LENOVO T460 "override" settings. Change defaults to suite your needs.
    • VoodooPS2Controller keyboard mappings have 3 or 4 finger swipe left/right to back/forward configured for Safari browser
    • Note: If MouseMiddleScroll is set to true - TrackPoint scrolling with MiddleButton works better. 
       
  • OSFakeSMC.kext (v6.26.1443) - Core hack mechanism. Using Kozlek's version + plugins + custom FakeSMC Info.plist
    - 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.
    - Two 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).
     
  • Battery: ACPIBatteryManager.kext (v1.90.1) - RehabMan's kext to show/track battery info on menu bar
     
  • LCD: AppleBackLightInjector.kext (v0.9.3) - RehabMan's Injector method - modified for Lenovo T460 to incrementally scale brightness in 17 levels from 0 to 1000 - see matching kext patch for Framebuffer brightness - which changes the maximum backlight brightness level to 1000. Note: The template file has 2 models: T420 and T460 but can be expanded as needed. 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-T460-Clover-YYYY.MM.DD/Utilities/Create_AppleBacklightInjector_kext
    sudo ./createAppleBacklightInjector.command

Optional: 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
 

  • Ethernet: IntelMausiEthernet.kext (v.2.3.0) - Mieze's kext for Intel LAN that supports TSO, EEE and other features. 
     
  • USB: USBInjectAll.kext (v0.6.5) - RehabMan's kext -  See SSDT-XHC.dsl for related UIAC Device
     
  • CPU: X86PlatformPluginInjector.kext (v9.9.9) - based on syscl's injector for HWP properties. When using, MBP13,1 there is a custom property file for standard T460 CPUs:  i7-6600U 3400 MHz, i5-6300U 3000 Mhz, i5-6200U 2800 Mhz and i3-6100U 2300 Mhz.  This is the only kext that must be in /L/E since it uses a symbolic link to the standard version of this kext.


WiFi Replacement

These kexts and procedure are used with Broadcom WiFi/B. Replace the Intel WiFi with suitable supported card such as a BCM94352Z (Dell DW1560) with proper M.2 form-factor. To install the SleepWatcher scripts, which will help with WiFi on Sleep/Wake use this process to install the scripts into / of your HD


cd ~/Downloads/Lenovo-T460-Clover-YYYY.MM.DD/Utilities/
sudo ./install_sleepwatcher.command

Reboot and check that SleepWatcher is running via "ps -ef | grep sleep". 

Install these kexts for a Broadcom chip.

  • BrcmFirmwareRepo.kext (v2.2.7) - RehabMan's kext - to load firmware for Broadcom
  • BrcmPatchRAM2.kext  (v2.2.7) - based on RehabMan's kext, but modified to fix/change sleep/wake timings for T460.
  • FakePCIID.kext (v1.3.6)- RehabMan's kext
  • Fake_Broadcom_WiFi.kext (v1.3.6) - RehabMan's kext

 

 

Edited by tluck
Updates

Share this post


Link to post
Share on other sites
Advertisement

On the graphics, I don't think the DVMT is the problem, as most Skylake laptops with closed-off bios such as Dell and Acer also have 32MB DVMT-pre allocated memory and they still boot in just fine - only minor glitch on finder bar and gradient area, but that can be dealt with by using other display color profiles

Share this post


Link to post
Share on other sites

First off, EDID. Use MonInfo ( Windows ) and post the current EDID of your monitor ( in text format, save the raw numbers ). Then we will actually have something to work with. There are also cases of laptop display ( mainly Sony Vaio ) doesn't detect the right EDID, therefore it will get stuck or black screen with backlight on

Share this post


Link to post
Share on other sites

Hello,

 

Can you upgrade your guide with what is working or not?

 

Thank you

Everything will work except for:

1. Stock Intel Wireless Card ( replace with a BCM4352Z or Dell Wireless 1830A ( BCM4360Z )

2. Graphics ( currently bugged )

Share this post


Link to post
Share on other sites

@azerty076 - just posted a reply on another site. but i will update the GUIDE with my latest files etc. 

 

So quickly what works:

1) ethernet - IntelMausi kext
2) WiFi/BT - with BCM4352Z NGFF M.2 (aka Dell DW1560) - BrcmPatchRAM2 modified for to slow down firmware for USB wake.
3) Audio - ALC293 AppleHDA.kext
4) PS2 - Clickpad/Trackpad + TrackPoint + all 3 buttons - VoodooPS2Controller modified - F key maps
5) USB - custom SSDT + USBInjectAll kext mods. so all external USB3/USB2 ports and internal ports - Camera, BT work.
6) sleep/wake
 

have not messed with SD Card.

Edited by tluck

Share this post


Link to post
Share on other sites

@azerty076 - just posted a reply on another site. but i will update the GUIDE with my latest files etc. 

 

So quickly what works:

1) ethernet - IntelMausi kext

2) WiFi/BT - with Dell 1510 (BCM43252Z) - BrcmPatchRAM2 modified for to slow down firmware for USB wake.

3) Audio - ALC293 AppleHDA.kext

4) PS2 - Clickpad/Trackpad + TrackPoint + all 3 buttons - VoodooPS2Controller modified - F key maps

5) USB - custom SSDT + USBInjectAll kext mods. so all external USB3/USB2 ports and internal ports - Camera, BT work.

6) sleep/wake

7) GFX 2D - turn off IntelAccellerator.

have not messed with SD Card.

 

Hello,

 

I saw your message on the other site. It will be good if you can update this guide with the latest files ;) 

 

Otherwise, I think that i saw in the bios that we can configure the NVRAM size, for me it was 128Mo I think. I have a core i7 6660U.

Share this post


Link to post
Share on other sites

I posted the current/updated zip - not much changed. 

 

@tluck,

hello In my case I have 3D acceleration but I have transparency glitches only. I didn't rename file AppleIntelSKLGraphics.kext and my Hackintosh is working like a charm.

 

 

Here I attach transparency glitch example:

 

 

 

do you have this issue also ?

post-1637991-0-53571700-1475696139_thumb.png

Share this post


Link to post
Share on other sites

@aleixsr - what is your machine model? perhaps post your clover ESP and any other ideas for comparison? i will repost my zip later today. i made some slight changes in the VoodooPS2Controller kext.

Share this post


Link to post
Share on other sites

@tluck,

hello In my case I have 3D acceleration but I have transparency glitches only. I didn't rename file AppleIntelSKLGraphics.kext and my Hackintosh is working like a charm.

 

 

Here I attach transparency glitch example:

 

 

 

do you have this issue also ?

Try changing display color profile. One of the sRGB profiles will solve the issue

Share this post


Link to post
Share on other sites

darn. no joy. i tried your clover zip and got to same exact place - hung on IntelAccelerator.

 

wonder about differences in computer

cpu  - mine is i5-6300U? vs you have i5-6200U.

LCD - do you have touch screen?

 

i noticed you dont have a DSDT or SSDT files in your ACPI folders?

 

$ ioreg -l 

 ....

    | |   | | +-o IOFramebufferUserClient  <class IOFramebufferUserClient, id 0x1000003df, !registered, !matched, active, busy 0, retain 5>

    | |   | |     {

    | |   | |       "IOUserClientCreator" = "pid 220, WindowServer"

    | |   | |     }

    | |   | |    

    | |   | +-o IntelAccelerator  <class IntelAccelerator, id 0x1000002fd, registered, matched, active, busy 0 (0 ms), retain 10>

    | |   |   | {

^C^C^C

 

I don't have touch screen.

Why you said I don't have DSDT and SDST? Yes, I have it and I'm based on your files you posted on another forum. Please let me know.

 

Here is my ioreg -l:

...

| |   | | +-o IOFramebufferUserClient  <class IOFramebufferUserClient, id 0x100000380, !registered, !matched, active, busy 0, retain 5>

    | |   | | |   {

    | |   | | |     "IOUserClientCreator" = "pid 172, WindowServer"

    | |   | | |   }

    | |   | | |

    | |   | | +-o IOFramebufferSharedUserClient  <class IOFramebufferSharedUserClient, id 0x100000431, !registered, !matched, active, busy 0, retain 6>

    | |   | |     {

    | |   | |       "IOUserClientSharedInstance" = Yes

    | |   | |       "IOUserClientCreator" = "pid 1071, firefox"

    | |   | |     }

    | |   | |

    | |   | +-o AppleIntelFramebuffer@1  <class AppleIntelFramebuffer, id 0x1000002d3, registered, matched, active, busy 0 (1 ms), retain 14>

    | |   | | | {

 

...

 

| |   | +-o IntelAccelerator  <class IntelAccelerator, id 0x1000002d0, registered, matched, active, busy 0 (42 ms), retain 92>

 

 

Please tell me how can I help you.

Try changing display color profile. One of the sRGB profiles will solve the issue

 

GREAAAATTTT !!!!!

 

It's true! Using sRGB IEC61966-2.1 Display profile did the trick!!

 

Thank you very much!!!

Share this post


Link to post
Share on other sites

GREAAAATTTT !!!!!

 

It's true! Using sRGB IEC61966-2.1 Display profile did the trick!!

 

Thank you very much!!!

In fact your problem is the same as Haswell's 9MB Cursor issue. A little bit edit to the framebuffer will solve this matter without changing display profile, but I'm no expert on this one

Share this post


Link to post
Share on other sites

Sorry, you're completely right, I don't understand what happened when I compressed files.

 

Here is the correct version, you'll fine references to your nickname ;)

 

 

CLOVER.zip

Share this post


Link to post
Share on other sites

cool. i'll test this out later. as i said i wanted to replicate your setup to see what is different on my box.

 

is your LCD touch?

 

No, my LCD isn't touch.

Share this post


Link to post
Share on other sites

In fact your problem is the same as Haswell's 9MB Cursor issue. A little bit edit to the framebuffer will solve this matter without changing display profile, but I'm no expert on this one

 

Hi, it is not fully fixed, can you help me or tell me where I can found info about how to solve it ?

 

Thank you

Share this post


Link to post
Share on other sites

Hi, it is not fully fixed, can you help me or tell me where I can found info about how to solve it ?

 

Thank you

Google "Haswell 9MB Cursor Patch" and 1st result should be from tony's site. It has basic information on how to fix that problem on Haswell, take that and do what you can with Skylake ( do not replicate the same patch onto the SKLFramebuffer, I do not know if the patch will crash your system or not )

Share this post


Link to post
Share on other sites

well - still no luck here on full 3D gfx - i took your zip and booted up - but again IntelAcellerator hangs.

seems the touch display is the difference.

Is your touch display PS2-based or I2C based ?

Share this post


Link to post
Share on other sites

In fact your problem is the same as Haswell's 9MB Cursor issue. A little bit edit to the framebuffer will solve this matter without changing display profile, but I'm no expert on this one

 

Hello, I discovered that if I boot Windows and then reboot these graphic glitches don't appear, it is related to framebuffer? How can I know what I must change?

Here I attach ioreg files booting directly to OS X and rebooting from Windows.

 

Thank you very much

T460-01-Post_WIN_Boot.ioreg.zip

T460-01-OSX_Boot.ioreg.zip

Share this post


Link to post
Share on other sites

In fact your problem is the same as Haswell's 9MB Cursor issue. A little bit edit to the framebuffer will solve this matter without changing display profile, but I'm no expert on this one

 

Can you please help me on how to edit framebuffer ?

 

thank you.

Share this post


Link to post
Share on other sites

Lenovo T460 Clover Guide

 

Overview - Work in Progress - 05-Oct-2016

 

  • Updated Clover to 3787
  • Updated VoodooPS2Controller.kext (again) 
  • Updated FakeSMC kext to next rev

Attached is a current zip file with a complete /EFI pack for the Lenovo T460 using Clover on OS X

The current File Bundle is for 10.11 - the zip file attached to the bottom of this post

  • Full Clover file set - config.plist etc.
  • Includes all custom kexts
  • Includes custom DSDT/SSDT scripts and patches

Caveat:

My system is a T460 with Intel 520 Graphics. Currently, the full advanced graphics are not working due to lack of DVMT pre-allocated memory. Most systems need 64, 96 or 128 MB. This system seems to have 32 MB. 

I must rename /S/L/E/AppleIntelSLKGraphics.kext to not be used at this time.

 

Credits to: RehabMan and Shmilee (more to come) from which, much is/was based on to get the T460 to this point.

 

 

Devices and aspects working:

  1. Ethernet -  needs IntelMausiEthernext.kext
  2. WiFi/BT - substituted Intel WiFi/BT with Dell 1510 (BCM43252Z) - BrcmPatchRAM2 modified for to slow down firmware for USB wake.
  3. Audio - ALC293 AppleHDA.kext
  4. PS2 - Clickpad/Trackpad + TrackPoint + all 3 buttons - VoodooPS2Controller modified - F key maps
  5. USB - custom SSDT + USBInjectAll kext mods. so all external USB3/USB2 ports and internal ports - Camera, BT work.
  6. Sleep/Wake - sleep watch
  7. GFX 2D - turn off IntelAccellerator.

Note: have not tried to implement the SD card reader.

 

 

ACPI Patches and Files:

  • DSDT.dsl - patched DSDT  
  • ssdt.dsl - define C/P state for I5 via Pike's script

     

  • SSDT-HACK-T460.dsl - add misc functions
  • SSDT-XOSI.dsl  - sets OS type
  • SSDT-LPC-T460.dsl - add/fix/define LPC device
  • SSDT-SMBUS-T460.dsl - add/fix/define SMBUS device
  • SSDT-HDEF-T460.dsl - fix/define Audio for ALC293 codec
  • SSDT-IGPU-T460.dsl - fix/define GFX for Intel HD 520 device 1916
  • SSDT-PNLF-T460.dsl - add LCD/Panel
  • SSDT-PS2K-T460.dsl - fix/define/add T460 keyboard
  • SSDT-XHC-T460.dsl - fix/define/add internal and external USB ports 

 

Boot Clover and define gfx device ID=0x12345678 until able to disable AppleIntelSKLGraphics.kext

 

Part 1 - OS Installation

 

see http://www.insanelymac.com/forum/topic/285678-lenovo-thinkpad-t420-with-uefi-only/page-25?do=findComment&comment=1952283

 

Part 2 - Post OS Installation and Setup on HD

 

 

  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 OS X.  

     

    Note: You may see 3 Volumes instead of the expected 2 on the HD - OS X + 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. Complete the installation steps and login

    Note: This will boot up OS X with Clover injecting the custom kexts from the USB (for now). 

     

  3. Convert the Logical volume to Physical volume

    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: 

    sudo diskutil corestorage revert /
  4. Install Clover on the HD

    Transfer the Zip file and the most Clover installation pkg to HD (via another USB). 

     

    a ) Run the Clover_v2.3k_rxxxx.pkg to install the related latest bits into the HD OS and ESP (usually partition 1) of disk0. Use the link to download the pkg from SourceForge.  You can do this step later on if you don't have way to get it before you are setup on the network.

     

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

    attachicon.gifclover-pkg-options.png  After you close the pkg installer, then follow these step to replace the ESP.

     

    b ) The ESP contents on the HD are now to be made exactly like the ESP used to setup the USB installer above. If the ESP is not mounted from the running Clover installer pkg, manually mount the ESP of your HD on /Volumes/ESP. (See first 2 commands below.) Then you will replace the ESP installed by Clover in the previous step. Which means you copy/replace these 2 directories /Volume/ESP/EFI/CLOVER and BOOT with the ones from the Zip file. Then just as you did for the USB, the config.plist is renamed from the one that matched your LCD. For a manual mount and install of the ESP bits to disk0 follow same procedure as for the USB. 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 OSX - meaning your new volume is assumed to be named OSX

    If you use a different name, change the volume name or edit the name in config.plist to match. 

    mkdir /Volumes/ESP
    sudo mount -t msdos /dev/disk0s1 /Volumes/ESP
    
    mkdir -p /Volumes/ESP/EFI
    cp -a ~/Downloads/T460/EFI/* /Volumes/ESP/EFI
    
    
  5. Install custom kexts on HD

     

    Install the custom kexts from the Zip kexts directory to the /Library/Extensions directory by running EFI/CLOVER/kexts/_kext-install.command

    Note: If you choose to NOT install the custom kexts in the OS /L/E directory, then AppleHDA kext will not work properly. DO NOT remove standard AppleHDA.kext from /S/L/E.

     

    Run this script:

     ~/Downloads/T460/EFI/CLOVER/kexts/_kext-install.command
  6. Ethernet Device Installation

     

    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: OSX 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
  7. Remove the USB and Reboot to load Clover from the HD

    Note: For this first boot, hit the spacebar on your boot selection (OSX) and use verbose mode.

 

 

 

Notes on Custom Kexts

 

All the kexts listed below are contained in the zip file. The origin is listed below if you wish to download them as well. I recommend you use kext install tool to properly copy all kexts to the /Library/Extensions directory.

  • FakeSMC.kext (v6.21.1413) - Core hack mechanism. Using Kozlek's version + plugins + custom FakeSMC Info.plist

    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.

    • ​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).
  • ACPIBatteryManager.kext (v1.70.1) - RehabMan's kext to show/track battery info on menu bar

     

  • AppleHDA_ALC293.kext (v9274.12) adapted from ALC292.kext. Note: Keep original/unmodified AppleHDA.kext and add this kext to /L/E for full audio support. Note: requires matching DSDT sections for config.plist layoutID 1. and uses Kext Patch via Clover. 

     

  • USB_Injector.kext (1.0.0) - based on RehabMan's UsbInjectAll.kext but modified for T460 XHCI devices. see SSDT-XHC.dsl for related details. 

     

  • IntelBacklight.kext (v1.0.10) - RehabMan's kext for smoother/enhanced LCD backlight (dimming) control. 

     

  • IntelMausiEthernet.kext (v.2.2.0) - Mieze's Intel LAN kext that supports TSO, EEE and other features. Put this kext in /Library/Extensions

     

  • VoodooPS2Controller.kext (v1.8.24a) - New T460 version of RehabMans's PS2 Keyboad/TouchPad/TrackPoint -  

     

    This version has extra T460 definitions in the Info.plist files. And recoded to support 3 real buttons as well ClickPad Right/Left click.

    • Modified Info.plist(s) to add LENOVO T460 override settings. Change defaults to suite your needs in VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2TrackPad.kext/Contents/Info.plist
    • Reduced MouseMultiplier X and Y for TrackPoint.
    • Note: VoodooPS2Controller keyboard mappings have 3 or 4 finger swipe left/right to back/forward configured for Safari browser

OPTIONAL - used with Dell 1560 Wifi/BT replacement card:

 

Hi @tluck,

your script is returing this error:

 

./_kext-install.command: line 86: cd: /Library/Extensions/AppleHDA_20672.kext/Contents/MacOS: No such file or directory

 

Where is AppleHDA_20672.kext ?

 

Thank you

 

Share this post


Link to post
Share on other sites

ah sorry that is an older script that was hardcoded for my T420... meaning that kext is for the T420 not the T460.

 

ill update the package later but here is revised script that ought to work 

Thank you, I just saw there is:

sudo ln -s /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

but I don't have AppleHDA.kext ?¿?¿ Does it make sense?

Thank you, I just saw there is:

sudo ln -s /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

but I don't have AppleHDA.kext ?¿?¿ Does it make sense?

 

Sorry, I found it was on /Backup Extensions folder, I restored it but I don't have any sound device, how did you got it working?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By ludufre
      Installing macOS Mojave on Lenovo ThinkPad L440

       
      There are two version of this laptop:
      - 20AS = Chipset QM87, without Express Card (mine).
      - 20AT = Chipset HM86, with Express Card.
      I strong believe is the same thing...
       

      Changelog:
       
      02/05/2019 18:47h GMT-0
      - Updated info about CPU replacement and 4G LTE modem.
       
      02/04/2019 15:24h GMT-0
      - Sometimes the VoodooHDA.kext doesn't work.
      - Added AppleHDADisabler.kext to fix that (attached bellow).
       
      01/24/2019 14:42h GMT-0
      - Added more adjustments to use of VoodooHDA.
      - Updated VoodooHDA links to 2.9.1 official (without installer).
      - Changed PCM volume from 90 to 180 in Info.plist (attached modified VoodooHDA.kext bellow)
      - Updated SSDT-L440.aml (Removed HDEF and HDAU, not needed).
      - Updated config.plist (Changed to user Audio layout to 1).
       
      01/22/2019 20:47h GMT-0
      - I gave up on the AppleALC.
      - Headset does not work.
      - Now with VoodooHDA is perfect and the sound even louder.
       
      01/22/2019 14:37h GMT-0
      - Add info about update 10.14.3. 
       
      01/22/2019 13:46h GMT-0
      - Add link to BIOS reassing guide.
       
      01/20/2019 11:49h GMT-0
      - First version.
       
      What works and what does not
       
      - Processor: Intel Core i5-4300M ->  Work. All SpeedStep stages.
      - Video Card: Intel HD4600 ->  Work. QE/CI and Metal.
      - Chipset: Intel QM87 ->  Work.
      - Mini DisplayPort ->  Work. But no audio, yet.
      - VGA ->  Not work. Normal.
      - Audio: ALC292 ->  Work.
      - WiFi/Bluetooth: Intel AC 7260 ->  Not work. Replaced with DW1560 (need whitelist removal).
      - Ethernet: Intel I217-LM ->  Work.
      - Card Reader: Realtek RTS5227 ->  Not work.
      - Keyboard and Touchpad ->  Work.
      - Webcam ->  Work.
      - Fingerprint Reader ->  Not work. Normal.
      - USB3.0 ->  Work.
      - Sleep ->  Work.
      - Airdrop, Handoff, Instant Hotspot and Continuity ->  Work after replaced wireless.
       
       
      Extras
       
      - FullHD 1920x1080 display upgrade: 
      Replaced with AU Optronics B140HAN01.1 30pin eDP (B140HAN01.2 and B140HAN01.3 also compatible)
      Apparently same screen as Dell Latitude E6440, E7440, Lenovo Ideapad U430 and E129.
       

      Todo
       
      - Make DP audio work.
      - Make Card Reader work.
      - Upgrade CPU to i7-4712MQ (Ordered. It's on the way) Done, but received i7-4700MQ (47w TDP and I have overheating issues)
      - Replace touchpad with T460 model (Ordered. It's on the way)
      - Sierra Gobi5000 4G LTE modem EM7355 (Ordered. It's on the way. I hope works. ) Done, but not work. Do not even recognize in LSPCI...
      - Upgrade to 16GB RAM Done
       
       
      What you need to install

      - Running install of macOS
      - One USB flash drive of 8GB or bigger
      - macOS Mojave install app
      - Clover EFI
      - Clover Configurator
      - Some KEXTs and SSDT patches


      How create create the install flash drive
       
      Prepare install flash drive

      Format the flash drive with GUID partition mapping and name it "Install".

      - Open Disk Utility.
      - Click in View, then "Show All Devices".
      - Select the destination flash drive, then Erase.
      - Name: Install, Format: Mac OS Extended (Journaled) and Scheme: GUID Partition Map
       
      Create install flash drive

      Open terminal and run this command:
      sudo /Applications/Install\ macOS\ .app/Contents/Resources/createinstallmedia --volume /Volumes/Install --nointeraction This will take about 30 minutes.
       


      Install bootloader

      Download the RehabMan's CloverEFI fork (used 4701) and install with this options on "Install macOS Mojave":
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - UEFI Drivers - ApfsDriverLoader-64
      - UEFI Drivers - AptioMemoryFix64


       
       
      Make things works

      Will be created a partition named EFI and mounted in Desktop.
      - Replace the /Volumes/EFI/CLOVER/config.plist with mine attached below
                    If you have modded BIOS with Advanced Menu and enabled 128MB DRAM-prealloc use 128MB_DRAM-prealloc_config.plist.zip
                    If no, then use 32MB_DRAM-prealloc_config.plist.zip
      - Put SSDT-L440.aml attached below in /Volumes/EFI/CLOVER/ACPI/patched/
       
      Generate your Serial, MLB and SmUUID
       
      - Open the replaced config.plist with Clover Configurator (used 5.3.2.0)
      - Go to SMBIOS, click few times in "Generate New" in Serial Number and SmUUID.
       
      Download those Kexts and put in /EFI/CLOVER/kexts/Other/
       
      - Download the FakeSMC.kext from here. I used the version 2018-0915.
      - Download the VoodooPS2Controller.kext from here. I used version 2018-1008.
      - Download the IntelMausiEthernet.kext from here. I used the version 2018-1031.
      - Download the Lilu.kext from here. I used the version 1.3.1.
      - Download the AppleALC.kext from here. I used the version 1.3.4.
      - Download the VoodooHDA from here. I used the version 2.9.1.
      - Download the WhateverGreen.kext from here. I used the version 1.2.6.
      - Download the AppleBacklightFixup.kext from here. I used the version 2018-1013.
      - Download the USBInjectAll.kext from here. I used the version 2018-1108.
      - Download the ACPIBatteryManager.kext from here. I used the version 2018-1005.
       
       
      Wifi and Bluetooth (DW1560 / BCM94352Z)
       
      Unfortunately, some notebook manufacturers are currently blocking the replacement of wireless cards. They want you to only use the models sold by them. And of course, none of them from Lenovo for this notebook model is compatible with MacOS.
       
      If you try to start with an unauthorized wifi card for them, you will receive a screen error:
      1802: Unauthorized network card is plugged in - Power off and remove the network card. Since this check is done directly in the BIOS, the only solution is to modify it.
      But since nothing is easy in this life, there is one small big problem:
      - The BIOS update procedure does not allow you to use modded files as it used to be.
      - You will need to physically reach your BIOS on the motherboard and make use of a USB BIOS reader/writer.
       
      So what you need to do:
      1. Disassembly your laptop;
      2. Dump your BIOS with an USB BIOS reader with SOIC8 clip (to not desolder from the motherboard);
      3. Patch it (In addition to removing the whitelist, add the advanced menu);
      4. Fix RSA signature;
      5. Reflash BIOS;
      6. Replace wireless card;
      7. Remount your laptop;
      8. Done.
       
      Soon, I'll provide step by step in this process. Probably until end of this week.
      In the meantime, if you need to, send me your dump that I do steps 3 and 4 for you.
      I also add the Advanced Menu so you can increase to 128MB the DRAM-prealloc.
       
      To fix a Modded BIOS to remove the 5 beeps on boot, you need this guide: https://www.insanelymac.com/forum/topic/337333-guide-fix-insyde-h2o-bios-signature-5-beeps-on-lenovo (traduzido: pt-BR)
       
       
      After replaced the wireless card. Download those Kexts and put in /EFI/CLOVER/kexts/Other/
       
      - Download the AirportBrcmFixup.kext from here. I used the version 1.1.9.
      - Download the BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext from here. I used the version 2018-0505.
      - Download the BT4LEContinuityFixup.kext from here. I used the version 1.1.2.
       
       
      Now you can start the instalation without problem (I guess).
       
       
      How install
       
      UEFI Setup Configuration and Installation

      UEFI configuration
       
      My BIOS is the latest: 1.93 (J4ET93WW) 

      - Shutdown and insert the flash drive.
      - Power on with F1 pressed to enter BIOS setup.
      - Change value: Config - Intel(R) AMT - Intel(R) AMT Control to DISABLED
      - Change value: Security - Security Chip to DISABLED
      - Change value: Security - Anti-Theft - Intel(R) AT Module Activation to DISABLED
      - Change value: Security - Anti-Theft - Computrace to DISABLED
      - Change value: Security - Secure Boot to DISABLED
      - Change value: Startup - UEFI/Legacy Boot to BOTH, Legacy First and CSM Support = Yes
      - Save & Exit Setup (F10)
       
      - Now, hold the F12
      - In the list, select your flash drive.
       
      The installer will start. 
      
      Format destination disk

      Format the disk with GUID partition mapping and name it "Macintosh".

      - Select Disk Utility in the list, then press Continue.
      - Click in View, then "Show All Devices".
      - Select the destination Disk, then Erase.
      - Name: HD, Format: APFS and Scheme: GUID Partition Map

      Close Disk Utility.
      
      Select "Install macOS", then Continue.
      Follow instructions in screen.

      After install

      After first part install the system will reboot. Maybe you have to press F12 again and select the flash drive.
      
      The second part of the installation will begin. This will take 16 minutes.
       

      Post installation

      Install bootloader
       
      When the second part of install finish, the system will reboot again.

      After performing the user initial setup and go to the desktop, you need to install Clover on internal disk.

      Open the Clover installer inside flash drive that you copied before.

      Use same options above but choose the system partition this time.

      Now you need to replace the config.plist inside your destination disk EFI parittion with config.plist inside flash card EFI partition.

      The flash drive EFI partition is unmounted. Mount with terminal "sudo diskutil mount /dev/rdiskXs1". To know what X is, use "diskutil list", most likely is 1.
       
      Last step
       
      Copy all Kexts from flash drive to /Library/Extensions, with those commands in Terminal:
      sudo cp -R /Volumes/EFI/EFI/CLOVER/kexts/Other/* /Library/Extensions/ sudo chmod -R 755 /Library/Extensions sudo chown -R root:wheel /Library/Extensions sudo kextcache -i / Restart the system.
       
       
      It's done!
       
       
      Updates
       
      System update 10.14.3
       
      - Updated with success;
      - Everything works perfectly after reboot;
       

       
       

       
      And last but not least
       
      I would like to thank the following community members, by making these dream possible:
      @crushers, @snatch, @apianti, @blackosx, @blusseau, @dmazar, @slice2009, @autumnrain, @phpdev32, @EMlyDinEsH, @RehabMan, @Scellow, @mitch_de, @Shailua, @Andy Vandijck, @maxfierke, @ArturXXX, @LexHimself, @brumas, @Shiki and all others members involved directly or indirectly.
       
       
       
       
       
       
      32MB_DRAM-prealloc_config.plist.zip
      128MB_DRAM-prealloc_config.plist.zip
      SSDT-L440.aml
      VoodooHDA.kext.zip
      AppleHDADisabler.kext.zip
    • By MaLd0n
      Now have a Olarila app, just download app and clover folder for your Chipset! https://olarila.com/forum/viewtopic.php?f=81&amp;t=6771   Install MacOS with Olarila Image, Step by Step, Install and Post Install
       
      https://olarila.com/forum/viewtopic.php?f=50&t=8685
          First... If you need DSDT edits for SkyLake, KabyLake or CoffeeLake... -Post your full Clover folder with original tables in Origin folder(Extract with F4 in Clover boot screen) -Post Ioreg, extract with Ioreg Explorer http://www.insanelymac.com/forum/index.php?app=core&module=attach&section=attach&attach_id=222606 -Run it, post files generated in your desktop http://www.insanelymac.com/forum/index.php?app=core&module=attach&section=attach&attach_id=222609  Installation   --Create a bootable copy of macOS Sierra Check out the link http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Create a bootable copy of macOS HighSierra Check out the link http://diskmakerx.com/   --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder  CLOVER.zip   --Install Sierra/High Sierra and boot into system!   Post Installation   --Install Clover in HDD/SSD and replace with my folder CLOVER.zip   --Reboot and activate video!   -Nvidia WebDriver Sierra http://www.insanelymac.com/forum/topic/312525-nvidia-web-driver-updates-for-macos-sierra-update-07212017/ -Nvidia WebDriver High Sierra http://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-10162017/ -Cuda http://www.insanelymac.com/forum/topic/302795-cuda-90214-is-out-update-10162017/   --DSDT My DSDT with Skylake patches DSDT.MaLd0n GA H110M-S2.zip Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC -PNLF -HDMI --FakeSMC https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek --Audio https://github.com/vit9696/AppleALC --USB https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads --LAN http://www.insanelymac.com/forum/topic/287161-new-driver-for-realtek-rtl8111/   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!   ENJOY!  
    • By MaLd0n
      Now have a Olarila app, just download app and clover folder for your Chipset! https://olarila.com/forum/viewtopic.php?f=81&amp;t=6771   Install MacOS with Olarila Image, Step by Step, Install and Post Install
       
      https://olarila.com/forum/viewtopic.php?f=50&t=8685
          --Create a bootable copy of macOS Sierra Check out the link http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Create a bootable copy of macOS HighSierra Check out the link http://diskmakerx.com/   --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/   -Replace Folder CLOVER Install.zip   -Install Sierra/High Sierra and boot into system!   -Install Clover and replace with my folder  CLOVER Post Install.zip   -Reboot and activate video!   Bingo!   Now you need a fine tune! I prefer DSDT way, apply all patches in one file, many people prefer many SSDTs or Clover patches!   If you need DSDT edits for Skylake... -Post your full Clover folder with original tables in Origin folder(Extract with F4 in Clover boot screen) -Post Ioreg, extract with Ioreg Explorer IORegistryExplorer.app.zip -Run it, post files generate in your desktop RunMe.app.zip   -DSDT bios F21 My DSDT with patches for skylake DSDT.GA Z170M-D3H F21.zip   -Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -RTC -IRQs -SBUS -MIKEY -BLC0 -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC -PNLF -HDMI






       
      -FakeSMC http://www.hwsensors.com/releases -Audio https://github.com/vit9696/AppleALC -USB https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads -LAN https://github.com/Mieze/IntelMausiEthernet   Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!
    • By MaLd0n
      Now have a Olarila app, just download app and clover folder for your Chipset! https://olarila.com/forum/viewtopic.php?f=81&amp;t=6771   Install MacOS with Olarila Image, Step by Step, Install and Post Install
       
      https://olarila.com/forum/viewtopic.php?f=50&t=8685
        --Create a bootable copy of macOS Sierra Check out the link http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Create a bootable copy of macOS HighSierra Check out the link http://diskmakerx.com/   Installation   --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder  CLOVER Install.zip   --Install Sierra/High Sierra and boot into system!   Post Installation   --Install Clover in HDD/SSD and replace with my folder CLOVER Post Install.zip   --Reboot   DSDT DSDT.MaLd0n.zip   Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC -XHCI -PLUGIN TYPE -XXXX to HDEF -HDEF -RTC -IRQs -SBUS -BLC0 -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC ----- -Disable GPU new patch and PNLF SSDT - Credits RehabMan


       
      SSDT    Generate your SSDT for PM, use ssdtPRGen by Piker-Alpha https://github.com/Piker-Alpha ssdtPRGen.command.zip   or just use "plugin-type"=0x01 in DSDT, SSDT or Clover config.plist   for check Power, Frequency, Temperature and Utilization, use it Install Intel Power Gadget.pkg.zip  
      -Audio
      https://github.com/vit9696/AppleALC
       
      -FakeSMC
      https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/   -Atheros Ethernet https://github.com/Mieze/AtherosE2200Ethernet   -IntelGraphicsFixup https://sourceforge.net/projects/intelgraphicsfixup/   -IntelGraphicsDVMTFixup https://github.com/BarbaraPalvin/IntelGraphicsDVMTFixup   -USBInjectAll https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads/   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   Special Thanks to Pablo Galán   We're all here to have fun and learn from each other!   ENJOY!
    • By ludufre
      [GUIA] Correção de assinatura BIOS Insyde H2O
       
      Recentemente comprei um notebook Lenovo L440 pra instalar o macOS Mojave e fui substituir a placa wireless pela DW1560 porque a atual não é compatível. Descobri que existia uma whitelist de placas permitidas que as fabricantes estão adotando recentemente (no meu caso utiliza uma bios Phoenix Insyde BIOS H2O).
       
      Procurei em fórums de BIOS MODDING e encontrei pessoas que fizeram o patch pra mim. Só que após substituir a BIOS notei que o computador ficava apitando 5 vezes todas vez que ligava e fui me aprofundar no caso. E foi aí que descobri como resolver isso e por isso criei esse guia baseado nas informações que achei em alguns fóruns russos.
       
       
      Prefácio
       
      Quando a BIOS falha no teste te integridade, algumas funcionalidades Intel AMT param de funcionar e é emitido uma sequência de 5 apitos duas vezes no boot.
      Após modificar para remover whitelist (habilitar placas WI-FI não autorizadas), destravar MSR 0xe2 (hackintosh), habilitar menu avançado, etc. a BIOS não vai passar no teste de integridade causando esse problema.
      Essa verificação de integridade é feita através da assinatura RSA do bloco da BIOS chamado TCPABIOS (mais informações abaixo) com a chave pública no formato modulus 3 também armazenada na BIOS.
      Esse bloco TCPABIOS armazena os checksums de cada volume da BIOS.
       
      O que faremos é gerar novos checkums para esses volumes que foram modificados, gerar um para de chaves RSA (privada e pública), assinar esse bloco com a chave privada e substituir a chave pública.
       
       
      Ferramentas necessárias
       
      - EFITool NE alpha 54: https://github.com/LongSoft/UEFITool/releases
      - HxD 2.1.0: https://mh-nexus.de/en/hxd/
      - OpenSSL: http://gnuwin32.sourceforge.net/packages/openssl.htm (Download -> Binaries)
      - Microsoft File Checksum Integrity Verifier (FCIV.exe): https://www.microsoft.com/en-us/download/details.aspx?id=11533
       
      Passo a passo
       
      Vamos abrir a BIOS modificada, localizar o bloco TCPABIOS e entender sua anatomia.
       
      1. Abra a BIOS no HxD
       

      (Vamos utilizar nesse guia a BIOS modificada no fórum MyDigitalLife.com pelo usuário Serg008 para o notebook Lenovo B590)
       
      2. Busque a palavra TCPABIOS:
       


       
      3. O bloco começa com TCPABIOS e termina com antes de TCPACPUH
       

       
      4. Anatomia:
       
      54 43 50 41 42 49 4F 53 48 31 38 34 61 31 31 2F
      32 36 2F 31 33 49 42 4D 53 45 43 55 52 00 FD 27
      34 2A 35 AB 41 26 39 E3 32 E5 B6 8A D6 49 5B 0B
      77 F9 82 58 48 00 00 00 CE 18 1F 00 00 00 03 00
      00 00 00 00 00 00 27 00 00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00 00 00 00 FF FF 83 04 D4
      52 52 95 C5 D7 21 55 78 0E 5C AD 47 EE C4 3D 1D
      C1 EC 69 03 2B 51 A5 42 61 96 22 F9 7B 88 57 B7
      A8 9D D0 20 DB 5B 11 10 55 07 84 6C 62 DF FA 2F
      6A A8 43 0C 8A 40 AF 79 0D 31 DB 5A 5D C8 2F EB
      F8 7C 87 B0 A6 3D 2A 88 AE 91 9D 88 E3 AA 85 E3
      5A B3 91 7F 28 68 1F BA 92 C4 7E 10 F5 1A 7E 75
      A9 6F CE C0 4F BA FA 79 A5 98 2B 50 60 BA 09 73
      7B 03 D1 0C 3E A2 9C 44 DF E9 F2 92 34 7B
       
      Cinza: Nome e informações do bloco
      Vermelho: Informações dos volumes (Checksum e Cabeçalho)
      Azul: Separação da lista de volumes para a assinatura do bloco
      Verde: Assinatura do bloco TCPABIOS são os últimos 128 bytes
       
      Lista de Volumes:
       
      Cada volume tem o formato: 00 FD 27 34 2A 35 AB 41 26 39 E3 32 E5 B6 8A D6 49 5B 0B 77 F9 82 58 48 00 00 00 CE 18 1F 00 00 00 03 00 00 00 00 00
                                                      (prefixo 3 bytes + checksum 20 bytes + offset 4 bytes + tamanho do volume 6 bytes + separador do fim 6 bytes)
       
      Os volumes são enumerados e utilizam o primeiro byte no prefixo para isso (00 FD 27), começando do 0.
      A BIOS utilizada nesse exemplo possui somente um volume, mas no caso de mais de um volume, seria: 00 FD 27 .., 01 FD 27 ..., 02 FD 27 ...
      - Checksum é o cálculo SHA1 do volume.
      - Offset é a posição do volume dentro da BIOS. Os bytes ficam invertidos, nesse caso seria 00 00 00 48 ou seja: 48h
      - Tamanho do volume também está com os bytes invertidos, então: 1F18CEh
       
      Então é isso. Precisamos corrigir essas informações (checksum, offset e tamanho)
       
      5. Para extrair os volumes abra a BIOS com o UEFITool e veja como identificar os volumes (nosso exemplo há somente um volume, se houvessem outros estariam também dentro de EfiFirmwareFileSystemGuid):
       

       
      Na BIOS original, circulado em vermelho podemos ver o nosso volume.
      Observe que em azul temos Offset e verde o tamanho. Exatamente como verificamos acima no HxD. Já na BIOS modificada vemos que está diferente o tamanho:
      Oridinal: 1F18CEh
      Modificada: 1F12D5h (vamos precisar disso mais tarde)
       
      6. Vamos extrair esse volume escolhendo a opção “Extract as is...”
       
       
       
      7. Utilize esse comando para obter o checkum desse volume: fciv.exe -sha1 File_Volume_image_FvMainCompact.ffs
       

       
      Agora temos o checksum que é 396e0dc987219b4369b1b9e010166302ce635202
       
      8. Substitua as informações no bloco TCPABIOS:
       

       
      Observe que o tamanho do volume precisa ter os bytes invertidos, então se o total são 6 bytes e é 1F12D5h, fica D5 12 1F 00 00 00 no lugar de CE 18 1F 00 00 00.
      Se o offset for diferente, também realizar o mesmo procedimento invertendo os bytes.
      Checksum alterar de 34 2A 35 AB 41 26 39 E3 32 E5 B6 8A D6 49 5B 0B 77 F9 82 58 para 39 6E 0D C9 87 21 9B 43 69 B1 B9 E0 10 16 63 02 CE 63 52 02
       
      Faça esse procedimento para cada volume na BIOS.
       
      9. Agora precisamos gerar o checksum de todo o bloco TCPABIOS mas sem considerar os últimos 131 bytes, ou seja desconsiderar de FF FF 83 + 80 bytes da assinatura anterior.
       
      Copie para um novo arquivo no HxD e salve como tcpabios
       

       
      Utilize o comando para gerar o checksum desse bloco: fciv.exe -sha1 tcpabios
       

       
      Checksum do bloco TCPABIOS: 0da6715509839a376b0a52e81fdf9683a8e70e52
       
      Crie um novo arquivo no HxD e adicione 108 bytes com 00 e cole o checksum no final e salve como tcpabios_sha, ficando assim:
       

       
      10. Agora vamos gerar a chave privada RSA com modulus 3: openssl genrsa -3 -out my_key.pem 1024
       

       
      Assinar o arquivo tcpabios_sha: openssl rsautl -inkey my_key.pem -sign -in tcpabios_hash -raw > tcpabios_sign
       

       
      Agora aproveite para gerar a chave publica: openssl rsa -in my_key.pem -outform der -pubout -out my_key_pub.der
       

       
      E gerar modulus 3 da chave pública: openssl rsa -pubin -inform der -in my_key_pub.der -text -noout
       

       
      Copie e cole a chave em um arquivo de texto para utilizar daqui a pouco. Remova todos os “:” e coloque tudo em uma única linha, ficando assim:
       

       
      11.   Abra o arquivo tcpabios_sign no HxD, copie o conteúdo e substitua a assinatura no final do bloco TCPABIOS:
       
       
       
      12. Agora vamos localizar na BIOS o local da chave pública e substituir. Essa chave começa com 12 04 e termina com 01 03 FF e fica após o bloco TCPABBLK.
       
      A chave fica assim: 12 04 + 81 bytes + 01 03 FF. Faça uma busca por 01 03 FF para localizar mais facilmente. Verifique se antes dos 81 bytes tem os bytes 12 04 para ter certeza que achou.
       

       

       
      Agora substitua pela chave pública que ficou anotado no arquivo de texto anteriormente, ficando assim:
       

       
       
      Salve e está pronto. Sua BIOS está assinada e pronta.
       
×