RehabMan
Moderator
- Joined
- May 2, 2012
- Messages
- 181,011
- Motherboard
- Intel DH67BL
- CPU
- i7-2600K
- Graphics
- HD 3000
- Mac
- Mobile Phone
I've read it and I've understood how to debug ACPI but I'm still confused how to proceed with fixing Wake On USB.
Use ACPIDebug to print the data that is being returned from _PRW.
For example, original XHC._PRW:
Code:
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
If (ULTP)
{
Return (GPRW (0x6D, Zero))
}
Else
{
Return (GPRW (0x0D, Zero))
}
}
Instrumented:
Code:
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
If (ULTP)
{
Local0 = GPRW (0x6D, Zero)
}
Else
{
Local0 = GPRW (0x0D, Zero)
}
\rmdt.p2("XHC._PRW return", Local0)
Return(Local0)
}
Similar code can be implemented in other _PRW methods.
You can then check the result against your expectations by looking at the output from ACPIDebug in your kernel log.
And you should check your kernel log for wake reason, for example after an instant wake:
Code:
log show --predicate processID==0 --info --debug --last 5m|grep -y "wake reason"