Contribute
Register

[Guide] Lenovo ThinkPad L440 (v3.0)

Status
Not open for further replies.
Great, thank you
But what about XHC.PMEE that when shutting laptop down and a USB is plugged in, laptop reboots instead of shutdown.
Shall i create a SSDT-PTS and take only that fix from your SSDT-PTSWAK like this:
Code:
// Overriding _PTS

DefinitionBlock("", "SSDT", 2, "T440P", "PTS", 0)
{
    External(ZPTS, MethodObj)

    External(RMCF.XPEE, IntObj)

    // In DSDT, native _PTS is renamed to ZPTS
    // As a result, calls to this method land here.
    Method(_PTS, 1)
    {
        If (5 == Arg0)
        {
            // XHC.PMEE fix, if enabled
            External(\_SB.PCI0.XHC.PMEE, FieldUnitObj)
            If (CondRefOf(\RMCF.XPEE)) { If (\RMCF.XPEE && CondRefOf(\_SB.PCI0.XHC.PMEE)) { \_SB.PCI0.XHC.PMEE = 0 } }
        }
    }
}
//EOF

If you have that issue, yes... you have the right idea.

But your implementation of _PTS is not right. Again, you know that you have XHC.PMEE and you have no need to leave this patch configurable (that's what XPEE is all about in my RMCF... is just to allow people to easily change the behavior). And of course you need to call the origin _PTS.

So, you end up renaming _PTS to ZPTS, and writing a replacement _PTS (classic "rename/replace/delegate").
This code to be #include:
Code:
// Overriding _PTS
//DefinitionBlock("", "SSDT", 2, "T440P", "PTS", 0)
//{
    External(ZPTS, MethodObj)
    External(_SB.PCI0.XHC.PMEE, FieldUnitObj)
    // In DSDT, native _PTS is renamed to ZPTS
    // As a result, calls to this method land here.
    Method(_PTS, 1)
    {
        ZPTS(Arg0)
        If (5 == Arg0)
        {
            // fix "auto start after shutdown"
            \_SB.PCI0.XHC.PMEE = 0
        }
    }
//}
//EOF
 
If you have that issue, yes... you have the right idea.

But your implementation of _PTS is not right. Again, you know that you have XHC.PMEE and you have no need to leave this patch configurable (that's what XPEE is all about in my RMCF... is just to allow people to easily change the behavior). And of course you need to call the origin _PTS.

So, you end up renaming _PTS to ZPTS, and writing a replacement _PTS (classic "rename/replace/delegate").
This code to be #include:
Code:
// Overriding _PTS
//DefinitionBlock("", "SSDT", 2, "T440P", "PTS", 0)
//{
    External(ZPTS, MethodObj)
    External(_SB.PCI0.XHC.PMEE, FieldUnitObj)
    // In DSDT, native _PTS is renamed to ZPTS
    // As a result, calls to this method land here.
    Method(_PTS, 1)
    {
        ZPTS(Arg0)
        If (5 == Arg0)
        {
            // fix "auto start after shutdown"
            \_SB.PCI0.XHC.PMEE = 0
        }
    }
//}
//EOF
Ok thanks a lot Rehabman

@godwayne305 here is the final set of files for you to test i think.
Thanks for the assistance on fixing the issues.

here is the final config.plist and SSDT-T440P.aml
i did make some adjustments to config.plist like removing some unnecessary patches, added IGPU Properties Injection for HDMI etc.

Good Luck !
 

Attachments

  • config.plist
    20.8 KB · Views: 212
  • SSDT-T440P.aml
    8.4 KB · Views: 176
Ok thanks a lot Rehabman

@godwayne305 here is the final set of files for you to test i think.
Thanks for the assistance on fixing the issues.

here is the final config.plist and SSDT-T440P.aml
i did make some adjustments to config.plist like removing some unnecessary patches, added IGPU Properties Injection for HDMI etc.

Good Luck !

Great job done @Sniki and @RehabMan, everything seems to be working fine. I am now using these final files and here are the setup now.
 

Attachments

  • Files.zip
    1.9 MB · Views: 158
Great job done @Sniki and @RehabMan, everything seems to be working fine. I am now using these final files and here are the setup now.
Great,

Enjoy your T440P on MacOS.

Thanks for all the testing you did.

Im working on the guide for it now.
 
HI Guys thanks for great work I recently setup sierra OSX on my Laptop l440 Please help me with this part of guide what does this do My knowledge is very limited please help

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)
Please tell me how can I download these files and install them thanks
 
HI Guys thanks for great work I recently setup sierra OSX on my Laptop l440 Please help me with this part of guide what does this do My knowledge is very limited please help

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)
Please tell me how can I download these files and install them thanks
Read the guide carefully, the instructions are written and files attached at the end of the guide.
 
Read the guide carefully, the instructions are written and files attached at the end of the guide.

Hi ! man I am sorry to say But I am having a hard time understanding your guide. I think that because it was far above then my level of understanding. SO to install the sierra on my l440, I decided to follow the youtube tutorials.A fter few tries, I am able to install it but there are huge fixed that I need to make it stable and work for me so that I can use it for professional. Can you please help me? As I mentioned earlier about installing SSDT, I am not able to find the file and how to install them. It was more helpful for people like me if you also have created a video tutorial. Anyways, thumbs up to your effort and please help. :)
 
Last edited by a moderator:
Hi ! man I am sorry to say But I am having a hard time understanding your guide. I think that because it was far above then my level of understanding. SO to install the sierra on my l440, I decided to follow the youtube tutorials.A fter few tries, I am able to install it but there are huge fixed that I need to make it stable and work for me so that I can use it for professional. Can you please help me? As I mentioned earlier about installing SSDT, I am not able to find the file and how to install them. It was more helpful for people like me if you also have created a video tutorial. Anyways, thumbs up to your effort and please help. :)

Read post #1.
 
@gi10 and @SoundGuy55 can each of you guys list your current remaining problems and your “ Problem Reporting” files.
I do plan to make guides for different ThinkPad Models since most of the ACPI tables are similar but with with some small differences.
I also do get most of the requests for help from slightly different ThinkPad models than my L440 so i decided to make individual guides for each and then make a thinkpad project like rehabman probook/elitebook\zbook series guide where with only some terminal commands get everyfile on it’s place.

@Sniki : My apologies for being so late to respond. I have been rather tied-up lately. So...I've attached my most recent Clover file and IORegistry. Since we last corresponded I am still experiencing a few issues;

- LED lights continue to blink after sleep
- F* Keyboard Buttons (the solution in your guide does not work for me)
- Dual Battery Status issue (not really syncing properly in High Sierra)
- SD Card Reader (can install the kext and it works at first but ultimately crashes the system where I cannot boot anymore)

Any insight you can share will be quite valuable!
 

Attachments

  • WORKING.zip
    4.3 MB · Views: 119
Status
Not open for further replies.
Back
Top