使用aida64检测USB口并生成kext injector的经验
本帖最后由 sdsy1212 于 2015-10-26 19:01 编辑以Gigabyte G1 Sniper M3 Z77主板为例 这个主板背面一共4个USB2.0 2个USB3.0
我自己机箱内接了2个USB2.0 蓝牙口占用了一个USB2.0
我们打开aida64 选择‘设备’-> ‘USB设备’
当我们把所有USB口都插上USB2.0设备的时候 我们得到以下图
当我们把USB3.0口换插USB3.0设备的时候 我们得到以下图
如果你没有足够多的USB2.0设备和USB3.0设备同时插上测试 你就得一个一个口的插 刷新再刷新
其实看过贴的同学 最近一定听说了EHC1 EHC2 EH01 EH02 XHC XHC1等名词
实际上
1E26结尾的USB 2.0 RootHub = EHC1
1E2D结尾的USB 2.0 RootHub = EHC2
USB 3.0 RootHub= XHC
如果我们要inject USB kext 那一定要在DSDT里 把所有的EHC1全部替换为EH01 把所有的EHC2全部替换为EH02
如果你不想弄DSDT 也可以在clover的config里加入以下内容 (代码排版有问题 )
这里有个注意点 两个USB2.0 RootHub下都只用了PORT1 而PORT2是空
别看上面显示了PORT1,2,5,6都用了 但是那都是PORT1下的PORT1,2,5,6 所以这里我们只算用了PORT1
那么 我们继续设USB2设备的连接类型为0 USB3设备的连接类型为3
可以进一步整理为如下结果
EH01控制器下
0-PORT1
EH02控制器下
0-PORT1
XHC控制器下
0-PORT3
0-PORT4
3-PORT7
3-PORT8
表格.1 (USB控制器与USB连接类型及端口号)
为了迎合kext里的plist文件 我们再次修改表格.1 随便取几个名称LS0x HS0x SS0x 名字并没有卵用
EH01控制器下
最大PORT编号 01000000
LS01 类型0 编号01000000
EH02控制器下
最大PORT编号 01000000
HS01 类型0 编号01000000
XHC控制器下
最大PORT编号 08000000
SS03 类型0 编号03000000
SS04 类型0 编号04000000
SS07 类型3 编号07000000
SS08 类型3 编号08000000
表格.2 (USB信息的plist表示)
然后 你们下载一个kext模板 显示其内容 再用plistedit pro打开
找到IOKitPersonalities并展开 把里面的机型与你的机型匹配
在这个文件里关于机型的地方一共有6处要修改
然后展开IOProviderMergeProperties 进行修改
也许你的XHC口比我的多 你就找一个 比如SS01 右键点它 再点Duplicate 就能增加了
如果你的口比我的还少 多余的你删了就是了
都修改好 把这个kext放到你clover的kexts对应的10.11目录下 就ok了
注意如果放U盘安装盘里 最好10.10 10.11 others都放
另外 如果你的USB2 USB3都在XHC也就是USB3.0 Root Hub控制器下 你就没必要改DSDT里的EHC1 EHC2了 也就是不用管DSDT了
还有如果你的USB3口出现了PORT10 和以上的 要注意转换成16进制 也就是说
PORT10 - 0A000000
PORT11 - 0B000000
PORT12 - 0C000000
PORT13 - 0D000000
PORT14 - 0E000000
PORT15 - 0F000000
PORT16 - 10000000
PORT17 - 11000000
PORT18 - 12000000
PORT19 - 13000000
PORT20 - 14000000
PORT21 - 15000000
本帖最后由 sdsy1212 于 2015-10-27 12:21 编辑
无DSDT文件的情况下 改EHC1 EHC2为EH01 EH02的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>
能不能把成功后的usb那里截个图发出来呢 Vvshu 发表于 2015-10-26 16:10 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
能不能把成功后的usb那里截个图发出来呢
你想看什么? 系统信息里的USB信息? 还是IOREG软件下的信息? sdsy1212 发表于 2015-10-27 00:13 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
你想看什么? 系统信息里的USB信息? 还是IOREG软件下的信息?
系统信息的 这个例子是我win笔记本的 并没有黑苹果
等我一会下班 给你看我台式机的吧 也是同样方法获取的编号 编写的kext Vvshu 发表于 2015-10-26 16:18 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
系统信息的
你要看的文件我已上传
sdsy1212 发表于 2015-10-27 00:07 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
无DSDT文件的情况下 改EHC1 EHC2为EH01 EH02的clover config代码
DSDT
如果是MAC变色龙引导,该怎么改? otetion 发表于 2015-10-27 14:10 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
如果是MAC变色龙引导,该怎么改?
变色龙真的没用过 抱歉了不知道怎么改 1E26结尾的USB 2.0 RootHub = EHC1
1E2D结尾的USB 2.0 RootHub = EHC2
请教下,关于这点你是如何判断的? lwjm 发表于 2015-10-27 14:24 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
1E26结尾的USB 2.0 RootHub = EHC1
1E2D结尾的USB 2.0 RootHub = EHC2
一个控制器名字是 USB Enhanced Host Controller - 1E2D
一个控制器名字是 USB Enhanced Host Controller - 1E26
1E26是一个16进制数 1E2D也是一个16进制数
因为1E2D - 1E26 = 7
1E2D比1E26大
所以大的数是EHC2 小的数是EHC1 我的笔记本已经奇葩到翻遍论坛都找不到我的USB2.0驱动方法。。。
USBInjector没用。。。DSDT没用,除了RehabMan提供的USBInjectAll.kext可以。但是会不停的系统注册USB2.0HUB信息到XHC。。。果断放弃 yygutn 发表于 2015-10-27 14:31 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
我的笔记本已经奇葩到翻遍论坛都找不到我的USB2.0驱动方法。。。
USBInjector没用。。。DSDT没用,除了Reh ...
兄台 可否让我一试? sdsy1212 发表于 2015-10-27 22:33 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
兄台 可否让我一试?
试什么????!!! 有Dsdt情况下会如何改动 aiolia2 发表于 2015-10-27 14:37 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
有Dsdt情况下会如何改动
有DSDT 也可以使用clover代码 替换EHC1 EHC2为EH01 EH02
这样做 你不需要改DSDT文件
如果你想动你的DSDT文件
打开DSDT 查找EHC1 全部替换为EH01 查找EHC2 全部替换为EH02
效果也是一样的 yygutn 发表于 2015-10-27 14:35 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
试什么????!!!
你按照贴里说的
把你的USB口 全部用USB2.0设备 和USB3.0设备试一遍 然后把结果给我 我给你做个针对你机器的kext sdsy1212 发表于 2015-10-27 22:28 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
一个控制器名字是 USB Enhanced Host Controller - 1E2D
一个控制器名字是 USB Enhanced Host Controlle ...
你的usb信息里有没有显示usb内建 字样? 我的不管怎么弄usb驱动总是无法睡眠,一睡眠立马就唤醒了然后黑屏 多谢分享~~~~ lwjm 发表于 2015-10-27 14:50 http://cdn.pcbeta.img.inimc.comstatic/image/common/back.gif
你的usb信息里有没有显示usb内建 字样? 我的不管怎么弄usb驱动总是无法睡眠,一睡眠立马就唤醒了 ...
这个 我也不清楚啊 我现在手里没osx系统
但是我曾经遇到过你说的情况 一模一样 后来解决了
中间我只做了一件事
把我的AR5B195无线蓝牙卡换成了BCM94360CD无线蓝牙卡
自此 就能睡眠了 也不会睡下后秒醒但屏还是黑的