Contribute
Register

[Guide] Lenovo ThinkPad L440 (v3.0)

Status
Not open for further replies.

Sniki

Moderator
Joined
Jan 5, 2016
Messages
2,313
Motherboard
HP Elite 8300 SFF
CPU
i7-3770
Graphics
Intel HD 3000 | GTX 1650 LP
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Welcome to my Lenovo ThinkPad L440 In-Depth Guide (v3.0)

(Now Everything completed with Hotpatch Method)

Image.png



Introduction
Welcome to my Lenovo ThinkPad L440 Guide everyone,it`s been 2 years since i joined Tonymacx86 and during that time lots of things chang ed,
when i started i had 0 knowledge about hackintosh and i just want to let everyone that`s new and recently joined that Hackintosh does require Patience,Dedication,Lots of reading,time and it`s not a easy task, but with having all of these virtues and patiently studying stuff everyone can master all the necessary skills thanks to the Awesome People that we have on Tonymacx86.
Credits to:
Rehabman (for his Phenomenal Guides,his undrainable Help & guidance till i learned everything and fixed everything)
Tonymacx86 (for this awesome community,Guides & Pro Members where everyone can enjoy MacOS without having to spent Thousand of Money)


My Laptop Specifications
  • Intel Core i5 4300M Haswell Processor.
  • 8GB Ram DDR3 1600Mhz
  • Intel HD Graphics 4600
  • Realtek ALC 292 Audio Codec
  • SAMSUNG MZ7TE128HMGR-000L1 SSD Drive 128GB
  • 14" 1366x768 Display (Upgraded to 1920x1080 IPS Display Panel) Panel name: B140HAN01.3 - Link:
https://www.aliexpress.com/item/Original-new-B140HAN01-3-Laptop-lcd-screen-14-0-slim-led-display-1920-1080-IPS-LED/32617060415.html?spm=2114.13010608.0.0.ak8RR8
  • Flat TrackPad/Touchpad (Upgraded to to the T460 Model Trackpad with 3 Physical Buttons) Touchpad Link:
https://www.aliexpress.com/item/For-LENOVO-T440-T440P-T440S-T540P-T450-Touchpad-Trackpad-With-Three-3-Buttons-Key/32427424309.html?spm=2114.13010608.0.0.k2vYwc
  • Intel AC7260 Dual Band Wifi Card (Upgraded to DW1560 - BCM94352z BT+Wifi Card for Hackintosh Support) Link:
https://www.aliexpress.com/item/BCM94352Z-DW1560-06XRYC-802-11ac-NGFF-M2-867Mbps-BCM94352-BT4-0-WiFi-Wireless-Card/32487923741.html?spm=2114.13010608.0.0.CuOUjG

For the people who are going to ask what is working

Everything
Except:

VGA Port
-This is like asking for a Floppy Drive to be honest, but you have the powerful MiniDisplay Port instead (which you can buy an Active Adapter *MiniDisplay Port to DVI,VGA,HDMI* for less than 15$) so you can make use of every type of connection from it.


Precautions!
  • Since my Bios has Advanced Menu Unlocked i have 128MB DVMT Pre-alloc (which in case on standard bios models its set as 32MB by default,if that cant be changed on your normal bios,make sure you go to Kernel and Kext Patches on my config.plist provided,and disable the 128MB DVMT Patch and Enable the 9MB Cursor Patch.
  • Since my Bios has Advanced Menu Unlocked i have disabled EH01 and EH02 USB Controllers straight from Bios which in your L440 Laptops without Unlocked Bios,in case you have USB Problems you might want to disable them with a Custom SSDT Patch which can be found at Rehabman Laptop Config Plist Files Repository.
  • The entire guide is based on MacOS Sierra which im currently using so keep that in mind
  • Disable Security Chip,TPM because they cause problems to sleep
  • Lenovo ThinkPad Laptops have the so-called WHITELIST which restricts installation of other Wireless+BT Cards
Whitelist Removal
you are required to purchase a CH341a Flash Programmer and SOIC8 TEST CLIP and disassemble your laptop to reach the Bios Chip (eeprom) to get access to it etc.
so for this step please follow the link from the bios-mods site which is the guide i followed to remove whitelist from my laptop:

https://www.bios-mods.com/forum/Thread-Guide-Whitelist-remove-for-2014-Lenovo-thinkpad
after i got a backup of my current bios i posted on the forum of that site my bios backup and i was fortunate enough to have an answer within 30minutes where a guy just removed whitelist, unlocked advanced menu and removed Haswell MSR Lock for me.
So all i did is just flashed that modified bios, assembled the laptop, installed the BCM94352z card and All working.

Creating Installation Media - USB Installer
Follow the RehabMan Guide: https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/
When you Open Clover Installer Change Install Location : USB Drive
Customize and pick these Settings:

  • Install for UEFI Booting Only
  • Install Clover in the ESP
  • Drivers64UEFI > OSXAptioFixDrv-64
  • Finnish Install
On the EFI Partition of the USB : EFI\Clover\kexts\Other
All you need for reaching the desktop is Rehabman`s FakeSMC,VoodooPS2Controller,ACPIBatteryManager,IntelMausiEthernet.
i will attach the Installation-USB Config.plist file that you should use for Installation Purpose only which should be enough to finnish installation and reach desktop.

Recently After the introduction of the Hotpatch method i was able to create USB installer with 90% of the stuff working (clean install) like on a real mac with USB Ports Properly Configured/Working,Wifi,GPU,Audio,etc
a few kexts don't load on EFI/Clover/Kexts/Other but most of the stuff should be working fine but consider that as a OWN RISK, you might face issues during installation so for safety purpose and less headache follow the Rehabman Guide that i placed on this section to reach desktop.

Beginning of the Guide
Assuming you reached/booted on Desktop: Install Clover with the same settings for the USB Installer but now install it on HDD.
i will attach my config.plist with all the patches and stuff so you can make your own from it or use mine with just the need to create a proper SMBIOS: Generating a Serial Number,MLB,Rom for iMessage to work.



https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/
but since the guide is now Based on Rehabman's Hotpatch Include Method (for reference check his NUC repo) here is the link to the Hotpatch guide where you can take a look for urself: https://www.tonymacx86.com/threads/guide-using-clover-to-hotpatch-acpi.200137/


Hotpatch #Include Method
With the new hotpatch #include method no static patching is needed anymore (like Patching your dumped ACPI Tables via MaciASL and putting it on the EFI/Clover/ACPi/Patched)
Now we have most of the Fixes config.plist on Separate SSDT's like:

  • SSDT-L440.dsl (Master SSDT where we include all the needed SSDT's below,Inject Layout ID & Create a Single SSDT from this one with all others included "Steps to create it will be written down Below).
  • SSDT-XOSI.dsl (Emulate a Specific Windows Version)
  • SSDT-PluginType1.dsl (Injects PluginType=1 into CPU0 - with Native CPU PM SSDT's : Basically a new CPU PM Method that is more generic and should work on most of the Haswell+ CPU's (without the need to create a SSDT from PikerAlpha's script).
  • SSDT-USB.dsl (Custom USB Active Ports Override + Disables XSEL,ESEL,XWAK)
  • SSDT-Disable_EHCI.dsl (Disables EHCI Controllers "EH01 & EH02" since with SSDT-USB we Inject All ports int XHC Controller so we don't need EHCI Controllers anymore so we disable them to save power) but in my case that i have an unlocked Bios i don't need this Patch Since i Disabled EHCI Controllers directly on Bios.
  • SSDT-ALC292.dsl (Custom CodecCommander profile for ALC292 which also makes our Audio Update proof even on future Codec Commander Updates).
  • SSDT-LPC.dsl (fix & Inject Unsupported 8 Series LPC Devices)
  • SSDT-HDAU.dsl (HD Audio Automatic Properties Injection)
  • SSDT-HDEF.dsl (Automatic Injection of HDEF Properties)
  • SSDT-IMEI.dsl (Adds the Missing IMEI Device)
  • SSDT-PTSWAK.dsl (Overrides PTS & WAK)
  • SSDT-PNLF.dsl (Adds PNLF device for IntelBacklight.kext or AppleBacklight.kext+AppleBacklightInjector.kext)
  • SSDT-PRW.dsl (Instant Wake Fix by Hooking GPRW)
  • SSDT-KBD.dsl (Complete Keyboard Remap of FN Buttons)
  • SSDT-TRACKPAD.dsl (Tluck VoodoPS2Controller Fork - Adds T460 Identifier - Configuration "Trackpoint fix")
  • SSDT-SMBUS.dsl (Adds SMBUS Device)
After we have configured the SSDT's for our needs we assemble them into 1 Single SSDT that includes all of them together into our case SSDT-L440.aml
Layout ID can be set/changed into SSDT-L440.dsl without the need to touch SSDT-HDEF & SSDT-HDAU like in the picture below in our case (13):


Layout ID.png

NOTE: into the beginning and ending of each SSDT we added the // so the iasl command assembles all of them correctly into 1 SSDT, but if you press compile on MaciASL it will give you a error but you should just ignore it.which it looks like this:

Ready.png


In case you are doing changes to a specific SSDT remove the // in front of DefinitionBlock and the Opening Bracket { and closing bracket } as seen Highlighted above on the picture so after you changed SSDT when you compile if you did correctly & you see no error then you know its good and you can add the // like above,
So without them for Modificiation Purposes it should look like this:

Modifications.png

Assuming you have same/similar hardware as mine or using my guide you copy the ACPI Folder for example into Desktop,Open terminal and enter Command:
Code:
cd "desktop/ACPI"


iasl SSDT-L440.dsl
This command creates the SSDT-L440.aml into your ACPI folder (which is the created Single SSDT with everything included from the other SSDT's) which should look something like this:
MasterSSDT Compiled.png

you then copy the SSDT-L440.aml to EFI/Clover/ACPI/Patched
and we're done with this step.


Kexts needed
For the kexts most of them are from Rehabman so you can find each one on Rehabman Github:
https://github.com/RehabMan?tab=repositories
The others are on Attachment or Link included on the Specifc Sections on Guide.
  • FakePCIID
  • FakePCIID_Intel_HD_Graphics
  • FakePCIID_Intel_HDMI_Audio
  • FakePCIID_Broadcom_WiFi
  • VoodooPS2Controller (Tluck fork of Rehabman's VoodooPS2Controller for those of you who have upgraded TrackPad to T460 like me).
  • ACPIBatteryManager (Rehabman - This does show your battery status without any ACPI Patching needed)
  • FakeSMC + FakeSMC Plugins (Rehabman Fork)
  • AppleBacklightInjector (Rehabman - for Brightness)
  • IntelMausiEthernet (Rehabman - Lan Driver)
  • USBInjectAll (RehabMan - Makes all usb ports active - in use with the SSDT-USB for fixing USB Ports)
  • ALC292 (Credits to InsanelyDeepAk) - Audio kext + New ALC_Fix that fixes Audio (100% working now).
  • CodecCommander (Rehabman - for fixing no audio after wake from sleep + the other patches included on SSDT-ALC292.dsl)
  • BrcmFirmwareRepo (RehabMan - Bluetooth)
  • BrcmPatchRam2 (RehabMan - Bluetooth)
  • Shiki ; Lilu ; IntelGraphicsFixup (for HD4400/4600/5000 freezing issues fix + iTunes Trailers & Videos fix)
Graphics
install into Sytem/Library/Extensions:
  • FakePCIID.kext
  • FakePCIID_Intel_HD_Graphics.kext
HD4400/4600/5000 have some Freezing Issues on specific Websites,iTunes Trailers,Movies etc, in order to fix those we need to install these kext into System/Library/Extensions:
  • Shiki.kext
  • Lilu.kext
  • IntelGraphicsFixup.kext
Link to the post: https://www.tonymacx86.com/threads/...0-hd5600-on-10-11.175797/page-92#post-1445142
Links for the specific kexts:
Shiki : https://github.com/vit9696/Shiki/releases
Lilu: https://github.com/vit9696/Lilu/releases
IntelGraphicsFixup: https://sourceforge.net/projects/intelgraphicsfixup/



HDMI
Install into System /Library /Extensions: FakePCIID_HDMI_Audio.kext
Into Clover Configurator or PlistEditPro or Xcode - Open the config.plist:
Into Kernel and Kext Patches - add this patch (already present on Rehabman Prebuilt Config.plist patches on his github)

Name: AppleIntelFramebufferAzul
Find: 01050900 00040000 87000000
Replace: 01051200 00080000 87000000
Comment: HDMI-audio, port 0105(12), 0x0a260005 0x0a260006, 0x0d220003, 0x0a2e000a, 0x0a26000a

Link to the guide & Downloads: https://www.tonymacx86.com/threads/fix-hd4200-hd4400-hd4600-hd5600-on-10-11.175797/



WIFI & Bluetooth (Bluetooth 4LE,5GHZ Wifi,HandsOff,Hotspot)
First of all you need to install the necessary kexts Into System/Library/Extensions:
  • FakePCIID_Broadcom_WIFI
  • BrcmPatchRam2
  • BrcmFirmwareRepo
Into Clover config.plist - Kernel & Kext Patches:

This is for Wifi
Name: AirPortBrcm4360
Find: 81f952aa 00007529
Replace: 81f952aa 00006690
Comment: AirPortBrcm4360 - fcvo (theDarkVoid)

This is for Bluetooth
Name: AirPortBrcm4360
Find: 4885ff74 47488b07
Replace: 41be0f00 0000eb44
Comment: AirPortBrcm4360 - 10.11+ BT4LE Handsoff/Hotspot

This is for Enabling 5GHz Band non-US Version (europe/asia or whatever). "if you live in US no need for this patch - Natively Supported)
Name: AirPortBrcm4360
Find: 4183fcff 742c48
Replace: 66c70623 61eb2b
Comment: 10.11-BCM94352-CC=#a-Ramalama

This is Patch Enables AirPort Extreme
Name: AirPortBrcm4360
Find: 6b100000 750d
Replace: 6b100000 9090
Comment: 10.11+-BCM94352-Airport-Extreme-skvo



Kext Link for BrcmPatchRam2 & BrcmFirmwareRepo: https://github.com/RehabMan/OS-X-BrcmPatchRAM
Link to the Guide: https://www.tonymacx86.com/threads/guide-airport-pcie-half-mini-v2.104850/




Audio
Thanks to InsanelyDeepak for his Phenomenal work he managed to Completely Patch this Problematic Audio Codec,with the new patch now Laptop has higher volume on speakers,much better sound quality on Both Speakers & Headphones, also the External Mic now properly works everytime you need it.
Install the necessary kexts into System/Library/Extensions:
  • ALC292
  • CodecCommander
Install the latest ALC Plug_Fix that i added on this Update (v3.0) of the guide since it has been changed.

Apply the Patches on config.plist - Kernel and Kext Patches:

Patch1:
Name: AppleHDA
Find: 8508ec10
Replace: 00000000
Comment: Zeroing 10ec0885 codec

Patch2:
Name: AppleHDA
Find: 8419d411
Replace: 9202ec10
Comment: Patching 11d41984 with 10ec0292 codec



USB Ports
Since i have the Unlocked Advanced Menu on Bios thnx to the Mod i did,i don't need the SSDT-Disable_EHCI since i have EHCI Controllers (EH01 & EH02) Disabled directly on Bios.
i created a SSDT-USB from RehabMan Template to Override/Fix USB ports.
so if you removed whitelist and unlocked advanced menu on bios remove the SSDT-Disabe_EHCI from Master SSDT (SSDT-L440.dsl) since theres no need for it but it won't hurt having it either so your choice.
For further Problems faced or need for investigation/Problem Reporting please do to the according guide:
https://www.tonymacx86.com/threads/guide-10-11-usb-changes-and-solutions.173616/



iMessage
iMessage is also a tricky one,not that it is hard to configure at all but this one has more to do with luck - Personally i had no success and i had a lot of trouble but finally have it working by trying various different guides and tips all over internet, here are some guides to follow:
For a simple method please follow the P1LGRIM`s Guide:
https://www.tonymacx86.com/threads/an-idiots-guide-to-imessage.196827/
or
JayMonkey (Advanced/InDepth) Guide:
https://www.tonymacx86.com/threads/how-to-fix-imessage.110471/



Touchpad / TrackPad / TrackPoint
for the Trackpad i use the Tluck fork of RehabMan VoodooPS2Controller which worked out of the box on my Upgraded Trackpad.
i built the kext from his github and will attach on the guide for you that don`t know how to built from source with xcode.
Also you will need the SSDT-TRACKPAD to Inject T460 Identifier in order for Trackpad/TrackPoint and ClickPad to work Perfectly.
Tluck`s Link to Github: https://github.com/tluck/OS-X-Voodoo-PS2-Controller



Power Management
for Power Management you have to create a SSDT from PikerAlpha`s script.
Please follow the Rehabman Guide for the Instructions:
https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/

Update: on Haswell+ Processors there's no need to do the steps above on the guide,all we have to do is inject the PluginType1 from the SSDT-PluginType1 which is more generic and should work on All CPU's Haswell+ (Universal).



Display EDID
there is a known bug in Sierra on some specific laptops/display panels where the SysPrefs>Display preferences Pane won`t load.
you won`t be able to change resolution or Color Profile or select displays
for a fix follow the rehabmans Post - Sierra Common Unsolved Problems,there`s a fix listed by a guy.
you have to dump your edid and modify/patch it in order to fix the issue which in L440 it affects the 1366x768 display.
Link to the post:
https://www.tonymacx86.com/threads/display-prefpane-cant-load-found-the-problem-and-solution.203955/
If you guys have trouble Patching the EDID,post your edid here and ill do the patch for you.im sure i did patch it for the 1366x768 panel but i don`t remember correctly where i saved it.

It seems that this issue has been fixed since macOS Sierra 10.12.4 and above

Card Reader

Thanks to Sinetek,we do have a semi working Card Reader kext that he ported from Linux,it is still under beta testing but it is working pretty well on my L440 so far, except that at its current beta phase it doesn't work if laptop sleeps,after wake from sleep the kext doesn't work,so in order to use the card reader again you will have to reboot.
i will include the latest beta kext on the guide so you don't have to scroll through the topic but for following his development or in case a newer kext comes out or goes out of beta testing please follow his guide/topic: http://www.insanelymac.com/forum/to...ver-for-realtek-rtsx-sdhc-card-readers/page-1
so that way whenever you want to install it you can assure you are using his latest kext.

Customization - Mod about this Mac
Since we have our beautiful L440 Laptops we need to have a proper Logo for it on About This Mac Screen to match our Machine & OS
i did find a beautiful Picture of it and Created 3 different versions of it so each one has to match with our OS that we have installed
1 with El Capitan Wallpaper,1 with Sierra & 1 with High Sierra
also the ThinkPad Clover theme that i use will be included in my EFI Folder,credits to the owner since i don't know who did create it
Mod about this Mac Guide (outdated):
https://www.tonymacx86.com/threads/mod-about-this-mac.79536/
A more In-Depth Guide so you can do every Possible Mod :
http://www.idownloadblog.com/2017/01/13/how-to-modify-about-this-mac-hackintosh/
Custom SSD/HDD/NVME Icons Personalization Topic:
https://www.tonymacx86.com/threads/custom-ssd-icons.93415/


About This Mac.jpg


Benchmarks
GeekBench:
https://browser.geekbench.com/v4/cpu/3445059

OpenCL:

https://browser.geekbench.com/v4/compute/935519

New HotPatch Include:


GeekBench.png




Changelog
Update v3.0:
  • Now completely Hotpatched via #include method from Rehabman (NUC Repo Syle)
  • (For the current "ERA" of Hackintosh) L440 ACPI Patching is perfect so far,no work left to be done.
  • Audio has been Patched now according to the Codec Dump from latest Ubuntu, so it does have higher volume,better sound,External Mic works correctly as far as i have tested (Credits to InsanelyDeepak)
  • Updated Benchmarks
  • Updated Customizations Section,added new L440 System Logos for El Capitan/Sierra/High Sierra
  • Added Customizations Guides
  • Added Card Reader Section - kext,status & Topic so you can follow for updates related to it or test the beta
  • Updated config.plist,use it as template,generate your own SMBIOS data and personalization stuff/patches
  • Updated kexts & added links for each
  • Added Missing Wifi Patches
  • Removed Wrong/Unnecessary/Useless Patches;Fixes &Code,also added the missing ones which results to decent Stability & Performance Improvements & Bug Fixes Overall.
Update v2.0:
  • Formatting Improvements (Text Placement,size,Fonts,Colors,Sections)
  • Now Guide is updated to Hotpatch method (not a single ACPi: SSDT,DSDT edit/patch/fix needed) Everything on Config.plist + SSDT`s
  • Audio is now Fixed (External Mic now works via Headphone Combo Jack too)
  • Added some Benchmarks
  • 80% Less work required on Fresh Install,New Members & Existing ones due to HotPatch Simplicity.
  • Bug Fixes,Stability & Performance Improvements
Version 1.0:
  • Initial Release


Problem Reporting
(Linked from Rehabman FAQ - Credits to him)
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/

It is impossible to diagnose a problem without data that shows how your system is configured.

Also, impossible to analyze any data that you might provide without a clear understanding of your hardware. So make sure your profile is filled as per the first question in this FAQ, "Q. Where do I start?".

If you can't boot, a bare minimum is:
- Boot verbose, attach photo
- Attach EFI/Clover folder as ZIP (press F4 and F2 at main Clover screen before collecting). Please eliminate 'themes' directory. Provide only EFI/Clover, not the entire EFI folder.

If you can boot, but are having some other problem, describe the problem clearly and provide data...

Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code (Text):

if [ -d ~/Downloads/RehabMan ]; then rm -R ~/Downloads/RehabMan; fi
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Note: It is easier if you use copy/paste instead of typing the commands manually.

Attach contents of Downloads/RehabMan directory as ZIP.

Attach ioreg as ZIP: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

Provide output (in Terminal):
Code (Text):

kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
kextstat|grep -y applehda

Attach EFI/Clover folder as ZIP (press F4 at main Clover screen before collecting). Please eliminate 'themes' directory. Provide only EFI/Clover, not the entire EFI folder.

Attach output of (in Terminal):
Code (Text):

sudo touch /System/Library/Extensions && sudo kextcache -u /

Compress all files as ZIP. Do not use external links. Attach all files using site attachments only.
 

Attachments

  • USB Installer Config-plist.zip
    3.4 KB · Views: 576
  • AppleBacklightInjector.kext.zip
    1.3 KB · Views: 399
  • ACPI.zip
    19.3 KB · Views: 637
  • (TLUCK)VoodooPS2Controller.kext.zip
    76.8 KB · Views: 371
  • alc_fix.zip
    13.1 KB · Views: 537
  • ALC292.zip
    11 KB · Views: 569
  • config.plist.zip
    4.9 KB · Views: 622
  • SystemLogo.zip
    875.8 KB · Views: 334
  • ThinkPad (Clover Theme).zip
    1 MB · Views: 397
  • (Card Reader).zip
    39 KB · Views: 432
Last edited:
Welcome to my Lenovo ThinkPad L440 In-Depth Guide.

View attachment 242319

(Formatting Improvements on the way,guide looks messy for now,ill improve it soon)​
Making this Laptop fully working as a Hackintosh machine took me plenty of time, dedication and hard work which i would have never been able to make it without the help of the awesome RehabMan & Tonymacx86 forum who really made his guides at a perfection level and did an unmeasurable help till i fixed everything on this laptop.
So after i finished everything on this laptop i realized how much effort it takes to learn new things so i really got inspired to make this guide so people who have same laptops as mine will have to spent much less time than i did and have a proper guide for their specific hardware.

My Laptop Specifications are/were:
  • Intel Core i5 4300M Haswell Processor.
  • 8GB Ram DDR3 1600Mhz
  • Intel HD Graphics 4600
  • Realtek ALC 292 Audio Codec
  • SAMSUNG MZ7TE128HMGR-000L1 SSD Drive 128GB
  • 14" 1366x768 Display (Upgraded to 1920x1080 IPS Display Panel) Panel name: B140HAN01.3 - Link:
https://www.aliexpress.com/item/Original-new-B140HAN01-3-Laptop-lcd-screen-14-0-slim-led-display-1920-1080-IPS-LED/32617060415.html?spm=2114.13010608.0.0.ak8RR8
  • Flat TrackPad/Touchpad (Upgraded to to the T460 Model Trackpad with 3 Physical Buttons) Touchpad Link:
https://www.aliexpress.com/item/For-LENOVO-T440-T440P-T440S-T540P-T450-Touchpad-Trackpad-With-Three-3-Buttons-Key/32427424309.html?spm=2114.13010608.0.0.k2vYwc
  • Intel AC7260 Dual Band Wifi Card (Upgraded to DW1560 - BCM94352z BT+Wifi Card for Hackintosh Support) Link:
https://www.aliexpress.com/item/BCM94352Z-DW1560-06XRYC-802-11ac-NGFF-M2-867Mbps-BCM94352-BT4-0-WiFi-Wireless-Card/32487923741.html?spm=2114.13010608.0.0.CuOUjG

For the people who are going to ask what is working - EVERYTHING except:
  • SD Card (Most of the SD Card Readers don`t work natively on hackintosh but there are 2-3$ cheap Chinese Dongles that should get you rid of this issue)
  • VGA Port (This has already became an ancient Port, we have to move on: you have MiniDisplay Port for that - buy a dongle)
Precautions!
  • The entire guide is based on MacOS Sierra which im currently using so keep that in mind
  • Disable Security Chip,TPM because they cause problems to sleep
  • Lenovo ThinkPad Laptops have the so-called WHITELIST which restricts installation of other Wireless+BT Cards.
In order to Remove whitelist:
you are required to purchase a CH341a Flash Programmer and SOIC8 TEST CLIP and disassemble your laptop to reach the Bios Chip (eeprom) to get access to it etc.
so for this step please follow the link from the bios-mods site which is the guide i followed to remove whitelist from my laptop:
https://www.bios-mods.com/forum/Thread-Guide-Whitelist-remove-for-2014-Lenovo-thinkpad
after i got a backup of my current bios i posted on the forum of that site my bios backup and i was fortunate enough to have an answer within 30minutes where a guy just removed whitelist, unlocked advanced menu and removed Haswell MSR Lock for me.
So all i did is just flashed that modified bios, assembled the laptop, installed the BCM94352z card and All working.

Creating Installation Media - USB Installer:
Follow the RehabMan Guide: https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/
When you Open Clover Installer Change Install Location : USB Drive
Customize and pick these Settings:
  • Install for UEFI Booting Only
  • Install Clover in the ESP
  • Drivers64UEFI > OSXAptioFixDrv-64
  • Finnish Install
On the EFI Partition of the USB : EFI\Clover\kexts\Other
All you need for reaching the desktop is Rehabman`s FakeSMC,VoodooPS2Controller,ACPIBatteryManager,IntelMausiEthernet.
i will attach the Installation-USB Config.plist file that you should use for Installation Purpose only which should be enough to finnish installation and reach desktop.

Beginning of the Guide
Assuming you reached/booted on Desktop: Install Clover with the same settings for the USB Installer but now install it on HDD.
i will attach my config.plist with all the patches and stuff so you can make your own from it or use mine with just the need to create a proper SMBIOS: Generating a Serial Number,MLB,Rom for iMessage to work.

Assuming you Dumped,Extracted/Dissasembled your ACPI Tables - DSDT and SSDT`s by following the rehabman guide:
https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/
Here are all the patches that are you going to need:

DSDT Patches:
  • Rename GFX0 to IGPU
  • Inject Audio Layout 3
  • Add IMEI
  • Fix SMBUS
  • Fix IRQ
  • Fix HPET
  • RTC Fix
  • Fix Mutex with Zero Non-Level Sync
  • Fix Haswell LPC
  • Fix WAK Arg0 v2
  • OS Check Fix (Windows 8)
  • Fix USB PRW (0x0D) Instant Wake
  • Search for RMV and change this methods from removable to non-removable - change from One to Zero in 2 places:
Code:
                Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status

               {
                   Return (One)

to:

               Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
               {
                   Return (Zero)
  • Disable XSEL,ESEL,XWAK because they might do changes/interfere to your USB Ports and might affect sleep:
Simply in front of each of this method add: Return(Zero) and the MaciASL Compiler should give you Statement Unreachable.
  • FN Buttons Re-Mapping so each of them should have proper function and you can assign them for specific options via SysPrefs > Keyboard > Shortcuts, here is the code:
  • Code:
    FN (Function Keys) ReMapping - Fix
    
    # _Q1D (Fn+F5) brightness down key
    into method label _Q1D replace_content
    begin
    Notify(\_SB.PCI0.LPCB.KBD, 0x0405)\n
    Notify(\_SB.PCI0.LPCB.KBD, 0x0485)\n
    end;
    
    # _Q1C (Fn+F6) brightness up key
    into method label _Q1C replace_content
    begin
    Notify(\_SB.PCI0.LPCB.KBD, 0x0406)\n
    Notify(\_SB.PCI0.LPCB.KBD, 0x0486)\n
    end;
    
    # _Q28 (Fn+F4) Microphone Mute key - Mapped to Siri Shortcut via SysPrefs>keyboard>shortcuts
    into method label _Q28 replace_content
    begin
    Notify(\_SB.PCI0.LPCB.KBD, 0x0368)\n
    Notify(\_SB.PCI0.LPCB.KBD, 0x3e8)\n
    end;
    
    # _Q19 (Fn+F7) Projector / Mirror mode key
    into method label _Q19 replace_content
    begin
    Notify(\_SB.PCI0.LPCB.KBD, 0x046e)\n
    Notify(\_SB.PCI0.LPCB.KBD, 0x04ee)\n
    end;
    
    # _Q2A (Fn+F8) Wireless disable key -- mapped to Notification Center via SysPrefs>keyboard>shortcuts
    into method label _Q2A replace_content
    begin
    Notify(\_SB.PCI0.LPCB.KBD, 0x0369)\n
    Notify(\_SB.PCI0.LPCB.KBD, 0x03e9)\n
    end;
    
    # _Q66 (Fn+F9) Settings key - Mapped to System Preferences via SysPrefs>keyboard>shortcuts
    into method label _Q66 replace_content
    begin
    Notify(\_SB.PCI0.LPCB.KBD, 0x0364)\n
    Notify(\_SB.PCI0.LPCB.KBD, 0x03e4)\n
    end;
    
    # _Q67 (Fn+F10) Mapped to Spotlight key via SysPrefs>keyboard>shortcuts
    into method label _Q67 replace_content
    begin
    Notify(\_SB.PCI0.LPCB.KBD, 0x036A)\n
    Notify(\_SB.PCI0.LPCB.KBD, 0x03eA)\n
    end;
    
    # _Q68 (Fn+F11) -Mapped to F20 button key-no function
    into method label _Q68 replace_content
    begin
    Notify(\_SB.PCI0.LPCB.KBD, 0x036B)\n
    Notify(\_SB.PCI0.LPCB.KBD, 0x03eB)\n
    end;
    
    # _Q69 (Fn+F12) Mapped as Launchpad shortcut via via SysPrefs>keyboard>shortcuts
    into method label _Q69 replace_content
    begin
    Notify(\_SB.PCI0.LPCB.KBD, 0x0367)\n
    Notify(\_SB.PCI0.LPCB.KBD, 0x03e7)\n
    end;
SSDT Patches:
in my case SSDT-9 is the Graphics SSDT and the needed Patches for this one are:
  • Rename GFX0 to IGPU
  • Brightness Fix
  • Rename B0D3 to HDAU (make sure to scroll down the code and change Layout ID from 12 to 3 since thats the one that is used for the guide - audio Injector kext that im going to provide on the link - like this:
    Code:
    from:
    
    "layout-id", Buffer() { 12, 0x00, 0x00, 0x00 },\n
    to:
    "layout-id", Buffer() { 3, 0x00, 0x00, 0x00 },\n

SSDT-4 (CPU0Ist) the CPU SSDT needs 1 patch:
  • Remove _PSS Placeholders
Done!.

These are all the modifications/patches that you need in terms of ACPI Patching.

Kexts needed:
  • FakePCIID.kext
  • FakePCIID_Intel_HD_Graphics.kext
  • FakePCIID_Intel_HDMI_Audio.kext
  • FakePCIID_Broadcom_WiFi.kext
  • VoodooPS2Controller.kext (Rehabman - Tluck Fork since it has Trackpoint Included)
  • ACPIBatteryManager.kext (Rehabman - This does show your battery status without any ACPI Patching needed)
  • FakeSMC + FakeSMC Plugins (Rehabman Fork)
  • IntelBacklight (Rehabman - for Brightness)
  • IntelMausiEthernet (Rehabman - Lan Driver)
  • USBInjectAll.kext (RehabMan - Makes all usb ports active - in use with the SSDT-UIAC for fixing USB Ports)
  • ALC292.kext (Credits to InsanelyDeepAk) - the Audio kext - Injector + the necessary Patches on config.plist for Audio
  • CodecCommander (Rehabman - for fixing no audio after wake from sleep + Combo Jack fix)
  • BrcmFirmwareRepo.kext (RehabMan - Bluetooth)
  • BrcmPatchRam2.kext (RehabMan - Bluetooth)
  • Shiki.kext ; Lilu.kext ; IntelGraphicsFixup.kext (for HD4400/4600/5000 freezing issues fix + iTunes Trailers & Videos fix)

Graphics, HDMI & HDMI Audio, Bluetooth,Wifi

for Graphics QE/CI,all you need is:
to install into Sytem/Library/Extensions:
  • FakePCIID.kext
  • FakePCIID_Intel_HD_Graphics.kext

for HDMI & HDMI audio you need the kext: FakePCIID_Intel_HDMI_Audio.kext
Into Clover Bootloader or PlistEditPro or Xcode - Open the config.plist:
Into Kernel and Kext Patches - add this patch (already present on Rehabman Prebuilt Config.plist patches on his github)

Name: AppleIntelFramebufferAzul
Find: 01050900 00040000 87000000
Replace: 01051200 00080000 87000000
Comment: HDMI-audio, port 0105(12), 0x0a260005 0x0a260006, 0x0d220003, 0x0a2e000a, 0x0a26000a


Link to the guide & Downloads: https://www.tonymacx86.com/threads/fix-hd4200-hd4400-hd4600-hd5600-on-10-11.175797/


To fix the HD4400/4600/5000 Freezing Issues with certain videos and content & Trailers + Videos on iTunes:
you have to install these following kexts:
Shiki.kext ; Lilu.kext ; IntelGraphicsFixup.kext

Link to the post: https://www.tonymacx86.com/threads/fix-hd4200-hd4400-hd4600-hd5600-on-10-11.175797/page-92#post-1445142

For Wifi
Name: AirPortBrcm4360
Find: 81f952aa 00007529
Replace: 81f952aa 00006690
Comment: AirPortBrcm4360 - fcvo (theDarkVoid)


for Bluetooth 4LE,HandsOff, Hotspot:
Name: AirPortBrcm4360
Find: 4885ff74 47488b07
Replace: 41be0f00 0000eb44
Comment: AirPortBrcm4360 - 10.11+ BT4LE Handsoff/Hotspot


Install BrcmPatchRam2.kext, BrcmFirmwareRepo.kext
Link: https://github.com/RehabMan/OS-X-BrcmPatchRAM

Link to the Guide: https://www.tonymacx86.com/threads/guide-airport-pcie-half-mini-v2.104850/

Some Notes regarding to Audio:

When it comes to audio, this was the hardest part that i faced and still isn`t all perfect since having a fully functional audio requires to dump your audio codec and patch it according to the dump and that requires a lot of work.
the one im currently using is from InsanelyDeepak (credits to him)
his prebuilt ALC292 Injector works perfect except that it doesn`t have external Mic on it.
if someone out there is willing to help and further improve the work here i already have a codec dump which i will attach on the guide.
Mirone tried to patch but he had some nature problems(electrical burn on house) which he is currently out of the community of hackintosh audio until he gets a new pc,so im half way fixed on that.
he patched the audio from the codec dump but it all works on cold boot,after i unplug and then plug earpods again i have no audio and no external mic detection (line-In)
i have to sleep the laptop and wake again to have working audio but no external just internal mic detected.
External mic works only on Fresh boot - First plug.... Anyway:

For audio:
Install ALC292.kext & CodecCommander.kext
Apply the Patches on config.plist - Kernel and Kext Patches:

patch1:
Name: AppleHDA
Find: 8508ec10
Replace: 00000000
Comment: Zeroing 10ec0885 codec


Patch2:
Name: AppleHDA
Find: 8419d411
Replace: 9202ec10
Comment: Patching 11d41984 with 10ec0292 codec


USB Ports:
Since i have the Unlocked Advanced Menu on Bios thnx to the Mod i did,i didnt need to have specific code to disable EH01,EH02 Controllers,i just disabled them on BIOS.
i created a SSDT-UAIC from RehabMan Template to Override/Fix USB ports.
so if you removed whitelist and unlocked advanced menu on bios,feel free to use my SSDT and simply disable EH01 & EH02 in Bios (ssdt attached on the guide)
if you don`t and need to fix USB Ports please follow the Detailed guide from Rehabman:
https://www.tonymacx86.com/threads/guide-10-11-usb-changes-and-solutions.173616/.

iMessage fix:
iMessage is also a tricky one,not that it is hard to configure at all but this one has more to do with luck - Sort of
Please follow the P1LGRIM`s Guide:
https://www.tonymacx86.com/threads/an-idiots-guide-to-imessage.196827/

TouchPad. TrackPad, Trackpoint:
for the Trackpad i use the Tluck fork of RehabMan VoodooPS2Controller which worked out of the box on my Upgraded Trackpad.
i built the kext from his github and will attach on the guide for you that don`t know how to built from source with xcode.
Also you will need two SSDT-s to override configuration to match the trackpad:
SSDT-KBD-T460 & SSDT-Disable_DynamicEWMode which will be included also on my EFI Folder.
Tluck`s Link to Github: https://github.com/tluck/OS-X-Voodoo-PS2-Controller

Power Management:
for Power Management you have to create a SSDT from PikerAlpha`s script.
Please follow the Rehabman Guide for the Instructions:
https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/

Display EDID:
there is a known bug in Sierra on some specific laptops/display panels where the SysPrefs>Display preferences Pane won`t load.
you won`t be able to change resolution or Color Profile or select displays
for a fix follow the rehabmans Post - Sierra Common Unsolved Problems,there`s a fix listed by a guy.
you have to dump your edid and modify/patch it in order to fix the issue which in L440 it affects the 1366x768 display.
Link to the post: https://www.tonymacx86.com/threads/display-prefpane-cant-load-found-the-problem-and-solution.203955/
If you guys have trouble Patching the EDID,post your edid here and ill do the patch for you.im sure i did patch it for the 1366x768 panel but i don`t remember correctly where i saved it.

Finally - Mod about this Mac Screen for the Final Personalization
i will attach the Laptop Photo that i made for mine and post it for you there.
also the thinkpad Clover theme that i use will be included in my EFI Folder,credits to the owner.
Guide: https://www.tonymacx86.com/threads/mod-about-this-mac.79536/



This is my guide to Lenovo ThinkPad L440,i hope it helps you L440 users out there,i tried to describe it as clear as possible and as short and simple as possible.
i will try to maintain,add/improve/update this guide as soon as something changes or that i found necessary to add or unnecessary to be.
Credits to Everyone on this forum who made it possible for us to have our own custom Mac Machines Fully Functional like we had real Mac`s,without you guys we would`ve never been able to be here.
Really great guide:clap:.
Very detailed and your optional theming guide is awesome.:thumbup:
 
Really great guide:clap:.
Very detailed and your optional theming guide is awesome.:thumbup:
Thank you very much,im glad that you like it.
Although the formatting of the text is a bit ugly right now but im going to update it soon - more polishing and also add more stuff like benchmarks (Macbook Pro 11.1 vs L440 which uses same smbios and almost same specs 95%) etc.
 
Making this Laptop fully working as a Hackintosh machine took me plenty of time
Thank you for this awesome guide. I got everything working on El Capitan in a few days, without your help it would take months.
My audio works with AppleALC, but external mic doesn't as far as I can tell.
USB ports work fine with USBInjectAll + your SSDT. No port patch required.
Only minor issue I have left is Shutdown doesn't really shutdown, but restart instead. Any suggestions?
 
Last edited:
Im glad you made it so far & this fast and managed to fix most of the issues.

Audio: Layout ID 12 on AppleALC is the ALC292 Codec (which works perfect but doeesnt have external mic).
Layout ID 28 is the ALC292 Codec (For ThinkPad T440) on AppleALC (which does have External Mic),so if you have some Headphones with mic and have time to play around,try just changing your layout ID to 28 and reboot.
Test External Mic,it should work, but make sure you unplug and then plug them again and see again if external mic is detected (Line-In),if External Mic works even on second plug/unplug then i know for sure that this is a Sierra change thats causing the issue.
Are you using CodecCommander,did headphones work without codec commander ?

Shutdown: Post your Bios Settings/pages Screenshots (each page,especially security ones) because it might be related with bios,
Also post your ACPI Tables (SSDT`s,DSDT) both Origin & Patched so i can land an eye on it and see if i can spot something unusual.
 
have time to play around
Will try this weekend.
Are you using CodecCommander,did headphones work without codec commander ?
Headphones were not working without it. Just static instead of a sound. CodecCommader fixed it and also sound after sleep.
it might be related with bios
Shutdown fixed. I disabled Virtualisation in BIOS (if it was related) and patched DSDT to fix USB after sleep. One or the other (or both) fixed shutdown issue.
 
Last edited:
Will try this weekend.
Ok thanks,it will help us L440 users to perfect the Audio Codec Patch, since im not sure if right now the one with working external mic has patching issue or its correctly patched but then just a sierra change that doesn`t work the way it did.
Headphones were not working without it. Just static instead of a sound. CodecCommader fixed it and also sound after sleep.
Ok great,wanted to make sure if this is the same on El Capitan as well.
Shutdown fixed. I disabled Virtualisation in BIOS (if it was related) and patched DSDT to fix USB after sleep. One or the other (or both) fixed shutdown issue.
It was Bios Settings Most propably,"Virtualization ON" causing the problem with shutdown.USB after sleep this one i don`t think could`ve been causing that issue,but what usb after sleep fix did you do : PRW 0x0D ?

Thanks for the testing and great job, i think that now you fixed all the issues that you reported so far.
 
Welcome to my Lenovo ThinkPad L440 In-Depth Guide.


Hi,
This is a great and clean thread you've got here.
I have an almost similar model, Lenovo ThinkPad T540p. It's a bit different but I think most fixes will work on both devices.
So, my problem is wake from sleep. The laptop sleeps but can't be waked from sleep. I would press the power button, the keyboard, the trackpad, the trackpoint, close and open the lid; nothing wakes the laptop up. I have to force shutdown it and then power it on back. The keyboard backlit would work though (mine is backlit, usually accessible by Fn+Space Bar).
You mentioned Security Chip and TPM, can you show me please these sections of your BIOS ? (I hope yours is an Insyde BIOS as well).
The second bug is the power management. My battery seems to drain really fast under OS X. I have followed the PM thread at least 4 times and have changed SMBIOS to see if it changes it. Nothing worked so far.
Laptop's details can be found in my signature.
 
Hi,
This is a great and clean thread you've got here.
I have an almost similar model, Lenovo ThinkPad T540p. It's a bit different but I think most fixes will work on both devices.
So, my problem is wake from sleep. The laptop sleeps but can't be waked from sleep. I would press the power button, the keyboard, the trackpad, the trackpoint, close and open the lid; nothing wakes the laptop up. I have to force shutdown it and then power it on back. The keyboard backlit would work though (mine is backlit, usually accessible by Fn+Space Bar).
You mentioned Security Chip and TPM, can you show me please these sections of your BIOS ? (I hope yours is an Insyde BIOS as well).
The second bug is the power management. My battery seems to drain really fast under OS X. I have followed the PM thread at least 4 times and have changed SMBIOS to see if it changes it. Nothing worked so far.
Laptop's details can be found in my signature.
Take pictures of your Bios Pages, don't upload the first one because it has your UUID and laptop hardware information but the other ones especially security tab.
Because my bios is modified and it has unlocked advanced menu where almost all of the settings are there which is different from the original bios so i don't know if it will help you,i will post my bios screenshots as well after i go back home tonight.

Post/Attach your ACPI Tables (DSDT,SSDT's) origin and patched also a copy of ioreg and config.plist (remove your personal info *serial number,mlb,rom & UUID* from config.plist that you are going to attach)

Power Management is probably not implemented correctly if you have fast battery drain.

Wake from sleep issue might be from bios settings but could be from improperly patched ACPI as well.

Also attach your kexstat and kextcache output.
Open terminal and paste the code below:
sudo touch /System/Library/Extensions && sudo kextcache -u /
Attach the output that you get from it and the output from kextstat:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
kextstat|grep -y applehda

Follow Toleda guide on how to make a copy of ioreg:
http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html


Will take a look at your data after you attach, analyze them and report back.
 
Last edited by a moderator:
Take pictures of your Bios Pages, don't upload the first one because it has your UUID and laptop hardware information but the other ones especially security tab.
Because my bios is modified and it has unlocked advanced menu where almost all of the settings are there which is different from the original bios so i don't know if it will help you,i will post my bios screenshots as well after i go back home tonight.

Post/Attach your ACPI Tables (DSDT,SSDT's) origin and patched also a copy of ioreg and config.plist (remove your personal info *serial number,mlb,rom & UUID* from config.plist that you are going to attach)

Power Management is probably not implemented correctly if you have fast battery drain.

Wake from sleep issue might be from bios settings but could be from improperly patched ACPI as well.

Also attach your kexstat and kextcache output.
Open terminal and paste the code below:
sudo touch /System/Library/Extensions && sudo kextcache -u /
Attach the output that you get from it and the output from kextstat:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
kextstat|grep -y applehda

Follow Toleda guide on how to make a copy of ioreg:
http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html


Will take a look at your data after you attach, analyze them and report back.
RehabMan had asked me to provide similar files which I did on my thread related to the problem. You can get it from here https://www.tonymacx86.com/threads/lenovo-t540p-sleep-and-mas-problems.217561/#post-1463073
I have attached some pictures of my BIOS. Had to compress them because they were too large and there were too much pictures.
 

Attachments

  • Bios Pictures.rar
    14.6 MB · Views: 298
Status
Not open for further replies.
Back
Top