Contribute
Register

Shutdown fix not working for Lenovo T430 DSDT

Status
Not open for further replies.
Joined
Jul 22, 2017
Messages
26
Mobile Phone
  1. Android
Hi all,

Anybody installed Sierra on a Lenovo T430 and having problems with shutdown? Mine resembles a reboot when I try shutting down.

I tried applying "Fix Shutdown" and "Halt Enabler" in Clover, but that didn't help. Then I tried to patch DSDT with RehabMan's fix (from here), but seems the fix doesn't find any match.

I'm attaching the _PTS part of DSDT where the patch should have worked. I don't understand much about these patches, so if someone can "patch the patch" so it works that'll be great :)

Thanks folks!
 

Attachments

  • PTS.txt
    2 KB · Views: 512
Hi all,

Anybody installed Sierra on a Lenovo T430 and having problems with shutdown? Mine resembles a reboot when I try shutting down.

I tried applying "Fix Shutdown" and "Halt Enabler" in Clover, but that didn't help. Then I tried to patch DSDT with RehabMan's fix (from here), but seems the fix doesn't find any match.

I'm attaching the _PTS part of DSDT where the patch should have worked. I don't understand much about these patches, so if someone can "patch the patch" so it works that'll be great :)

Thanks folks!

Not a desktop, moved to laptop support.

You probably have "auto restart after shutdown".
If so, it can be fixed by setting XHC.PMEE=0 in _PTS (when Arg0==5).
You can see an example of this code in SSDT-PTSWAK.dsl in my ACPI hotpatch files.
 
Not a desktop, moved to laptop support.

You probably have "auto restart after shutdown".
If so, it can be fixed by setting XHC.PMEE=0 in _PTS (when Arg0==5).
You can see an example of this code in SSDT-PTSWAK.dsl in my ACPI hotpatch files.

I don't know what you mean by "auto restart after shutdown", but I went into the BIOS and disabled any setting that resembles such a thing, for example: WoL, Wake on USB, etc.

I'm re-patching DSDT and checking again.

About the code you posted: Not sure where I should plug it in. Top of the code, middle or last?
 
I don't know what you mean by "auto restart after shutdown", but I went into the BIOS and disabled any setting that resembles such a thing, for example: WoL, Wake on USB, etc.

I'm re-patching DSDT and checking again.

About the code you posted: Not sure where I should plug it in. Top of the code, middle or last?

Auto restart on after shutdown is where Apple->Shutdown causes successful shutdown, but then the laptop turns on automatically, usually when a USB device is left plugged in.
 
Auto restart on after shutdown is where Apple->Shutdown causes successful shutdown, but then the laptop turns on automatically, usually when a USB device is left plugged in.

Yeah. It could be unrelated to macOS (probably is) and it's not a problem per-se of the installation.

Anyway, I've made few changes in the BIOS yesterday and today I'm ready to test them out. I'll be writing the guide as well on a different thread.
 
Yeah. It could be unrelated to macOS (probably is) and it's not a problem per-se of the installation.

The "auto restart after shutdown" is macOS/OS X specific (with certain hardware), and can usually be solved by setting XHC.PMEE=0 in _PTS.
 
can usually be solved by setting XHC.PMEE=0 in _PTS

If it's not much of a trouble, can you take a look at the code I sent alongside my first post and check where this snippet should go? Early, middle, last, with/without IF statements?

Thanks for your continued and valued help :)
 
sorry, i am not yet at a level to understand this in depth...did anyone manage do fix this?

i am not sure if i just need to add this
Code:
  // call into original _PTS method
        ZPTS(Arg0)

        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 } }
}

or if something else is needed...
 
sorry, i am not yet at a level to understand this in depth...did anyone manage do fix this?

i am not sure if i just need to add this
Code:
  // call into original _PTS method
        ZPTS(Arg0)

        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 } }
}

or if something else is needed...

In your own _PTS method, add code that sets \_SB.PCI0.XHC.PMEE=0 when Arg0 == 5.
 
Status
Not open for further replies.
Back
Top