[轉發]黑蘋果修改DSDT徹底解決關機不斷電和睡眠問題


1. 在 Method (_PTS, 1, NotSerialized)之前添加一個OperationRegion (PMRS, SystemIO, 0x0430, 0×13),如下:

OperationRegion (PMRS, SystemIO, 0×0430, 0×13)
Field (PMRS, ByteAcc, NoLock, Preserve)
{
,   4,
SLPE,   1
}

注意紅色的0×0430是依據你的主板而定的,你在dsdt里搜索Processor,找到像下面這樣的:
Processor (CPU0, 0×00, 0×00000410, 0×06)
如果是0×00000410, 就直接復制上面的就行了,如果是: Processor (P001, 0×01, 0×00000810, 0×06) {},就將0×0430改成0×0830。可以大家已經發現規律了. Processor處是0×00000410,就用0×0430; Processor處是0×00000810, 就用0×0830. 同樣如果你的dsdt的Processor處是0×00000610,就用0×0630.

2. 在Method (_PTS, 1, NotSerialized) 里將If (LEqual (Arg0, 0×05))修改成如下(沒有的話就直接添加在最前面,像下面這個一樣):

Method (_PTS, 1, NotSerialized)
{
//Store (Zero, \_SB.PCI0.LPC.EXPE)    // 如果你的dsdt里Device (LPC)的OperationRegion里EXPE一項,可以去掉此行前面的“//”

If (LEqual (Arg0, 0×05))
{
//Store (0×01, \_SB.PCI0.LPC.EXPE) // 如果你的dsdt里device (lpc)的OperationRegion里expe一項,可以去掉此行前面的“//”

Store (Zero, SLPE) // 此行是關鍵不能刪
Sleep (0×10) // 此行是關鍵不能刪
}

其他原來的代碼不動 … …

}

更改完成后在S/L/E和Extra中去掉NullCPUPowerManagement,使用原生的電源管理。

原鏈接:

http://www.perlface.eu/?p=685


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM