楼主: detecti

[教程] (通过10.9.1考验)如何让升级时AppleHDA不再折腾 - 让 Clover KextPatch 帮忙

  [复制链接]
linzhouyu 发表于 2013-10-27 13:19 | 显示全部楼层
快御云安全
十分感谢! 太喜欢clover这个kextpatch功能了。。。
回复

使用道具 举报

Carbin 发表于 2013-10-27 13:31 | 显示全部楼层
ECC那个我从来没成功过~
回复

使用道具 举报

RuntimeError 发表于 2013-10-27 13:59 | 显示全部楼层
detecti 发表于 2013-10-26 06:51
没有解决,依然需要VLC。

请教如何手动调整 AGPM 自动降频,显卡也是 GTS 450
貌似之前修改 AppleGraphicsPowerManagement.kext 的 Info.plist 方法不行了:
<key>Vendor10deDevice1245</key>
<key>BoostPState</key>
…………………………………………
回复

使用道具 举报

wuchjun 发表于 2013-10-27 22:53 | 显示全部楼层
全新安装是否有用?
回复

使用道具 举报

yly469 发表于 2013-10-27 23:49 | 显示全部楼层
太两天去了
回复

使用道具 举报

weinimeli 发表于 2013-10-28 02:14 | 显示全部楼层
本帖最后由 weinimeli 于 2013-10-28 02:21 编辑
detecti 发表于 2013-10-27 12:37
trim部分不需要改,都是一样的

我建议你先把代码加入config.plist,然后再从plistedit pro里修改,就一 ...

关键是这个硬件ID会不会影响到声卡识别。因为887在10.9不能设置成887,要设置成99或者76才能发声.

                        <dict>
                                <key>Comment</key>
                                <string>Patch_to_layout99.xml.zlib</string>(这样改?)
                                <key>Find</key>
                                <data>
                                eG1sLnps
                                </data>
                                <key>Name</key>
                                <string>AppleHDA</string>
                                <key>Replace</key>
                                <data>
                                em1sLnps (这串字符是怎么换算出来的?)
                                </data>
                        </dict>
                        <dict>
                                <key>Comment</key>
                                <string>Patch_to_8708 ec10</string> (这样改?)
                                <key>Find</key>
                                <data>
                                ixnUEQ==
                                </data>
                                <key>Name</key>
                                <string>AppleHDA</string>
                                <key>Replace</key>
                                <data>
                                hwjsEA==(这串字符是怎么换算出来的?)
                                </data>
                        </dict>
回复

使用道具 举报

detecti  楼主| 发表于 2013-10-28 06:15 | 显示全部楼层
本帖最后由 detecti 于 2013-10-28 06:16 编辑
weinimeli 发表于 2013-10-28 02:14
关键是这个硬件ID会不会影响到声卡识别。因为887在10.9不能设置成887,要设置成99或者76才能发声.

    ...

你说的是layout-id,和codec-id或者硬件的vid/pid 不是一个东西

layout-id直接用变色龙那个 audio-inject 里面指定就行了,这里不会影响到

需要修改的是 Replace下的东西, 用plistedit pro打开就知道怎么改了 =。= 自己算很麻烦的
回复

使用道具 举报

weinimeli 发表于 2013-10-28 09:25 | 显示全部楼层
本帖最后由 weinimeli 于 2013-10-28 09:27 编辑
detecti 发表于 2013-10-28 06:15
你说的是layout-id,和codec-id或者硬件的vid/pid 不是一个东西

layout-id直接用变色龙那个 audio-inj ...

屏幕快照 2013-10-28 上午9.26.43.png
这样对不对?
回复

使用道具 举报

whitegerry 发表于 2013-10-28 09:49 | 显示全部楼层
weinimeli 发表于 2013-10-28 09:25
这样对不对?

clover现在还不支持对zlib的patch功能。另外,patch前后的字节数必须相等。
回复

使用道具 举报

whitegerry 发表于 2013-10-28 09:54 | 显示全部楼层
RuntimeError 发表于 2013-10-27 13:59
请教如何手动调整 AGPM 自动降频,显卡也是 GTS 450
貌似之前修改 AppleGraphicsPowerManagement.kext 的 ...

显卡貌似有那么点问题,patch后必须忽略kenalcache启动,patch成功与否你可以打开IORegistryExplorer查看AGPMController部分是不是你的显卡id。

点评

好的,我先看看 IORegistryExplorer 查看 AGPMController 部分是不是显卡 id  发表于 2013-10-28 14:05
回复

使用道具 举报

btworm 发表于 2013-10-28 10:27 | 显示全部楼层
本帖最后由 btworm 于 2013-10-28 11:05 编辑

LZ,
您在一楼提到的按照"图一"创建项目,没找到哪有“”图一“”啊?
另,ALC 887的ID是10ec0887,Base64码应该是MTBlYzA4ODc=,跟您那个对不上啊,即便按照二进制文件内的格式8708ec10, 编码也不是您给的啊。有些不理解,能不能解释一下

另,Clover WiKi在描述这个功能时有如下注解:
Side note: The patch is supposed to be done in the cache. If you patch an Info.plist to allow the loading of a kext, then it is not yet present in the cache. You will need to reboot twice. First with the key NoCaches to allow FSInject to load the kext and a second time for the cache to be patched successfully.

这个是否需要提醒大家?

回复

使用道具 举报

payboy2010 发表于 2013-10-28 10:38 | 显示全部楼层
mark一下,看着很NB
回复

使用道具 举报

detecti  楼主| 发表于 2013-10-28 12:26 | 显示全部楼层
btworm 发表于 2013-10-28 10:27
LZ,
您在一楼提到的按照"图一"创建项目,没找到哪有“”图一“”啊?
另,ALC 887的ID是10ec0887,Base64 ...

图忘了上了 =.= 主要是想形容一下层次结构来着,不过发现大家基本上都看懂了 =。=

存储方式就是二进制data方式,8708EC10的 base64 hwjsEA== 没问题啊,是否输入错误?
屏幕快照 2013-10-28 下午12.24.57.png


回复

使用道具 举报

detecti  楼主| 发表于 2013-10-28 12:29 | 显示全部楼层
weinimeli 发表于 2013-10-28 09:25
这样对不对?

第一段不要改,保持原来的值
后面一个4byte 的地方改了就好了。 你那里改的没问题
回复

使用道具 举报

detecti  楼主| 发表于 2013-10-28 12:31 | 显示全部楼层
whitegerry 发表于 2013-10-28 09:54
显卡貌似有那么点问题,patch后必须忽略kenalcache启动,patch成功与否你可以打开IORegistryExplorer查看 ...

patch 后是不能忽略 kernelcache 吧,忽略了就无效了。

显卡我也没改 AGPM,参考最前面更新的那段把AppleHDAHardwareConfigDriver.kext的 info.plist 添加到fakesmc, 把 AGPM 也填进去。 我是这么做的,变频正常。
回复

使用道具 举报

btworm 发表于 2013-10-28 12:40 | 显示全部楼层
detecti 发表于 2013-10-28 12:26
图忘了上了 =.= 主要是想形容一下层次结构来着,不过发现大家基本上都看懂了 =。=

存储方式就是二进制 ...

直接在根上加Replace啊? wiki写的好像是
<key>KernelAndKextPatches</key>
<dict>
<key>KextsToPatch</key>
<array>
...
</dict>

另外,8708EC10的base64咋能算出是hwjsEA==的,我用smartBase64算出就是ODcwOEVDMTA=啊,能不能详细讲讲计算步骤?
回复

使用道具 举报

whitegerry 发表于 2013-10-28 13:39 | 显示全部楼层
detecti 发表于 2013-10-28 12:31
patch 后是不能忽略 kernelcache 吧,忽略了就无效了。

显卡我也没改 AGPM,参考最前面更新的那段把Ap ...

你patch一下agpm试试看,反正我测试过几次,patch对agpm起作用必须忽略cache,不然启动后显卡的id并没有patch掉,包括下面的stats你也可以patch试试。

就是感觉跟applehda不太一样,不然agpm的id和下面的stat全都可以patch一遍。
回复

使用道具 举报

whitegerry 发表于 2013-10-28 13:41 | 显示全部楼层
btworm 发表于 2013-10-28 12:40
直接在根上加Replace啊? wiki写的好像是
KernelAndKextPatches

plistedit打开,新建个文件,然后随便建个data项,填入8708EC10,看看最下面的内容是不是hwjsEA==。
回复

使用道具 举报

whitegerry 发表于 2013-10-28 13:45 | 显示全部楼层
btworm 发表于 2013-10-28 12:40
直接在根上加Replace啊? wiki写的好像是
KernelAndKextPatches

结构就类似下面
  1.         <key>GUI</key>
  2.         <dict>
  3.                 <key>Language</key>
  4.                 <string>en:0</string>
  5.                 <key>Mouse</key>
  6.                 <dict>
  7.                         ...
  8.                 </dict>
  9.                 <key>ScreenResolution</key>
  10.                 <string>1920x1080</string>
  11.                 <key>TextOnly</key>
  12.                 <true/>
  13.         </dict>       
  14.         <key>KernelAndKextPatches</key>
  15.         <dict>
  16.                 <key>AppleRTC</key>
  17.                 <true/>
  18.                 <key>KextsToPatch</key>
  19.                 <array>
  20.                         <dict>
  21.                                 <key>Comment</key>
  22.                                 <string>Enable USB3</string>
  23.                                 <key>Find</key>
  24.                                 <data>
  25.                                 dTpIiwU9nQAA
  26.                                 </data>
  27.                                 <key>Name</key>
  28.                                 <string>AppleUSBXHCI</string>
  29.                                 <key>Replace</key>
  30.                                 <data>
  31.                                 6zpIiwU9nQAA
  32.                                 </data>
  33.                         </dict>
  34.                         <dict>
  35.                                 ...
  36.                         </dict>
  37.                 </array>
  38.         </dict>
  39.         <key>SMBIOS</key>
复制代码
回复

使用道具 举报

detecti  楼主| 发表于 2013-10-28 13:46 | 显示全部楼层
btworm 发表于 2013-10-28 12:40
直接在根上加Replace啊? wiki写的好像是
KernelAndKextPatches

不是, 我那个截图是因为我没在家 =_= 没有原始的plist了,主要是为了验证一下计算是否正确
关于 base64计算的问题,我没用过那个软件,但是应该是软件计算时把'8708ec10'当成字符串去计算了。实际上这里应该当成『十六进制数字』来计算。即对 0x8708ec10 进行计算。不过那个软件应该如何操作我就不清楚了。

还是推荐直接使用 plistedit pro 修改,就是截图上的那个软件,很方便。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋手机版联系我们

Copyright © 2005-2025 PCBeta. All rights reserved.

Powered by Discuz!  CDN加速及安全服务由「快御」提供

请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。

远景在线 ( 苏ICP备17027154号 )|远景论坛 |Win11论坛 |Win10论坛 |Win8论坛 |Win7论坛 |WP论坛 |Office论坛

GMT+8, 2025-4-13 05:04

快速回复 返回顶部 返回列表