- SSDT-DeepIdle 补丁可以使机器进入深度空闲状态,延长机器待机时间。但同时也会导致唤醒机器比较困难,需要采取特殊方法来唤醒机器。有关SSDT-DeepIdle 方面的内容参见《电源空闲管理》。
- 本方法 通过定制补丁协助 电源按键 自动点亮屏幕。
- 一般情况下, 电源按键 能够唤醒机器。但有些时候,机器被唤醒后的状态并不完整,表现为:除了屏幕不亮,其他部件都能正常工作。这表明机器已经进入了
S0状态。这种情况下,只要在LPCB设备下添加_PS0方法,并且在_PS0方法里添加符合 PNP0C0D唤醒条件 的内容,即可自动点亮屏幕。 - 建议同时使用
_PS0和_PS3方法。
-
SSDT-PCI0.LPCB-Wake-AOAC
... Scope (_SB.PCI0.LPCB) { If (_OSI ("Darwin")) { Method (_PS0, 0, Serialized) { \_SB.PCI0.LPCB.H_EC._Q0D() /* 小新PRO13开盖方法 */ /* * 定制内容: * 依据《附件》的《PNP0C0D唤醒条件》,制作适合于自己的开盖补丁 * 或者使用通用开盖补丁 */ \_SB.PCI0.LPCB.H_EC._Q0A() /* 更新电源数据 */ } Method (_PS3, 0, Serialized) { } } } ...
说明:
-
_SB.PCI0.LPCB.H_EC._Q0D为 小新PRO 开盖方法。如果使用通用开盖补丁,将_PS0部分替换为以下内容,并同时使用 SSDT-LIDpatch-AOAC ,见后文。... Method (_PS0, 0, Serialized) { \_SB.PCI0.LPCB.H_EC.LID0.AOAC = 1 /* 满足 PNP0C0D唤醒条件 之一 */ Notify (\_SB.PCI0.LPCB.H_EC.LID0, 0x80) /* 满足 PNP0C0D唤醒条件 之二 */ Sleep (200) /* 延时200 */ \_SB.PCI0.LPCB.H_EC.LID0.AOAC = 0 /* 恢复原始状态 */ \_SB.PCI0.LPCB.H_EC._Q0A() /* 更新电源数据 */ } ...
-
_SB.PCI0.LPCB.H_EC._Q0A为 小新PRO 更新电源数据方法。更新电源数据 详细内容见后文。
-
-
SSDT-LIDpatch-AOAC ——通用开盖补丁
当无法或者很难找到适合于自己的定制方法时,使用通用开盖补丁。
注意1:通用开盖补丁应和 SSDT-PCI0.LPCB-Wake-AOAC 一同使用。
注意2:补丁里的设备名称、路径应与 ACPI 原始名称、路径一致。补丁要求的更名在文件的注释里。
-
更新电源数据
在
AOAC睡眠期间,如果改变电源状态(比如,在睡眠期间拔掉或者插入电源)有可能导致唤醒后电源图标无法更新。出现此问题可以采用下列方法:- 查找电源设备(
_HID=ACPI0003)名称和路径,按电源名称搜索、记录包涵Notify (***电源名称, 0x80)的Method。将这个Method添加到 SSDT-PCI0.LPCB-Wake-AOAC 中,参考补丁示例。 Notify (***电源名称, 0x80)可能存在于多个Method之中,这必须通过《ACPIDebug》方法加以确认。确认方法:对插、拔电源有响应的Method就是我们需要的。
- 查找电源设备(
PNP0C0D唤醒条件:
_LID返回One。_LID是PNP0C0D设备当前状态- 执行
Notify(***.LID0, 0x80)。LID0是PNP0C0D设备名称