本帖最后由 syscl 于 2016-7-17 22:17 编辑
最近花了些功夫在M3800上面,在日志中发现了如下错误(打开控制台, 点system.log, 然后输入LMU): - Jul 17 21:19:09 localhost kernel[0]: AppleLMUController::smcGetKeyInfo Error: received error 0x84 when getting key info for 'RMde'
- Jul 17 21:19:09 localhost kernel[0]: AppleLMUController::start Error: SMC mode check failed
复制代码所以花了一点时间修复这个错误. 这个错误在于没有向系统提供所需要的SMC键值, 添加下面的键值即可修复. 打开FakeSMC.kext/Contents/Info.plist, 定位到IOKitPersonalities/Configuration/Keys 添加 - <key>RMde</key>
- <array>
- <string>char</string>
- <data>QQ==</data>
- </array>
- <key>ALV0</key>
- <array>
- <string>{alv</string>
- <data>ARAGdQEgALYO4A==</data>
- </array>
- <key>ALRV</key>
- <array>
- <string>ui16</string>
- <data>AAE=</data>
- </array>
- <key>ALI0</key>
- <array>
- <string>{ali</string>
- <data>BwECAA==</data>
- </array>
- <key>MSLD</key>
- <array>
- <string>ui8 </string>
- <data>AA==</data>
- </array>
复制代码我知道你们懒所以把自己用的FakeSMC.kext也一并打包上传了.
关于SMC 版本(系统)和smc-compatible修复 首先FakeSMC在smc-compatible的侦测有时候会失灵, 所以需要我们对FakeSMC进行修改以实现正确的注入。
注入的smc-compatible要跟你选定的机型相对应, 例如我的机型是Macbook 11,2, 则我需要修改IOKitPersonalities/smc-compatible为smc-huronriver
SMC 版本(系统)需要设置为2.6f59(参阅: SMC固件信息), 则我需要修改FakeSMC.kext/Contents/Info.plist/IOKitPersonalities/Configuration/Keys/Rev 部分的键值, 建议使用文本编辑器或者PlistEdit Pro来进行修改. 2.6f59节录成16进制就是 02 6f 00 00 59(026f000059), 进一步的转换成为Base64就是Am8AAFk=, 贴入到 - </array>
- <key>REV </key>
- <array>
- <string>{rev</string>
- <data>AikPAAAk</data>
- </array>
复制代码<data> </data>中即可.
关于转换的命令可以采用终端输入 - echo 026f000059 |xxd -r -p |base64
复制代码祝你们成功!
syscl
|