本帖最后由 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行:檢查USB3.0晶片是否為Intel Panther Point或Fresco Logic 若沒破解就不能使用第三方晶片 在AppleUSBXHCI裡的Info.plist 加入AllowAnyXHCI=true 能達到同樣的效果
第5621行: 檢查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的顯卡驅動
|