Contribute
Register

[solved] SSDT-HACK: Remove _PRW from LID0 (so sleep on lid close)

Status
Not open for further replies.
Joined
Jun 13, 2012
Messages
152
Motherboard
Lenovo Ideapad Y510P
CPU
i7 4700MQ
Graphics
HD4600
Mobile Phone
  1. Android
Hi Rehabman, everyone ..

I have been working on converting to SSDT-HACK method on my laptop Y510p. Things are going fine so far and the only thing that refuse to work at the moment is sleep on lid close. To achieve this, I used to remove the _PRW from the device LID0 but I'm failing to do so with regard to how SSDT-HACK work (as far as I understand).

Here's the code for the device:
Code:
Device (LID0) // this to be renamed to XLID
        {
            Name (_HID, EisaId ("PNP0C0D"))  // _HID: Hardware ID
            Method (_LID, 0, NotSerialized)  // _LID: Lid Status
            {
                Notify (^^PCI0.PEG0.PEGP, 0xDB)
                Return (GP15)
            }

            Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
            {
                0x1F,
                0x03
            })
        }

What I did was renaming device LID0 to XLID through clover binpatch: 4C494430 085F > 584C4944 085F and then I added in the SSDT-HACK.aml a replacement device LID0 (same as above but without _PRW) and that did not do the trick. With these changes active, the system does not sleep on lid close as intended. There are no issues with the DSDT and SSDTs (I checked) and the changes are written as expected but the expected behavior is not there.

Any ideas?

Thanks
 
Hi Rehabman, everyone ..

I have been working on converting to SSDT-HACK method on my laptop Y510p. Things are going fine so far and the only thing that refuse to work at the moment is sleep on lid close. To achieve this, I used to remove the _PRW from the device LID0 but I'm failing to do so with regard to how SSDT-HACK work (as far as I understand).

Here's the code for the device:
Code:
Device (LID0) // this to be renamed to XLID
        {
            Name (_HID, EisaId ("PNP0C0D"))  // _HID: Hardware ID
            Method (_LID, 0, NotSerialized)  // _LID: Lid Status
            {
                Notify (^^PCI0.PEG0.PEGP, 0xDB)
                Return (GP15)
            }

            Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
            {
                0x1F,
                0x03
            })
        }

What I did was renaming device LID0 to XLID through clover binpatch: 4C494430 085F > 584C4944 085F and then I added in SSDT-HACK.aml a replacement device LID0 without _PRW but that did not do the trick. With these changes active, the system does not sleep on lid close as intended.

Any ideas?

Thanks

You should rename the _PRW inside the LID0 device instead. Use a mixed listing (iasl -l to create .lst) to determine the bits associated with the _PRW object.

See example in Z50 repo.
 
You should rename the _PRW inside the LID0 device instead. Use a mixed listing (iasl -l to create .lst) to determine the bits associated with the _PRW object.

That's brilliant !!
I did not know about the listing capability of iasl and used to use Hex Fiend to search for patterns which could be painful sometimes. It works now perfectly, thanks!
 
That's brilliant !!
I did not know about the listing capability of iasl and used to use Hex Fiend to search for patterns which could be painful sometimes. It works now perfectly, thanks!

Marked solved.
 
That's brilliant !!
I did not know about the listing capability of iasl and used to use Hex Fiend to search for patterns which could be painful sometimes. It works now perfectly, thanks!
I am a newbie, can you give me a detailed guide?
 
You should rename the _PRW inside the LID0 device instead. Use a mixed listing (iasl -l to create .lst) to determine the bits associated with the _PRW object.

See example in Z50 repo.
I am a newbie, can you give me a detailed guide?
 
Status
Not open for further replies.
Back
Top