8,仿冒原声卡驱动制作 声卡驱动AppleHDA.kext在系统重装或是升级后都要再次制作修改才能驱动, 以下是涉及修改的4个文件 Layout12.xml.zlib:在AppleHDA.kext/contents/Resources/Layout12.xml.zlib Platforms.xml.zlib:在AppleHDA.kext/contents/Resources/Platforms.xml.zlib info.plist:在AppleHDA.kext/contents/Plugins/AppleHDAHardwareConfigDriver.kext/contents/info.plist AppleHDA:在AppleHDA.kext/contents/MacOS/AppleHDA
-1. 需要用修改好的替换以下两个文件,右键点击AppleHDA.kext->显示包内容: a) AppleHDA.kext/Contents/Resources/layout12.xml.zlib b) AppleHDA.kext/Contents/Resources/Platforms.xml.zlib
-2. 修改 AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist 按照此文件替换IOKitPersonalities/HDA Hardware Config Resource/ 下的内容即可,注意是替换,就是先删除HDA Hardware Config Resource 下的所有子项,然后复制。建议用PlistEdit Pro进行修改。
-3. AppleHDA是经过binary patched的,CX20561声卡修改: AppleHDA.kext 复制到桌面,然后在终端执行: sudo perl -pi -e 's|\x84\x19\xD4\x11|\x51\x50\xF1\x14|g' Desktop/AppleHDA.kext/Contents/MacOS/AppleHDA 其中,8419D411是原本存在的,需要用声卡的vendor id替换它,于是,就有后面的5150F114。这个是CX20561声卡的vendor id反过来写,及在提取的声卡的codec文件的顺序是 14F15051->5150F114 ,在命令里,每两位两位地反过来写。所以,只需要把命令后面的改成自己声卡的vendor id就可以了(注意顺序),也可以用Hex Fiend程序进行编辑。
-4. 去除Sound assertion提示:(对所有声卡均通用) 10.8GM之后,AppleHDA代码改成了用参数形式,而不是像LION时代在程序中写入了几乎所有的提示文本,因此AppleHDA文件很小,也只要修改一处即可屏蔽所有日志中的Sound assertion提示。 去除方法:用Hex Fiend程序打开AppleHDA.kext中的/MacOS/AppleHDA文件,搜索文本:Sound assertion in %s at line %d%s%d 它的二进制值是: 53 6F 75 6E 64 20 61 73 73 65 72 74 69 6F 6E 20 69 6E 20 25 73 20 61 74 20 6C 69 6E 65 20 25 64 0A 00 25 73 00 25 64 然后在二进制格式中,用相同位数的0替换掉: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
对AppleHDA.kest的修改到此全部结束,用Kext Utility将其导入回/System/Library/Extensions 文件夹,重建系统缓存,重启! |