[转发]黑苹果修改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

posted @   日月王  阅读(41672)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示