Contribute
Register

[Guide] Lenovo ThinkPad L440 (v3.0)

Status
Not open for further replies.
Hi mates,

Where is the eeprom of the L440?? I can't found a pic in internet...

Thanks! @Sniki
 
Last edited:
Hi @Sniki ,

I have Lenovo E580 which is pretty similar to the model from this guide.
I'm trying to set up Hotkeys using VoodooPS2Controller and your SSDT-KBD configuration, but with no success.
I've determined proper EC codes using ACPIDebug, so there is no error in this part.

Maybe you can suggest something to get it work?
 

Attachments

  • debug_4748.zip
    6.5 MB · Views: 159
Hi @Sniki ,

I have Lenovo E580 which is pretty similar to the model from this guide.
I'm trying to set up Hotkeys using VoodooPS2Controller and your SSDT-KBD configuration, but with no success.
I've determined proper EC codes using ACPIDebug, so there is no error in this part.

Maybe you can suggest something to get it work?
Just send me the keys and their codes that you generated by debugging, then i can see what is happening a will give you some help.

As for all of you other guys, the Mojave guide should be up within those two weeks and this one will be updated for High Sierra with all the recent improvements.
 
Just send me the keys and their codes that you generated by debugging, then i can see what is happening a will give you some help.

@Sniki , here is SSDT-KBD.dsl where all the keys are listed with their codes. Also attaching DSDT.dsl in case you need original info from it.
Let me know if any additional info is needed. Thank you!
 

Attachments

  • SSDT-KBD.dsl
    1.8 KB · Views: 133
  • DSDT.dsl
    944.5 KB · Views: 132
@Sniki , here is SSDT-KBD.dsl where all the keys are listed with their codes. Also attaching DSDT.dsl in case you need original info from it.
Let me know if any additional info is needed. Thank you!
Ok but i need to see the rest of your files to see what you did, that's why always attaching "Problem Reporting" files is required whenever you report an issue.

Anyway, let's assume the values you entered are the correct ones that you found, now what you need to do is to disable the native DSDT calls for these methods so they get accessed by the SSDT-KBD
How you do it is simple but i don't have time to explain as that's where the advanced hotpatch guide comes into help:
https://www.tonymacx86.com/threads/guide-using-clover-to-hotpatch-acpi.200137/
Read it for yourself, since it takes longer to explain and you can read it by yourself, id rather post the codes for you instead and then analyze what i did after following that guide.

The easiest, most easiest way for this particular one or to just change the name is to use this website to translate ASCII to HEX code: https://www.rapidtables.com/convert/number/ascii-to-hex.html
From your example:
Code:
// Re-Map FN Buttons
DefinitionBlock("", "SSDT", 2, "E580", "_KBD", 0)
{
    External (_SB.PCI0.LPCB.EC, DeviceObj)
    External (_SB.PCI0.LPCB.KBD, DeviceObj)

    Scope (_SB.PCI0.LPCB.EC)
    {
        Method (_Q43, 0, NotSerialized)  // Volume Mute
        {
            Notify (KBD, 0x0420)
            //Notify (KBD, 0x04A0)
        }
        
        Method (_Q14, 0, NotSerialized)  // Brightness Up
        {
            Notify (KBD, 0x0406)
            //Notify (KBD, 0x0486)
        }

        Method (_Q15, 0, NotSerialized)  // Brightness Down
        {
            Notify (KBD, 0x0405)
            //Notify (KBD, 0x0485)
        }

        Method (_Q6A, 0, NotSerialized)  // Microphone Mute
        {
            Notify (KBD, 0x036A)
            //Notify (KBD, 0x03EA)
        }

        Method (_Q16, 0, NotSerialized)  // Projector / Mirror mode
        {
            Notify (KBD, 0x046E)
            //Notify (KBD, 0x04EE)
        }

        Method (_Q64, 0, NotSerialized)  // Wireless ON/OFF        
        {
            Notify (KBD, 0x0364)
            //Notify (KBD, 0x03E4)
        }

        Method (_Q66, 0, NotSerialized)  // Settings
        {
            Notify (KBD, 0x0366)
            //Notify (KBD, 0x03E6)
        }

        Method (_Q60, 0, NotSerialized)  // Bluetooth Switch
        {
            Notify (KBD, 0x0360)
            //Notify (KBD, 0x03E0)
        }

        Method (_Q61, 0, NotSerialized)  // Keyboard Switch
        {
            Notify (KBD, 0x0361)
            //Notify (KBD, 0x03E1)
        }

        Method (_Q62, 0, NotSerialized)  // Favorite
        {
            Notify (KBD, 0x0362)
            //Notify (KBD, 0x03E2)
        }
        
        Method (_Q94, 0, NotSerialized)  // Calculator
        {
            Notify (KBD, 0x0421)
            //Notify (KBD, 0x04A1)
        }
    }
}
//EOF
The Method _Q43 is the one that calls the volume mute switch.
To do the clover renaming method is simple, you rename the method to something else that doesn't interfere in ACPI/DSDT so that way the method doesn't get called but instead you call the modified _Q43 from SSDT-KBD.dsl

_Q43 in HEX is: 5F513433

so what we do in our case is we rename it to XQ43 which is: 58513433

So as you can see: 5F is _ and 58 is X value in hex code
to make it work we add the patch in config.plist /ACPI/Patches:
Comment: Change Method (_Q43 to XQ43)
Find: 5F513433
Replace: 58513433

Here i attached the completed patches for your keyboard, wanted to explain the process for you to learn yourself and know what i did.
Just copy the patches to your config.plist and they should work.
Don't forget to place your SSDT-KBD.aml into your EFI/Clover/ACPI/Patched folder.
 

Attachments

  • config_kbd.plist
    3.1 KB · Views: 133
Here i attached the completed patches for your keyboard, wanted to explain the process for you to learn yourself and know what i did.
Just copy the patches to your config.plist and they should work.
Don't forget to place your SSDT-KBD.aml into your EFI/Clover/ACPI/Patched folder.

Thank you! This helped!
I've noticed that Mission Control(0x040A) and Launchpad(0x0409) codes does not work. It looks like they are not mapped to ADB properly (code 160 and 131). I took those codes from here - https://github.com/RehabMan/OS-X-Vo...b/master/VoodooPS2Keyboard/ApplePS2ToADBMap.h
Also F20 key cannot be assigned in shortcuts.

Maybe you know the reason for this?
 
Sorry for the Ultra Long wait everyone...

The MacOS Mojave guide for Lenovo ThinkPad L440 is ready and published:

I know that macOS Catalina will be out soon but i will update and publish macOS Catalina guide for Lenovo ThinkPad L440 soon after and won't take longer than a week or two.

Enjoy !
 
Status
Not open for further replies.
Back
Top