shiecldk 发表于 2013-2-11 17:57

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

本帖最后由 shiecldk 于 2015-8-2 03:00 编辑

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

10.8.2patchedAppleUSBXHCI:內附Zenith432的破解方式)

10.8.3 patchedAppleUSBXHCI:


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





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

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

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

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


第7ce4行:41c744240800004000 --> 41c744240800000000同上


第7fcb行: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行:c680c800000001 --> c680c800000000當進入睡眠時IOUSBFamily.kext會關掉USB控制器並在喚醒後重新開啓任何的儲存裝置都會在睡眠時斷線這個破解能在你喚醒時重新連結儲存裝置   如果你沒這個問題可以不用使用
第10056行: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的顯卡驅動


shiecldk 发表于 2013-2-11 17:57

本帖最后由 shiecldk 于 2013-2-27 21:03 编辑

如果這個破解的AppleUSBXHCI不能用可以試試PXHCD
有些人之前在這回報用了PXHCD會五國或是log裡產生很多USB接口的資訊
在這附上的PXHCD應該解決了以上問題各位可以試試:
同樣地PXHCD的log問題也是由Zenith432解決{:9_607:}http://www.insanelymac.com/forum/topic/284654-patched-lacie-usb-30-driver/

shiecldk 发表于 2013-2-11 17:57

本帖最后由 shiecldk 于 2013-2-27 21:01 编辑

Zenith432說他是用otool來反編譯AppleUSBXHCI跟PXHCD
其他神人可以來試試   以後破解其他kext就交給你們啦

用法:otool -tv(空一格, 把檔案拖到這)
我試著破解了10.8.3的AppleUSBXHCI   等出了正式版有空再傳上來


有使用Clover的人可以直接用以下代碼   以後更新就不用再破解了
<key>KernelAndKextPatches</key>
        <dict>
                <key>KextsToPatch</key>
                <dict>
                        <key>0</key>
                        <dict>
                                <key>Name</key>
                                <string>AppleUSBXHCI</string>
                                <key>Find</key>
                                <data>dVs=</data>
                                <key>Replace</key>
                                <data>61s=</data>
                        </dict>
                        <key>1</key>
                        <dict>
                                <key>Name</key>
                                <string>AppleUSBXHCI</string>
                                <key>Find</key>
                                <data>Zj0AAQ==</data>
                                <key>Replace</key>
                                <data>Zj0AAA==</data>
                        </dict>
                        <key>2</key>
                        <dict>
                                <key>Name</key>
                                <string>AppleUSBXHCI</string>
                                <key>Find</key>
                                <data>gUkIAABAAA==</data>
                                <key>Replace</key>
                                <data>gUkIAAAAAA==</data>
                        </dict>
                        <key>3</key>
                        <dict>
                                <key>Name</key>
                                <string>AppleUSBXHCI</string>
                                <key>Find</key>
                                <data>QcdEJAgAAEAA</data>
                                <key>Replace</key>
                                <data>QcdEJAgAAAAA</data>
                        </dict>
                        <key>4</key>
                        <dict>
                                <key>Name</key>
                                <string>AppleUSBXHCI</string>
                                <key>Find</key>
                                <data>QcdGCAAAQAA=</data>
                                <key>Replace</key>
                                <data>QcdGCAAAAAA=</data>
                        </dict>
                        <key>5</key>
                        <dict>
                                <key>Name</key>
                                <string>AppleUSBXHCI</string>
                                <key>Find</key>
                                <data>xoDIAAAAAQ==</data>
                                <key>Replace</key>
                                <data>xoDIAAAAAA==</data>
                        </dict>
                        <key>6</key>
                        <dict>
                                <key>Name</key>
                                <string>AppleUSBXHCI</string>
                                <key>Find</key>
                                <data>dSZIi7voAQAA</data>
                                <key>Replace</key>
                                <data>6yZIi7voAQAA</data>
                        </dict>
                </dict>
        </dict>
0是AllowAnyXHCI的破解
1是xHCI 0.96的破解
2~4是MSI跟PIN interrupt的破解
5是喚醒時重新連結的破解
6是PCI電源控制的破解


hellozhangxin 发表于 2013-2-11 19:11

赞一个先
话说你用的Xcode是什么版本 默认就有Otool么

shiecldk 发表于 2013-2-11 19:14

hellozhangxin 发表于 2013-2-11 19:11 static/image/common/back.gif
赞一个先
话说你用的Xcode是什么版本 默认就有Otool么

我記得默認好像沒有

要裝在Xcode裡裝Command Line Tools

在Xcode>Preferences>Downloads>Command Line Tools

hellozhangxin 发表于 2013-2-11 19:14

shiecldk 发表于 2013-2-11 19:14 static/image/common/back.gif
我記得默認好像沒有

要裝在Xcode裡裝Command Line Tools


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

haronsx 发表于 2013-2-11 19:23

必须mark!然后等10.8.3出来就测试.

shiecldk 发表于 2013-2-11 19:23

hellozhangxin 发表于 2013-2-11 19:14 static/image/common/back.gif
有空试试
不过我未必能看懂反编译出来的内容
也许凹凸曼奶牛能看懂

我完全不懂 ==

只能看別人改的來對照   供升級後用{:9_605:}

haronsx 发表于 2013-2-11 19:23

hellozhangxin 发表于 2013-2-11 19:14 static/image/common/back.gif
有空试试
不过我未必能看懂反编译出来的内容
也许凹凸曼奶牛能看懂

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

hellozhangxin 发表于 2013-2-11 19:24

haronsx 发表于 2013-2-11 19:23 static/image/common/back.gif
皮卡丘 你在一个帖子里提到现在的uefi已经用不到大部分patch了...那么用了不会有什么不良后果吧?

我有说过么

你要Patch神马?

hellozhangxin 发表于 2013-2-11 19:25

shiecldk 发表于 2013-2-11 19:23 static/image/common/back.gif
我完全不懂 ==

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

你能试试反编译ATI5000Controller.kext把文件保存给我吗
{:9_411:}

haronsx 发表于 2013-2-11 19:28

hellozhangxin 发表于 2013-2-11 19:24 static/image/common/back.gif
我有说过么

你要Patch神马?

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

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

hellozhangxin 发表于 2013-2-11 19:29

haronsx 发表于 2013-2-11 19:28 static/image/common/back.gif
...比如说RTC啊...本来就没问题的...但是patch下没问题吧

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

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

shiecldk 发表于 2013-2-11 19:30

hellozhangxin 发表于 2013-2-11 19:25 static/image/common/back.gif
你能试试反编译ATI5000Controller.kext把文件保存给我吗

OK

這裡:

用OSX的文字編輯就能打開

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

hellozhangxin 发表于 2013-2-11 19:32

shiecldk 发表于 2013-2-11 19:30 static/image/common/back.gif
OK

這裡:


{:9_419:}谢啦
只是完全看不懂

shiecldk 发表于 2013-2-11 19:32

haronsx 发表于 2013-2-11 19:28 static/image/common/back.gif
...比如说RTC啊...本来就没问题的...但是patch下没问题吧

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

恩恩   都能用

聽說連Ti的晶片也可以

haronsx 发表于 2013-2-11 19:34

shiecldk 发表于 2013-2-11 19:32 static/image/common/back.gif
恩恩   都能用

聽說連Ti的晶片也可以

好棒!先点赞!

hyunbinrain 发表于 2013-2-12 21:28

天哪。。。有人本本的nec芯片试过吗?我每次试都会五国啊

zshwq5 发表于 2013-2-12 21:36

能破解肯定要赞。

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

shiecldk 发表于 2013-2-13 14:25

hyunbinrain 发表于 2013-2-12 21:28 static/image/common/back.gif
天哪。。。有人本本的nec芯片试过吗?我每次试都会五国啊
用什麼五國的??
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 修改原版AppleUSBXHCI使用第三方USB3.0晶片 (附上第三方驅動)