自從macOS Mojave 10.14.1發(fā)布以來,黑蘋果方面出現(xiàn)了一個(gè)很討厭的bug闪湾,USB降速。連接USB 3.0U盤或移動(dòng)硬盤速度會(huì)顯示為480MB/s,也就是USB2.0的速度绩卤。以往的解決方案大都需要安裝10.14.0途样,比較麻煩。現(xiàn)在放出免安裝10.14.0的USB解決方案濒憋。
Bug成因
自從macOS Mojave 10.14.1發(fā)布以來何暇,傳統(tǒng)的解除USB15端口數(shù)量限制補(bǔ)丁失效,導(dǎo)致USB端口數(shù)量超過15的主板發(fā)生USB識(shí)別混亂凛驮,USB 3.0無法識(shí)別裆站。
準(zhǔn)備工作
- 黑蘋果常用工具,不贅述黔夭。
- FBPatcher宏胯。
- macOS Mojave 10.14.0安裝U盤。
解決方案前提
確保在10.14.0下USB正常本姥。
解決方案主導(dǎo)思想
在10.14.0安裝盤環(huán)境下提取數(shù)據(jù)肩袍,再進(jìn)入系統(tǒng)實(shí)際定制。
解決方案
打補(bǔ)丁
- 下載usbinjectall.kext備用婚惫,鏈接如下:
https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads/ -
使用Clover Configurator掛載EFI分區(qū)氛赐,將下載的usbinjectall.kext放到/EFI/CLOVER/kexts/Other下,如圖魂爪。
- 使用Clover Configurator掛載EFI分區(qū)并打開config.plist文件,在左側(cè)欄Kernel and Kext Patches下的KextsToPatch中打如下補(bǔ)丁艰管,如圖滓侍。
Name: com.apple.driver.usb.AppleUSBXHCI
Find: 83FB0F0F 83030500 00
Replace: 83FB0F90 90909090 90
Comment: disable port limit in XHCI kext (credit PMHeart)
MatchOS: 10.14.0
- 重啟電腦。
macOS Mojave安裝盤環(huán)境下提取USB端口數(shù)據(jù)(至關(guān)重要)
- 進(jìn)入macOS Mojave 10.14.0安裝盤牲芋。
- 菜單欄中點(diǎn)擊實(shí)用工具->終端打開終端粗井。
- 輸入如下命令打開FBPatcher,如圖街图。
/Volumes/Mojave/Applications/FBPatcher.app/Contents/MacOS/FBPatcher
-
分別用USB 2.0和USB 3.0設(shè)備將所有USB接口插一遍浇衬,插過的接口FBPatcher會(huì)顯示綠色。如圖即為USB端口數(shù)據(jù)餐济。博主的USB端口數(shù)據(jù)為: HS02耘擂、HS03、HS04絮姆、HS05醉冤、HS06、HS08篙悯、HS09蚁阳、HS11、HS14鸽照、SS01螺捐、SS02、SS03矮燎、SS04定血、SS05、SS06诞外、SS08澜沟。
- 重啟電腦。切記記錄好USB端口數(shù)據(jù)峡谊,安裝盤環(huán)境下不能截圖的哦茫虽!博主強(qiáng)烈建議拍照,方便以后定制既们。
按照USB端口數(shù)據(jù)定制USB
-
進(jìn)入系統(tǒng)濒析,按照之前提取的USB端口數(shù)據(jù),去掉無用端口贤壁,如圖悼枢。
-
檢測剩余端口數(shù),如果大于15就要做出取舍脾拆。比如博主的是16個(gè)USB端口馒索,其中有一個(gè)是水冷端口。用于檢測水冷狀態(tài)名船,macOS下用不到绰上,故去掉,如圖渠驼。
-
藍(lán)牙內(nèi)建蜈块,Connector改為Internal,如圖迷扇。
-
導(dǎo)出USBPorts.kexts百揭,如圖。
- 將生成的USBPorts.kext放到EFI/CLOVER/Kexts/Other下蜓席。也可以打開USBPorts.kext的info.plist文件器一,將數(shù)據(jù)集成到FakeSMC下(集成方法在下面)。
- 刪除EFI/CLOVER/Kexts/Other下的usbinjectall.kext文件厨内,去掉之前打的解除15端口限制補(bǔ)丁祈秕。
- 重啟,看看USB是不是滿血復(fù)活啦3浮G朊!
特殊情況
由于10.14.1版本開始USB識(shí)別異常瞭亮,所以可能遇到以下特殊情況方仿。例如在安裝盤環(huán)境提取數(shù)據(jù)時(shí)存在SS07端口,但是到系統(tǒng)中定制時(shí)卻找不到SS07端口统翩。遇到這種情況可以先導(dǎo)出USBPorts.kext兼丰,打開info.plist,按照其他端口的格式手動(dòng)添加SS07端口即可唆缴。手動(dòng)添加方法見下文鳍征。
USBPorts.kext下info.plist文件解析
info.plist文件結(jié)構(gòu)
info.plist與FBPatcher的數(shù)據(jù)對(duì)應(yīng)關(guān)系
iMacPro1,1-XHC
本字段為機(jī)型記錄,取決于所選SMBIOS面徽,所以要注意艳丛,定制完不要隨意修改機(jī)型。
HSxx(SSxx)
本字段為端口名稱趟紊,對(duì)應(yīng)FBPatcher中的Name字段氮双,如圖。
UsbConnector
本字段為連接器屬性霎匈,USB 2.0值為0戴差,USB 3.0值為3,特殊端口(如藍(lán)牙)值為255铛嘱。UsbConnector對(duì)應(yīng)FBPatcher中的Connetor字段暖释,如圖袭厂。
port
本字段為端口序號(hào),對(duì)應(yīng)FBPatcher中的Port球匕,格式略有不同纹磺,例如FBPatcher中Port為0x0E,則info.plist中port為0E000000亮曹,如圖橄杨。
port-count
本字段為端口數(shù)量,最后一個(gè)端口的port值即為port-count值照卦,如圖式矫。
info.plist中手動(dòng)添加端口數(shù)據(jù)
按照上文的對(duì)應(yīng)關(guān)系添加數(shù)據(jù)即可。
將USBPorts.kext中的數(shù)據(jù)集成到FakeSMC.kext
-
分別打開USBPorts.kext以及FakeSMC.kext的info.plist文件役耕,按照下圖操作采转。
- 刪除USBPorts.kext。