修改DSDT加载原生电源管理解决睡眠唤醒扔掉NullCPUPowerManager
第一步:在windows下使用硬件管理器,查看你的LPC电源管理的硬件ID:如下图,我的电源硬件ID为:1C49:
第二步:打开你的dsdt.aml文件,搜索代码:0x001F0000 插入以下代码
添加代码如下图:
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"device-id",
Buffer (0x04)
{
0x49, 0x1c, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
注意要点:上图硬件ID是:1c49这里的代码就要写成:0x49,0x1c。
修改完成后编译,把这个dsdt.aml扔到Extra目录下,如果不出意外,就能加载原生电源管理了,当然,如果还是不能加载,请修改AppleLPC.Kext,在AppleLPC.Kext中添加1c49的硬件ID代码<string>pci8086,1c49</string>。如下代码:
<key>AppleLPC</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleLPC</string>
<key>IOClass</key>
<string>AppleLPC</string>
<key>IONameMatch</key>
<array>
<string>pci8086,1c49</string>
<string>pci8086,2815</string>
<string>pci8086,27b9</string>
<string>pci8086,27bd</string>
<string>pci8086,2670</string>
<string>pci8086,8119</string> ..............
使用IORegistryExplorer检查加载LPC的硬件ID是否正确如下图:
估计经以上修改就能正常加载你的原生电源驱动。希望大家都能完美,以上内容如有错误之处,欢迎指证交流!