查看: 48509|回复: 182

[分享] 修改原版AppleUSBXHCI使用第三方USB3.0晶片 (附上第三方驅動)

  [复制链接]
发表于 2013-2-11 17:57 | 显示全部楼层 |阅读模式 |IP属地台湾
快御云安全
本帖最后由 shiecldk 于 2015-8-2 03:00 编辑

本人親測μPD720200跟μPD720202都能使用

10.8.2  patched  AppleUSBXHCI:內附Zenith432的破解方式)
AppleUSBXHCI_10.8.2_patched.zip (79.74 KB, 下载次数: 393)
10.8.3 patched  AppleUSBXHCI:
AppleUSBXHCI.kext.zip (84.55 KB, 下载次数: 836)

要替換原本/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns下的AppleUSBXHCI    不然當然會死機





在這大概說明一下破解的內容:
(以下附上hex code跟otool反編譯的數據以後更新請自己用HexEdit破解)
目前這裡面總共有七個patch

第5520行:
  1. 755b --> eb5b
复制代码
檢查USB3.0晶片是否為Intel Panther Point或Fresco Logic   若沒破解就不能使用第三方晶片
在AppleUSBXHCI裡的Info.plist   加入AllowAnyXHCI=true   能達到同樣的效果


第5621行:
  1. 663d0001 --> 663d0000
复制代码
檢查USB3.0晶片是否大於等於xHCI 1.0規範  例:μPD720200是xHCI 0.96   μPD720202是xHCI 1.0
若沒破解  μPD720202仍可辨識  μPD720200就不行


第6d60行:
  1. 81490800004000 --> 81490800000000
复制代码
解決MSI使用或PIN interrupt的問題  以及睡眠問題 (幾乎所有第三方USB3.0晶片都必要此破解  不然裝置都連不上)但是個人認為這也是造成此破解的AppleUSBXHCI比PXHCD慢的原因


第7ce4行:
  1. 41c744240800004000 --> 41c744240800000000
复制代码
同上


第7fcb行:
  1. 41c7460800004000 --> 41c7460800000000
复制代码
同前兩個    此三個破解都是解決MSI或PIN interrupt的問題
個人試過這三個破解少用其中幾個    會使CPU效能減半
因為USB3.0有兩個interrupters  一個是USB2.0  另一個才是USB3.0  這也是為什麼使用AppleUSBXHCI時   同一個USB接口在系統資訊裡會同時出現USB High-Speed Bus跟USB SuperSpeed Bus

有些USB3.0控制器能同時使用MSI和PIN interrupt(像是Intel Panther Point)  有些只能用到PIN interrupt但不能使用MSI   有些兩個都不行

PXHCD.kext用的是USB3.0晶片裡的USB2.0的interrupter  所以系統資訊理顯示為480mb/s   (那個USB Super-Speed Bus是他們在驅動裡加的..)   硬把USB2.0的interrupter拿來跑USB3.0的速度  所以當然有時會出問題   但是卻解決不能使用MSI或PIN interrupt的問題

詳細資訊在這
http://www.insanelymac.com/forum/topic/285157-patched-appleusbxhci-from-os-1082/page__st__20#entry1878236

第1000e行:
  1. c680c800000001 --> c680c800000000
复制代码
當進入睡眠時  IOUSBFamily.kext會關掉USB控制器  並在喚醒後重新開啓  任何的儲存裝置都會在睡眠時斷線
這個破解能在你喚醒時重新連結儲存裝置   如果你沒這個問題可以不用使用

第10056行:
  1. 7526488bbbe8010000 --> eb26488bbbe8010000
复制代码
解決PCI電源控制問題  如果DSDT裡有xhci管理則不必用到



根據其他人回報使用此破解的AppleUSBXHCI   能正常睡眠喚醒


2/28更新    本人使用Clover r1140配合此AppleUSBXHCI    能正常睡眠喚醒




原帖在這:
由神人Zenith432破解
http://www.insanelymac.com/forum/topic/285157-patched-appleusbxhci-from-os-1082/#entry1875885


話說Zenith432就是那位開發虛擬機下的OSX的顯卡驅動



评分

13

查看全部评分

 楼主| 发表于 2013-2-11 17:57 | 显示全部楼层 |IP属地台湾
本帖最后由 shiecldk 于 2013-2-27 21:03 编辑

如果這個破解的AppleUSBXHCI不能用  可以試試PXHCD

有些人之前在這回報用了PXHCD會五國或是log裡產生很多USB接口的資訊

在這附上的PXHCD應該解決了以上問題  各位可以試試:
PXHCD.kext.zip (124.56 KB, 下载次数: 268)

同樣地PXHCD的log問題也是由Zenith432解決
http://www.insanelymac.com/forum/topic/284654-patched-lacie-usb-30-driver/

评分

2

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-2-11 17:57 | 显示全部楼层 |IP属地台湾
本帖最后由 shiecldk 于 2013-2-27 21:01 编辑

Zenith432說他是用otool來反編譯AppleUSBXHCI跟PXHCD

其他神人可以來試試   以後破解其他kext就交給你們啦

用法:
  1. otool -tv  (空一格, 把檔案拖到這)
复制代码

我試著破解了10.8.3的AppleUSBXHCI   等出了正式版有空再傳上來



有使用Clover的人  可以直接用以下代碼   以後更新就不用再破解了
  1. <key>KernelAndKextPatches</key>
  2.         <dict>
  3.                 <key>KextsToPatch</key>
  4.                 <dict>
  5.                         <key>0</key>
  6.                         <dict>
  7.                                 <key>Name</key>
  8.                                 <string>AppleUSBXHCI</string>
  9.                                 <key>Find</key>
  10.                                 <data>dVs=</data>
  11.                                 <key>Replace</key>
  12.                                 <data>61s=</data>
  13.                         </dict>
  14.                         <key>1</key>
  15.                         <dict>
  16.                                 <key>Name</key>
  17.                                 <string>AppleUSBXHCI</string>
  18.                                 <key>Find</key>
  19.                                 <data>Zj0AAQ==</data>
  20.                                 <key>Replace</key>
  21.                                 <data>Zj0AAA==</data>
  22.                         </dict>
  23.                         <key>2</key>
  24.                         <dict>
  25.                                 <key>Name</key>
  26.                                 <string>AppleUSBXHCI</string>
  27.                                 <key>Find</key>
  28.                                 <data>gUkIAABAAA==</data>
  29.                                 <key>Replace</key>
  30.                                 <data>gUkIAAAAAA==</data>
  31.                         </dict>
  32.                         <key>3</key>
  33.                         <dict>
  34.                                 <key>Name</key>
  35.                                 <string>AppleUSBXHCI</string>
  36.                                 <key>Find</key>
  37.                                 <data>QcdEJAgAAEAA</data>
  38.                                 <key>Replace</key>
  39.                                 <data>QcdEJAgAAAAA</data>
  40.                         </dict>
  41.                         <key>4</key>
  42.                         <dict>
  43.                                 <key>Name</key>
  44.                                 <string>AppleUSBXHCI</string>
  45.                                 <key>Find</key>
  46.                                 <data>QcdGCAAAQAA=</data>
  47.                                 <key>Replace</key>
  48.                                 <data>QcdGCAAAAAA=</data>
  49.                         </dict>
  50.                         <key>5</key>
  51.                         <dict>
  52.                                 <key>Name</key>
  53.                                 <string>AppleUSBXHCI</string>
  54.                                 <key>Find</key>
  55.                                 <data>xoDIAAAAAQ==</data>
  56.                                 <key>Replace</key>
  57.                                 <data>xoDIAAAAAA==</data>
  58.                         </dict>
  59.                         <key>6</key>
  60.                         <dict>
  61.                                 <key>Name</key>
  62.                                 <string>AppleUSBXHCI</string>
  63.                                 <key>Find</key>
  64.                                 <data>dSZIi7voAQAA</data>
  65.                                 <key>Replace</key>
  66.                                 <data>6yZIi7voAQAA</data>
  67.                         </dict>
  68.                 </dict>
  69.         </dict>
复制代码

0是AllowAnyXHCI的破解
1是xHCI 0.96的破解
2~4是MSI跟PIN interrupt的破解
5是喚醒時重新連結的破解
6是PCI電源控制的破解


回复

使用道具 举报

发表于 2013-2-11 19:11 | 显示全部楼层 |IP属地黑龙江
赞一个先
话说你用的Xcode是什么版本 默认就有Otool么

点评

謝謝啦~~ 剛剛辛苦你了  发表于 2013-2-11 19:15

评分

1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-2-11 19:14 | 显示全部楼层 |IP属地台湾
hellozhangxin 发表于 2013-2-11 19:11
赞一个先
话说你用的Xcode是什么版本 默认就有Otool么

我記得默認好像沒有

要裝在Xcode裡裝Command Line Tools

在Xcode>Preferences>Downloads>Command Line Tools
回复

使用道具 举报

发表于 2013-2-11 19:14 | 显示全部楼层 |IP属地黑龙江
shiecldk 发表于 2013-2-11 19:14
我記得默認好像沒有

要裝在Xcode裡裝Command Line Tools

有空试试
不过我未必能看懂反编译出来的内容
也许凹凸曼奶牛能看懂
回复

使用道具 举报

发表于 2013-2-11 19:23 | 显示全部楼层 |IP属地广东
必须mark!然后等10.8.3出来就测试.
回复

使用道具 举报

 楼主| 发表于 2013-2-11 19:23 | 显示全部楼层 |IP属地台湾
hellozhangxin 发表于 2013-2-11 19:14
有空试试
不过我未必能看懂反编译出来的内容
也许凹凸曼奶牛能看懂

我完全不懂 ==

只能看別人改的來對照   供升級後用
回复

使用道具 举报

发表于 2013-2-11 19:23 | 显示全部楼层 |IP属地广东
hellozhangxin 发表于 2013-2-11 19:14
有空试试
不过我未必能看懂反编译出来的内容
也许凹凸曼奶牛能看懂

皮卡丘 你在一个帖子里提到现在的uefi已经用不到大部分patch了...那么用了不会有什么不良后果吧?
回复

使用道具 举报

发表于 2013-2-11 19:24 | 显示全部楼层 |IP属地黑龙江
haronsx 发表于 2013-2-11 19:23
皮卡丘 你在一个帖子里提到现在的uefi已经用不到大部分patch了...那么用了不会有什么不良后果吧?

我有说过么

你要Patch神马?
回复

使用道具 举报

发表于 2013-2-11 19:25 | 显示全部楼层 |IP属地黑龙江
shiecldk 发表于 2013-2-11 19:23
我完全不懂 ==

只能看別人改的來對照   供升級後用

你能试试反编译ATI5000Controller.kext把文件保存给我吗
回复

使用道具 举报

发表于 2013-2-11 19:28 | 显示全部楼层 |IP属地广东
hellozhangxin 发表于 2013-2-11 19:24
我有说过么

你要Patch神马?

...比如说RTC啊...本来就没问题的...但是patch下没问题吧

还有。。撸主这个是针对NEC...Etron等第三方?这些都能用?
回复

使用道具 举报

发表于 2013-2-11 19:29 | 显示全部楼层 |IP属地黑龙江
haronsx 发表于 2013-2-11 19:28
...比如说RTC啊...本来就没问题的...但是patch下没问题吧

还有。。撸主这个是针对NEC...Etron等第三方 ...

我用Clover的PatchRTC参数会直接五国
你可以试试
回复

使用道具 举报

 楼主| 发表于 2013-2-11 19:30 | 显示全部楼层 |IP属地台湾
hellozhangxin 发表于 2013-2-11 19:25
你能试试反编译ATI5000Controller.kext把文件保存给我吗

OK

這裡:
AMD5000Controller.zip (200.59 KB, 下载次数: 9)
用OSX的文字編輯就能打開

它是反編譯ATI5000Controller.kext/Contents/MacOS/AMD5000Controller

评分

1

查看全部评分

回复

使用道具 举报

发表于 2013-2-11 19:32 | 显示全部楼层 |IP属地黑龙江
shiecldk 发表于 2013-2-11 19:30
OK

這裡:

谢啦
只是完全看不懂
回复

使用道具 举报

 楼主| 发表于 2013-2-11 19:32 | 显示全部楼层 |IP属地台湾
haronsx 发表于 2013-2-11 19:28
...比如说RTC啊...本来就没问题的...但是patch下没问题吧

还有。。撸主这个是针对NEC...Etron等第三方 ...

恩恩   都能用

聽說連Ti的晶片也可以
回复

使用道具 举报

发表于 2013-2-11 19:34 | 显示全部楼层 |IP属地广东
shiecldk 发表于 2013-2-11 19:32
恩恩   都能用

聽說連Ti的晶片也可以

好棒!先点赞!
回复

使用道具 举报

发表于 2013-2-12 21:28 | 显示全部楼层 |IP属地福建
天哪。。。有人本本的nec芯片试过吗?我每次试都会五国啊

回复

使用道具 举报

发表于 2013-2-12 21:36 | 显示全部楼层 |IP属地湖南
能破解肯定要赞。

能有类似这样的破解多黒果会更多的。
回复

使用道具 举报

 楼主| 发表于 2013-2-13 14:25 | 显示全部楼层 |IP属地台湾
hyunbinrain 发表于 2013-2-12 21:28
天哪。。。有人本本的nec芯片试过吗?我每次试都会五国啊

用什麼五國的??
回复

使用道具 举报

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

本版积分规则

小黑屋手机版联系我们

Copyright © 2005-2024 PCBeta. All rights reserved.

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

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

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

GMT+8, 2024-12-22 11:03

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