Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 10074|回复: 131

[分享] 使用aida64检测USB口并生成kext injector的经验 [复制链接]

Rank: 5Rank: 5Rank: 5

UID
2865038
帖子
490
PB币
1826
贡献
0
技术
8
活跃
605
发表于 2015-10-26 21:48:31 |显示全部楼层
本帖最后由 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
可以进一步整理为如下结果
  1. EH01控制器下
  2. 0-PORT1

  3. EH02控制器下
  4. 0-PORT1

  5. XHC控制器下
  6. 0-PORT3
  7. 0-PORT4
  8. 3-PORT7
  9. 3-PORT8
复制代码

                          表格.1 (USB控制器与USB连接类型及端口号)

为了迎合kext里的plist文件 我们再次修改表格.1 随便取几个名称LS0x HS0x SS0x 名字并没有卵用
  1. EH01控制器下
  2. 最大PORT编号 01000000
  3. LS01 类型0 编号01000000

  4. EH02控制器下
  5. 最大PORT编号 01000000
  6. HS01 类型0 编号01000000

  7. XHC控制器下
  8. 最大PORT编号 08000000
  9. SS03 类型0 编号03000000
  10. SS04 类型0 编号04000000
  11. SS07 类型3 编号07000000
  12. 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


附件: 你需要登录才可以下载或查看附件。没有帐号?注册
1

查看全部评分

Rank: 5Rank: 5Rank: 5

UID
2865038
帖子
490
PB币
1826
贡献
0
技术
8
活跃
605
发表于 2015-10-27 00:07:41 |显示全部楼层
本帖最后由 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>

Rank: 2Rank: 2

UID
3313066
帖子
381
PB币
183
贡献
0
技术
28
活跃
563

8周年庆典勋章

发表于 2015-10-27 00:10:30 来自手机 |显示全部楼层
能不能把成功后的usb那里截个图发出来呢

Rank: 5Rank: 5Rank: 5

UID
2865038
帖子
490
PB币
1826
贡献
0
技术
8
活跃
605
发表于 2015-10-27 00:13:29 |显示全部楼层
Vvshu 发表于 2015-10-26 16:10
能不能把成功后的usb那里截个图发出来呢

你想看什么? 系统信息里的USB信息? 还是IOREG软件下的信息?

Rank: 2Rank: 2

UID
3313066
帖子
381
PB币
183
贡献
0
技术
28
活跃
563

8周年庆典勋章

发表于 2015-10-27 00:18:50 |显示全部楼层
sdsy1212 发表于 2015-10-27 00:13
你想看什么? 系统信息里的USB信息? 还是IOREG软件下的信息?

系统信息的

Rank: 5Rank: 5Rank: 5

UID
2865038
帖子
490
PB币
1826
贡献
0
技术
8
活跃
605
发表于 2015-10-27 00:24:58 |显示全部楼层
这个例子是我win笔记本的 并没有黑苹果
等我一会下班 给你看我台式机的吧 也是同样方法获取的编号 编写的kext

Rank: 5Rank: 5Rank: 5

UID
2865038
帖子
490
PB币
1826
贡献
0
技术
8
活跃
605
发表于 2015-10-27 20:23:42 |显示全部楼层
Vvshu 发表于 2015-10-26 16:18
系统信息的

你要看的文件我已上传

附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

UID
2563062
帖子
129
PB币
459
贡献
0
技术
0
活跃
133
发表于 2015-10-27 22:10:42 |显示全部楼层
sdsy1212 发表于 2015-10-27 00:07
无DSDT文件的情况下 改EHC1 EHC2为EH01 EH02的clover config代码  
DSDT
            

如果是MAC变色龙引导,该怎么改?

Rank: 5Rank: 5Rank: 5

UID
2865038
帖子
490
PB币
1826
贡献
0
技术
8
活跃
605
发表于 2015-10-27 22:23:16 |显示全部楼层
otetion 发表于 2015-10-27 14:10
如果是MAC变色龙引导,该怎么改?

变色龙真的没用过 抱歉了不知道怎么改

Rank: 7Rank: 7Rank: 7

UID
1937309
帖子
949
PB币
212
贡献
0
技术
20
活跃
933

我是大学生!

发表于 2015-10-27 22:24:57 |显示全部楼层
1E26结尾的USB 2.0 RootHub = EHC1
1E2D结尾的USB 2.0 RootHub = EHC2

请教下,关于这点你是如何判断的?

Rank: 5Rank: 5Rank: 5

UID
2865038
帖子
490
PB币
1826
贡献
0
技术
8
活跃
605
发表于 2015-10-27 22:28:33 |显示全部楼层
lwjm 发表于 2015-10-27 14:24
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

Rank: 5Rank: 5Rank: 5

UID
4304901
帖子
449
PB币
72
贡献
0
技术
18
活跃
443
发表于 2015-10-27 22:31:54 |显示全部楼层
我的笔记本已经奇葩到翻遍论坛都找不到我的USB2.0驱动方法。。。
USBInjector没用。。。DSDT没用,除了RehabMan提供的USBInjectAll.kext可以。但是会不停的系统注册USB2.0HUB信息到XHC。。。果断放弃

Rank: 5Rank: 5Rank: 5

UID
2865038
帖子
490
PB币
1826
贡献
0
技术
8
活跃
605
发表于 2015-10-27 22:33:05 |显示全部楼层
yygutn 发表于 2015-10-27 14:31
我的笔记本已经奇葩到翻遍论坛都找不到我的USB2.0驱动方法。。。
USBInjector没用。。。DSDT没用,除了Reh ...

兄台 可否让我一试?

Rank: 5Rank: 5Rank: 5

UID
4304901
帖子
449
PB币
72
贡献
0
技术
18
活跃
443
发表于 2015-10-27 22:35:46 |显示全部楼层
sdsy1212 发表于 2015-10-27 22:33
兄台 可否让我一试?

试什么????!!!

Rank: 5Rank: 5Rank: 5

UID
2590921
帖子
910
PB币
536
贡献
0
技术
1
活跃
453
发表于 2015-10-27 22:37:50 来自手机 |显示全部楼层
有Dsdt情况下会如何改动

Rank: 5Rank: 5Rank: 5

UID
2865038
帖子
490
PB币
1826
贡献
0
技术
8
活跃
605
发表于 2015-10-27 22:39:54 |显示全部楼层
aiolia2 发表于 2015-10-27 14:37
有Dsdt情况下会如何改动

有DSDT 也可以使用clover代码 替换EHC1 EHC2为EH01 EH02
这样做 你不需要改DSDT文件
如果你想动你的DSDT文件
打开DSDT 查找EHC1 全部替换为EH01 查找EHC2 全部替换为EH02
效果也是一样的

Rank: 5Rank: 5Rank: 5

UID
2865038
帖子
490
PB币
1826
贡献
0
技术
8
活跃
605
发表于 2015-10-27 22:40:57 |显示全部楼层
yygutn 发表于 2015-10-27 14:35
试什么????!!!

你按照贴里说的
把你的USB口 全部用USB2.0设备 和USB3.0设备试一遍 然后把结果给我 我给你做个针对你机器的kext

Rank: 7Rank: 7Rank: 7

UID
1937309
帖子
949
PB币
212
贡献
0
技术
20
活跃
933

我是大学生!

发表于 2015-10-27 22:50:47 |显示全部楼层
sdsy1212 发表于 2015-10-27 22:28
一个控制器名字是 USB Enhanced Host Controller - 1E2D
一个控制器名字是 USB Enhanced Host Controlle ...

你的usb信息里有没有显示  usb内建    字样?    我的不管怎么弄usb驱动总是无法睡眠,一睡眠立马就唤醒了然后黑屏

Rank: 1

UID
3646184
帖子
12
PB币
0
贡献
0
技术
0
活跃
41
发表于 2015-10-27 22:51:55 |显示全部楼层
多谢分享~~~~

Rank: 5Rank: 5Rank: 5

UID
2865038
帖子
490
PB币
1826
贡献
0
技术
8
活跃
605
发表于 2015-10-27 22:53:20 |显示全部楼层
lwjm 发表于 2015-10-27 14:50
你的usb信息里有没有显示  usb内建    字样?    我的不管怎么弄usb驱动总是无法睡眠,一睡眠立马就唤醒了 ...

这个 我也不清楚啊 我现在手里没osx系统
但是我曾经遇到过你说的情况 一模一样 后来解决了
中间我只做了一件事
把我的AR5B195无线蓝牙卡换成了BCM94360CD无线蓝牙卡
自此 就能睡眠了 也不会睡下后秒醒但屏还是黑的
回顶部
Copyright (C) 2005-2021 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件