Contribute
Register

[Guide] Lenovo ThinkPad L440 (v3.0)

Status
Not open for further replies.
Guide has been Updated to v3.0 Finally
Thank you! Personally I've been waiting for it impatiently! Happy time for L440 users.
I'm currently on a 2.0 version of your guide and trying to make 3.0 work, I need your advice.
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
It would be helpful to newcomers if we had mention of needing iasl and a link to download
Open terminal and enter Command
Now that's easy step, but tricky. After executing command I get desired file, but it is far from complete (see screenshot). I did remove SSDT-TRACKPAD.dsl though - since I use original one and not T460. Maybe that is reason it won't assemble properly
For the kexts most of them are from Rehabman so you can find each one on Rehabman Github:
https://github.com/RehabMan?tab=repositories
If you have time, place separate links next to each kext. They are named a bit differently on GitHub and it takes time to locate them. Bitbucket links would work best. It takes quite some time to find/download/extract all of those kexts into single folder
Enjoy your Improved L440's
Current plan is to install High Sierra and make a fusion drive out of my 128Gb SDD and 500Gb HDD.
I am very much enjoying what you accomplished here, sir
I have a few questions left. I have ExpressCard slot which is occupied with card which gives me 2 USB ports.
When I turn on ExpressCard in UEFI on boot to OS my keyboard and mouse stops working. Can something in hot patch cause it?
- If ExpressCard still doesn`t work,enable the _RMV patch on config.plist (did the change on the config.plist for you)
- Install that kext and enjoy your SD Card Reader (one small issue,if laptop sleeps it doesn`t work anymore "workaround-reboot") but its still under beta so when it gets updated,ill add it on the guide.
I am still a bit puzzled by your answer here. I was not referring to SD card reader - I don't use it. I was referring to ExpressCard 54mm slot which not all of the 440 have - it's an optional thing. Do you have any ideas about my initial question on this matter? Much appreciated
 

Attachments

  • Screen Shot 2017-07-29 at 21.00.22.png
    Screen Shot 2017-07-29 at 21.00.22.png
    168.1 KB · Views: 221
It would be helpful to newcomers if we had mention of needing iasl and a link to download
Yes you are right, i spotted that as a miss and will plan to do a 3.1 update of the guide by adding the links for each kext + some missing links from other files.
Here is iasl link: https://github.com/RehabMan/Intel-iasl
Scroll down, he has the link and installation process, download the iasl.zip ; dont download iasl51.zip
Now that's easy step, but tricky. After executing command I get desired file, but it is far from complete (see screenshot). I did remove SSDT-TRACKPAD.dsl though - since I use original one and not T460. Maybe that is reason it won't assemble properly
if you removed the SSDT-TRACKPAD.dsl file and you didn't remove it from the SSDT-L440.dsl it's expected to have errors.

Into the SSDT-L440.dsl: remove the line:

#Include
"SSDT-TRACKPAD.dsl"

save the SSDT-L440.dsl
After that it should Assemble correctly.
If you have time, place separate links next to each kext. They are named a bit differently on GitHub and it takes time to locate them. Bitbucket links would work best. It takes quite some time to find/download/extract all of those kexts into single folder
Actually the reason why i add repos is because some people prefer to compile their own kext straight from source instead of prebuilt kexts, also each repo contains details on installation procedures, including the download links. Thats the main reason, but for the sake of laziness :angel: and beginners i will add to each kext Repo + Bitbucket link on next update.
Current plan is to install High Sierra and make a fusion drive out of my 128Gb SDD and 500Gb HDD.
I am very much enjoying what you accomplished here, sir
High Sierra by the way it looks: Hackintosh wise - L440 is ready for High Sierra already.
Some patches that we use on Sierra like BCM94352Z fcvo & B4LE / HandOff / Hotspot patches aren't needed on High Sierra anymore,they work out of the box,Activity Monitor on Energy Tab doesn't crash on High Sierra so its fixed.
NVMe SSD's work out of the box too, so overall High Sierra for me seems to have enlightened the work for Hackintosh machines by a lot (more Flexible), by also having the option for External GPU etc.
Overall what is left is just Apple to fix their bugs on betas and a new Boot Graphics Glitch so far.
I am still a bit puzzled by your answer here. I was not referring to SD card reader - I don't use it. I was referring to ExpressCard 54mm slot which not all of the 440 have - it's an optional thing. Do you have any ideas about my initial question on this matter? Much appreciated
RMV.png

i understand that you were not refering to SD Card Reader,but just said to try and disable this patch and test if it works. if not provide the Error Reporting Files and maybe @RehabMan can give you an answer.
My L440 does have Express Card Slot too,but i don't have any Express Card Accessories to test out if it's working or not.
Since you got one it would be nice to test and see what we can do so we can add the (if needed) aditional fixes/patches so everyone else can have it on the guide.
 
Scroll down, he has the link and installation process
RehabMan has alternative installation instructions, I find them easier. In terminal:
cd ~/Downloads
curl --remote-name --progress-bar --location https://bitbucket.org/RehabMan/acpica/downloads/iasl.zip
unzip iasl.zip
sudo cp iasl /usr/bin

save the SSDT-L440.dsl
After that it should Assemble correctly
Assembled successfully. When using new SSDT-L440.dsl I encountered 2 problems:
  • Audio layout ID doesn't seem to inject (shows 0). When cross checking HDAU and HDEF sections in 3.0 single file and 2.0 separate files I found minor differences, but even after making them the same layout ID won't inject with single file. When adding 2 old ACPI files (HDAU and HDFE from 2.0) audio is working (ID shows 13). Maybe I overlooked something, please share your thoughts. Also note that I use latest kexts from 3.0 guide and my config is fine. Single ACPI file in attachment
  • Brightness slider is gone. After reinstalling brightness kext from #1 post I don't have any control over brightness. Kext loads, config patch is in place. Using old ACPI files had no effect. Any ideas are appreciated
Since you got one it would be nice to test
I purchased a £6 USB 3.0 card just to "plug the hole" and test if my model has ExpressCard capability.
It actually works very well under Windows and I found a guide to make it work under Mac. Will test next month and report here.
 

Attachments

  • SSDT-L440.aml.zip
    2.3 KB · Views: 97
Last edited:
Assembled successfully. When using new SSDT-L440.dsl I encountered 2 problems:
  • Audio layout ID doesn't seem to inject (shows 0). When cross checking HDAU and HDEF sections in 3.0 single file and 2.0 separate files I found minor differences, but even after making them the same layout ID won't inject with single file. When adding 2 old ACPI files (HDAU and HDFE from 2.0) audio is working (ID shows 13). Maybe I overlooked something, please share your thoughts. Also note that I use latest kexts from 3.0 guide and my config is fine. Single ACPI file in attachment
  • Brightness slider is gone. After reinstalling brightness kext from #1 post I don't have any control over brightness. Kext loads, config patch is in place. Using old ACPI files had no effect. Any ideas are appreciated

  1. Delete old ACPI files that you modified, Re-download the acpi zip from the guide again.
  2. Remove only #Include "SSDT-TRACKPAD.dsl" from SSDT-L440.dsl and from the acpi folder since you don't need it.
  3. Don't touch SSDT-HDEF & SSDT-HDAU,they are all configured/perfect. Layout ID is not injected on them, it's injected on the SSDT-L440.dsl:
Layout ID.png


as you can see in the picture:
on the SSDT-L440.dsl Layout ID is already injected there for both HDEF & HDAU into Name(AUDL, 13) don't touch anything else. (unless you change your layout id change the 13 to your value if using different audio patch)
4. I attached the correct version of ALC292.kext since i might somehow have attached a wrong version.
5. Brightness should work too, test it after you compile the Single "SSDT-L440.aml" and see if its working after.
You might have messed something into the SSDT's or on the main that it caused it to fail loading.
6. When reporting errors/issues. attach the "Problem Reporting" files mentioned on the last section of the guide. i need all of the requested data in order to see what's the problem.
7. About the Express Card USB Accessory that you have it's a accessory issue/patching needed rather than a patch for the Express Card slot if im not mistaken.
 

Attachments

  • ALC292.zip
    10.6 KB · Views: 105
Thanks sniki for all the hard work.
Having the same issues with audio and brightness with the single SSDT-L440.aml
For the Audio I just added 13 under devices audio in the config.plist.
As for brightness I removed SSDT-PNLF.dsl from SSDT-L440.dsl built SSDT-L440.aml Then built SSDT-PNLF.aml then added that to my sorted order and brightness works fine added individually but not as one.
 
Thanks sniki for all the hard work.
Having the same issues with audio and brightness with the single SSDT-L440.aml
For the Audio I just added 13 under devices audio in the config.plist.
As for brightness I removed SSDT-PNLF.dsl from SSDT-L440.dsl built SSDT-L440.aml Then built SSDT-PNLF.aml then added that to my sorted order and brightness works fine added individually but not as one.
I personally don't have any of the mentioned issues on my laptop. I just went to sleep so tomorrow i will add my compiled ssdt-l440.aml so you can test out.
Add error reporting files so i/we can look what's wrong and what was causing the audio & brightness to not load properly with your assembled SSDT-L440.aml
Just to make sure if a non intentional mistake happened during upload, i will create a new ssdt for my laptop and see if i can produce same problem in my L440
Even though Having a separate SSDT-PNLF won't hurt either...
 
I have just installed Sierra and will compare results ioreg and boot.logs between the two tomorrow and post them, also as my bios hasn't been patched yet I've disabled some patches in kext to patch i.e. airport and dvmt patch so my bios will be different to yours "I've updated it to the latest for the l440"
Again thanks for the work on the l440 installing Sierra was quicker and easier than installing windows.
 
Thank you for the great tutorial, Sniki!!!

I have used a combination of your tutorial and Rehabman's guides to successfully upgrade to High Sierra on a Lenovo T450 Broadwell i7 machine with Intel HD 5500 graphics. However, I am having a couple of small issues I hope you can help me with. I am new to the Clover Hotpatch method and am hoping I have just missed something simple. To get everything functional, I had to static patch the DSDT for battery and change PCI0.VID to PCI0.IGPU (only way I could get brightness control) THEN implement the Hotpatch SSDT. The issues that remain are as follows;

1. On boot, my system has a long pause "kextd stall [0] 60s 'IGPU' (then something about IOResources)". This happens three times in a row before booting to the login screen.
2. The system will not wake from sleep. This is an issue I never cleared up in Sierra either.

Everything else seems to work great! Any help you can offer would be greatly appreciated. I have attached the necessary files for review.
 

Attachments

  • Archive.zip
    2.6 MB · Views: 95
Thank you for the great tutorial, Sniki!!!

I have used a combination of your tutorial and Rehabman's guides to successfully upgrade to High Sierra on a Lenovo T450 Broadwell i7 machine with Intel HD 5500 graphics. However, I am having a couple of small issues I hope you can help me with. I am new to the Clover Hotpatch method and am hoping I have just missed something simple. To get everything functional, I had to static patch the DSDT for battery and change PCI0.VID to PCI0.IGPU (only way I could get brightness control) THEN implement the Hotpatch SSDT. The issues that remain are as follows;

1. On boot, my system has a long pause "kextd stall [0] 60s 'IGPU' (then something about IOResources)". This happens three times in a row before booting to the login screen.
2. The system will not wake from sleep. This is an issue I never cleared up in Sierra either.

Everything else seems to work great! Any help you can offer would be greatly appreciated. I have attached the necessary files for review.
First go into Bios and check if you have Disabled/Turned Off:
  • TPM
  • Anti Theft Module
  • Security Chip
  • Serial Port
These are the first things to check on ThinkPads if you are facing sleep issues.
What happens when you wake the laptop ?
Does the screen stay black and laptop makes the bios sound " beep beep beep x2" something like that ?

Your ACPI doesn't have GFX0 but uses PCI0.VID instead so the PCI0.VID to IGPU rename is the only one applied to GPU
1.Your Patching is a mess right now, lot of unnecessary patches applied,some wrong,some missing.
2. Change the settings above on bios,dump new acpi tables by pressing F4 on Clover Boot menu since they will change after you edit those bios settings.

i can already See TPM on your SSDT-13 which is likely the one causing the wake from sleep problems.
After you upload the new files:
Until i analyze your data,go ahead and read the Complete ACPI Hotpatching guide of Rehabman:
https://www.tonymacx86.com/threads/guide-using-clover-to-hotpatch-acpi.200137/
Read it 2-3 times the entire Post, after you get a understanding on it, i will assist you on creating your Complete Hotpatched ACPI for your laptop.
Will make a short post explaining how to analyze DSDT,SSDTs and to see how you find patches and renames (even though it's clearly explained on Rehabman guide)
but will find 1 patch for you with pictures and commands so you can find the others,then i will assist if you get stuck

For example:
After you dumped your ACPI Tables copy the Origin folder from EFI/Clover/ACPI/origin into Desktop.

Delete all other ACPI files and leave only DSDT & SSDT's

Open Terminal and Enter Commands:

cd desktop/origin

iasl -da -dl DSDT.aml SSDT*.aml

there you will have your disassembled ACPI Tables.

after that you enter this command with each ACPI extracted table to create patch Analyzing files - for example:

iasl -l dsdt.dsl

This does create a dsdt.Ist file on that same folder,open that file with the editor of your choice (in my case i use PlistEditPro)
there you will have everything to make patches from.
make sure you make same files from each SSDT too for example iasl -l SSDT-0.dsl till your last ssdt : iasl -l SSDT-13.dsl
First thing to do is go to Rehabman laptop config plist repo: https://github.com/RehabMan/OS-X-Clover-Laptop-Config
Download the repo as ZIP.
Go to extracted repo folder then into the Hotpatch folder and open the config.plist (on your editor of your choice). will use clover configurator just for easier User Interface so you can look better at.
Lets start from here: lets say we want to see if we need the patch:
Comment: change _DSM to XDSM
Find: 5f44534d
Replace: 5844534d

Lets say you already opened the DSDT.Ist file in PlistEdit Pro:
Search for: 5f 44 53 4d (the Find: hex code but with spaces between each 2 characters check on the photo:
XDSM.png

You can see that your dsdt has DSM method so the patch does apply so you can use the DSM to XDSM rename patch.
Lets say one of the patches isn't present on DSDT,check SSDT-0 till SSDT-13. lets say if PCI0.VID doesnt exist on DSDT,search on other SSDTs starting from SSDT-0 and above.
Lets say you find it on SSDT-1 that you have PCI0.VID to IGPU, don't search for the other SSDTs for the same patch since if its present on other SSDTs too it will apply to them aswell if same code is present (if PCI0.VID is on other SSDTs too,it will renamed on them too to IGPU)
analyze all the current patches from rehabman config.plist and remove the ones that doesn't exist on any SSDT or the DSDT at all.
If FN buttons from my patches worked for you,use the same patches,add the patches from my config.plist to yours (pick what you need that works). from Q1D till Q69 (all FN keys remapped so to be used with SSDT-KBD)
Mutex-es seems to be already 0,no need for mutex patch found on your current data.
Also i don't see UPRW or GPRW
so i guess a simple replace without the need for SSDT-PRW will be enough to fix instant wake,test and report back with result
what i found so far from your ACPi Tables:

ThinkPad T450:

DSM to XDSM
OSI to XOSI
EHC1 to EH01 (i dont see EH02,so no need for that only EHC1 to EH01 patch needed)
PCI0.VID to IGPU
B0D3 to HDAU
HDAS to HDEF
LPC to LPCB
PTS,1,N to ZPTS
WAK,1,N to ZWAK
ESEL,0,S to ESEZ
SAT1 to SATA:
Find 53 41 54 31
Replace 53 41 54 41


Instant Wake Fix Patches (test if they work):

Comment: PRW1: Find 12 06 02 0A 0D 0A 03 Replace 12 06 02 0A 0D 0A 00

PRW2: Find 12 06 02 0A 6D 0A 04 Replace 12 06 02 0A 6D 0A 00

PRW3: Find 12 15 03 0A 6D 0A 03 Replace 12 15 03 0A 6D 0A 00

PRW4: Find 12 06 02 0A 0D 0A 03 Replace 12 06 02 0A 0D 0A 00

remove the SSDT-PRW and test if it works fine with only the 4 PRW patches above,if not revert the SSDT-PRW although you might need to edit it a bit if it still wasn't working for you.

Test,analyze report back with results.

Try to complete hotpatch it with the mentioned above don't do static patching,read rehabman guide for further explanations
if you get stuck somewhere we can help.

Good luck
 
@insurgensy
Im running 1 bios older than the latest version,since most of you guys are reporting some things to be different:
If you did the mod on latest bios can you please share ACPI Tables freshly dumped by pressing F4 on Clover Menu
then after you boot go to EFI/Clover/ACPI/ copy origin folder and upload it here so i can analyze changes and add them to the guide since ACPI structure might have changed into the latest BIOS update. if i see that i can modify files into the guide according to the latest Bios update for you guys using latest version and will update my bios too, but to do that i will have to update to latest version from the web, then request to patch/mod the latest version again in the bios forums.

Thanks.
 
Status
Not open for further replies.
Back
Top