AOAC唤醒方法
描述
- SSDT-DeepIdle 补丁可以使机器进入深度空闲状态,延长机器待机时间。但同时也会导致唤醒机器比较困难,需要采取特殊方法来唤醒机器。有关SSDT-DeepIdle 方面的内容参见《电源空闲管理》。
- 本方法 通过定制补丁 重置唤醒状态 。
唤醒方法:电源按键
唤醒原理简述
- 一般情况下, 电源按键 能够唤醒机器。但有些时候,机器被唤醒后的状态并不完整。有可能会:不能 点亮屏幕 或者不能 更新电源数据 。这种情况下,需要在
LPCB
设备下添加_PS0
方法,并且在_PS0
里添加 重置唤醒状态 的方法。通常,_WAK
方法【Arg0 = 3】里包括了 点亮屏幕 和 更新电源数据 的相关内容。 - 依据 ACPI 规范,建议同时使用
_PS0
和_PS3
方法。
补丁示例
SSDT-PCI0.LPCB-Wake-AOAC
... Scope (_SB.PCI0.LPCB) { If (_OSI ("Darwin")) { Method (_PS0, 0, Serialized) { \_WAK(0x03) //恢复唤醒状态 //可能需要定制电源数据恢复方法 } Method (_PS3, 0, Serialized) { } } } ...
附
点亮屏幕条件
_LID
返回One
。_LID
是PNP0C0D
设备当前状态- 执行
Notify(***.LID0, 0x80)
。LID0
是PNP0C0D
设备名称
更新电源数据方法
因睡眠期间改变电源状态(比如,在睡眠期间拔掉电源或者插入电源)而出现唤醒后电源图标无法更新的,可参考以下方法:
- 查找电源设备(
_HID
=ACPI0003
)名称和路径,按电源名称搜索、记录包涵Notify (***电源名称, 0x80)
的Method
。将这个Method
添加到 SSDT-PCI0.LPCB-Wake-AOAC 的_PS0
中。 Notify (***电源名称, 0x80)
可能存在于多个Method
之中,这必须通过《ACPIDebug》方法加以确认。确认方法:对插、拔电源有响应的Method
就是我们需要的。
- 查找电源设备(