修改DSDT加载原生电源管理解决睡眠唤醒扔掉NullCPUPowerManager

OS X Mavericks 13/8/7 89.9k 6



第一步:在windows下使用硬件管理器,查看你的LPC电源管理的硬件ID:如下图,我的电源硬件ID为:1C49:

psb-2.jpeg
第二步:打开你的dsdt.aml文件,搜索代码:0x001F0000  插入以下代码

psb-3.jpeg
添加代码如下图:
psb-4.jpeg

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是否正确如下图:


psb-5.jpeg
估计经以上修改就能正常加载你的原生电源驱动。希望大家都能完美,以上内容如有错误之处,欢迎指证交流!
相关帖子
MemacX
6 / 10.3k
admin
3 / 24.8k
admin
3 / 3.7k
iaihc
3 / 12.7k
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
您需要登录后才可以回帖 登录 | 注册
本版积分规则
new800
13/8/13 22:07:00
电源按键      
dxiaozhi
13/11/2 17:51:21
学习一下,感谢分享
jefferson2012
13/11/4 10:54:43
必须跟着楼主学习,谢谢,回头测试!
artup
13/11/8 14:01:49
谢谢分享!
Magikarp
13/11/8 16:02:33
这个只能双系统来做么?
xinben1987
13/12/30 22:45:33
学习支持了