Contribute
Register

[Guide] Lenovo ThinkPad L440 (v3.0)

Status
Not open for further replies.

Attachments

  • Files.zip
    1.1 MB · Views: 83
Why is there an ioreg in these files? I thought you couldn't boot. Is that not true? (You are able boot?)

Sorry about that, i uploaded the wrong file, here is the correct file. I am so sorry about that.
 

Attachments

  • CLOVER.zip
    476.6 KB · Views: 73
Sorry about that, i uploaded the wrong file, here is the correct file. I am so sorry about that.

Your config.plist is missing a patch to rename _L1D, and since SSDT-T440P.aml has an _L1D, this is likely causing problems.
Typically you would rename _L1D to XL1D (just has to be something not in native).

Add to config.plist/ACPI/DSDT/Patches
Comment: Change Method(_L1D,...) to XL1D
Find: <5f4c 3144>
Replace: <584c 3144>

I think this bit of code is a problem too:
Code:
    Device (_SB.PCI0.SBUS.BUS0)
    {
...
    }

There is no _SB.PCI0.SBUS in native ACPI, so BUS0 cannot be injected this way.
(SSDT-SMBUS.dsl only works if the _SB.PCI0.SBUS already exists).
SSDT-SMBUS not needed anyway.
 
Last edited:
Your config.plist is missing a patch to rename _L1D, and since SSDT-T440P.aml has an _L1D, this is likely causing problems.
Typically you would rename _L1D to XL1D (just has to be something not in native).

Add to config.plist/ACPI/DSDT/Patches
Comment: Change Method(_L1D,...) to XL1D
Find: <5f4c 3144>
Replace: <584c 3144>

I think this bit of code is a problem too:
Code:
    Device (_SB.PCI0.SBUS.BUS0)
    {
...
    }

There is no _SB.PCI0.SBUS in native ACPI, so BUS0 cannot be injected this way.
(SSDT-SMBUS.dsl only works if the _SB.PCI0.SBUS already exists).
SSDT-SMBUS not needed anyway.
Ok i will remove the SSDT-SMBUS and build new SSDT-T440P.aml with it.
About the rename from L1D to XL1D im sure it was present when i uploaded last set of files with config.plist file,i guess @godwayne305 forgot to replace that one, or i might have uploaded the wrong one.
 
Your config.plist is missing a patch to rename _L1D, and since SSDT-T440P.aml has an _L1D, this is likely causing problems.
Typically you would rename _L1D to XL1D (just has to be something not in native).

Add to config.plist/ACPI/DSDT/Patches
Comment: Change Method(_L1D,...) to XL1D
Find: <5f4c 3144>
Replace: <584c 3144>

I think this bit of code is a problem too:
Code:
    Device (_SB.PCI0.SBUS.BUS0)
    {
...
    }

There is no _SB.PCI0.SBUS in native ACPI, so BUS0 cannot be injected this way.
(SSDT-SMBUS.dsl only works if the _SB.PCI0.SBUS already exists).
SSDT-SMBUS not needed anyway.
- I removed SSDT-SMBUS.dsl and rebuilt SSDT-T440P.aml
- I added the config.plist with the rename _L1D to XL1D

@godwayne305 Use this config.plist and SSDT-T440P.aml
Report back with results.
 

Attachments

  • SSDT-T440P.aml
    8.4 KB · Views: 95
  • config.plist
    22.4 KB · Views: 166
- I removed SSDT-SMBUS.dsl and rebuilt SSDT-T440P.aml
- I added the config.plist with the rename _L1D to XL1D

@godwayne305 Use this config.plist and SSDT-T440P.aml
Report back with results.
- I removed SSDT-SMBUS.dsl and rebuilt SSDT-T440P.aml
- I added the config.plist with the rename _L1D to XL1D

@godwayne305 Use this config.plist and SSDT-T440P.aml
Report back with results.

Thanks for your efforts but it is still not waking from sleep when i open the lid unless i press the power button.
 

Attachments

  • Files.zip
    1.9 MB · Views: 92
Thanks for your efforts but it is still not waking from sleep when i open the lid unless i press the power button.

Did lid initiated wake work before?
Does it work on Windows?

If so, I know why it doesn't now.
The LID._PRW method is being patched.
changed from:
Code:
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                If (\LWCP)
                {
                    Return (Package (0x02)
                    {
                        0x1D,
                        0x04
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        0x1D,
                        0x03
                    })
                }
            }

to:
Code:
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                If (\LWCP)
                {
                    Return (Package (0x02)
                    {
                        0x1D,
                        0x00
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        0x1D,
                        0x00
                    })
                }
            }

That edit disables lid initiated wake.
It is done in the patch commented as: "Zeroing (_PRW,0,N) to Fix Instant Wake" and "Zeroing Name(_PRW 0x1d, 0x04) to (0x1d, 0x00) to fix Instant Wake from Sleep"
Remove that patch (or patches) from your config.plist and lid initiated wake should come back.

If your lid is causing "instant wake", then you need this patch and you give up lid initiated wake.
 
Last edited:
Did lid initiated wake work before?
Does it work on Windows?

If so, I know why it doesn't now.
The LID._PRW method is being patched.
changed from:
Code:
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                If (\LWCP)
                {
                    Return (Package (0x02)
                    {
                        0x1D,
                        0x04
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        0x1D,
                        0x03
                    })
                }
            }

to:
Code:
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                If (\LWCP)
                {
                    Return (Package (0x02)
                    {
                        0x1D,
                        0x00
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        0x1D,
                        0x00
                    })
                }
            }

That edit disables lid initiated wake.
It is done in the patch commented as: "Zeroing (_PRW,0,N) to Fix Instant Wake" and "Zeroing Name(_PRW 0x1d, 0x04) to (0x1d, 0x00) to fix Instant Wake from Sleep"
Remove that patch (or patches) from your config.plist and lid initiated wake should come back.

If your lid is causing "instant wake", then you need this patch and you give up lid initiated wake.

Yeah it works in windows and was even working in MacOS with a different setup. I think @Sniki will make the changes and we will see the out come of that.
 
Status
Not open for further replies.
Back
Top