- 积分
- 226
- 最后登录
- 2020-6-25
- 精华
- 0
- 阅读权限
- 30
- 主题
- 48
- UID
- 2865038
- 帖子
- 490
- PB币
- 1826
- 威望
- 5
- 贡献
- 0
- 技术
- 8
- 活跃
- 605
- UID
- 2865038
- 帖子
- 490
- PB币
- 1826
- 贡献
- 0
- 技术
- 8
- 活跃
- 605
|
发表于 2015-11-2 18:18:00
IP属地英国
|显示全部楼层
本帖最后由 sdsy1212 于 2015-12-21 08:25 编辑
之前也发了2篇帖子 分享了我是如何解决10.11下的USB的问题的
但发现还是很多同学不是很懂 很多人的问题还是没有解决 可能是我说的太啰嗦
所以在这个贴里 我将用一个模板为例 分享如何做小幅度修改生成合适自己的kext
这里不谈原理 只谈操作 本文的前提是你使用Clover引导 且同一机器上有windows系统
另外由于能力有限 本文无法解决IRQ被占用和第三方PCI接口USB3的问题 某些非主流主板可能还是会有问题
希望此贴能让大家平稳渡过10.11这个烦乱的时期 从而让我们在以后升级的道路上畅通无阻
废话不多说了 我们开始
第一步 先确认你的主板类型 主要有2种
7系为一类 主要是Z77 Z75 H77 Q77 Q75 B75
8系9系为另一类 有Z87 H87 Q87 Q85 B85 H81 和Z97 H97
如果你是7系主板 请先将以下代码 添加到clover的config.plist里的DSDT段(请使用系统自带的文本编辑器打开plist文件) 不会改clover的config的 自己爬文吧 这是基本操作
<key>DSDT</key>
<dict>
<key>Patches</key>
<array>
<dict>
<key>Comment</key>
<string>change EHC1 to EH01</string>
<key>Find</key>
<data>RUhDMQ==</data>
<key>Replace</key>
<data>RUgwMQ==</data>
</dict>
<dict>
<key>Comment</key>
<string>change EHC2 to EH02</string>
<key>Find</key>
<data>RUhDMg==</data>
<key>Replace</key>
<data>RUgwMg== </data>
</dict>
</array>
</dict>
8系9系主板请忽略以上代码及操作
第二步 进入windows 打开aida64软件
软件使用方法 打开后选择‘设备’->‘USB设备’
7系主板的同学 只需检测你的蓝色USB3口 黑色的USB2口不用检测
检测方法
插入USB2设备(比如鼠标或USB2.0的U盘等)到所有蓝色USB3口
记录下在aida64里USB 3.0 Root Hub下出现过的Port号码 并记录为第1组
插入和USB3设备(比如USB3.0的U盘或USB3.0移动硬盘等)到所有蓝色USB3口
记录下在aida64里USB 3.0 Root Hub下出现过的Port号码 并记录为第2组
8系9系主板的同学 需要检测所有黑色USB2和蓝色USB3口
检测方法
插入USB2设备(比如鼠标或USB2.0的U盘等)到所有黑色USB2和蓝色USB3口
记录下在aida64里USB 3.0 Root Hub下出现过的Port号码 并记录为第1组
插入和USB3设备(比如USB3.0的U盘或USB3.0移动硬盘等)到所有蓝色USB3口
记录下在aida64里USB 3.0 Root Hub下出现过的Port号码 并记录为第2组
蓝牙和摄像头我们认为是USB2设备 记录其号码后 将其分在第1组即可
这里我举2个栗子
假设我是Z77主板 我一共就2个蓝色USB3口 当USB3口上插入USB2设备时 会出现在Port1 Port2下 当插入USB3设备会出现在Port5 Port6下
那么第1组的号码就是1 2 第2组的号码就是5 6 当然实际可能比这多
假设我是H97主板 4个蓝色USB3口 2个黑色USB2口 当在所有的口都插入USB设备的时候 我发现其会出现在Port1 Port2 Port3 Port4 Port9 Port10 当插USB3设备到4个USB3口时 我发现其出现在Port18 Port19 Port20 Port21下
那么第1组的号码就是1 2 3 4 9 10 第2组的号码就是18 19 20 21
检测完毕后我们进入下一步
第三步 确定你的smbios模拟的机型
比如iMac13,2 Macmini7,1什么的 不知道怎么模拟机型的请爬文 这是基本知识
第四步 改kext文件
推荐在osx下修改此kext文件模板(如果没有可用的osx 用win下的plist editor软件也行 不过附件里没有)
下载本文附件里的usbfix.zip模板文件并解压 会出现一个kext文件
然后右键点击kext文件'显示内容'->Contents->Info.plist (用plistedit pro打开 附件里有这软件)
点开IOKitPersonalities 再分别点开iMac13,2-EH01 iMac13,2-EH02 iMac13,2-XHC
手动替换6处红线所标的iMac13,2为你smbios模拟的机型(很重要)
替换完毕后
点开iMac13,2-XHC下的IOProviderMergeProperties下的ports 你会看到很多的HS01 HS02等等 HS01就代表1号 HS02是2号 以此类推
回顾一下 在第二步中 你已经持有了第1组和第2组的号码 把在1组和2组中都没出现过的号码 在这里删掉
这里举个栗子 比如13 14 15 16号并没出现在1组过 也没出现过2组过 那么我就把HS13 HS14 HS15 HS16删了
然后 依次点开这些未被删除的HS01 HS02等等
HSxx编号在第1组出现过的 保持UsbConnector Number 是0就可以 不用改动
HSxx编号在第2组出现过的 请将UsbConnector Number改为3
再将最后一个有效的HSxx里的port Data后面的数字 复制后 填到上面的port-count Data后面的框里
(最后一个有效的HSxx的意思 既是倒数第一个没被删的HSxx)
然后保存 kext就做好了
好像说USB口有15个端口限制 我也没详细测试 我的H97M-E最终是16个口 好像也没问题
但是 如果出了问题 你就得舍弃几个USB口了
这里有个小技巧 如果你确定某个USB3口只会插USB3设备 那么你可以把其对应的USB2口删掉
具体操作是 你重新回win系统 开aida64 在这个你要舍弃USB2功能的USB3口上插上USB2设备 记录下其Port号码
然后在Info.plist文件里 将其对应的HSxx项删除 即可
至于你如果有编号在21以上的USB口 请附上你的aida64的Port信息 并留言 我给你改
我个人推荐这个修改好的kext还是放在clover的kexts的10.11里加载比较好
毕竟放S/L/E里 下次升级就没了
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
-
6
查看全部评分
-
|