前言
編譯USB 3.0端口定制是非常簡單的,只要針對系統版本,和對應的補丁,來重新定義USB端口的定義。若是沒有編譯USB 3.0端口定制值,可能會影響到休眠、USB端口的速率等等問題。當你安裝好macOS系統時,USB端口定制必須要先做的一件事。
如果你是CLOVER 引導,請到這裡。
Note1:新增 Big Sur USB 補丁加載方法!
Note2:新增在Windows 環境下,透過 USBToolBox 工具來製作 USB 3.0接口定制
準備工作
請準備以下幾個APP,本文不是新手教程,需要一定的黑蘋果基礎
Hackintool.app
Xcode app
ProperTree
opencore configurator
備註:OpenCore 官方說法是 Kernel / XhciPortLimit / 勾選,便可以解除限制USB15個的端口補丁。但個人認為效益不大,仍必須要加入以下的補丁。
加入解除 USB 15個端口的補丁
如果你的蘋果系統為 Big Sur,以下是在 Big Sur 所採用的補丁,只限於在macOS 11.3.x 版本,之後無法使用該補丁來製作USB 3.0 端口定制!
macOS 11.3.x USS 補丁 Comment: USB port limit patch #1 10.14.x modify by penghubingzhou Name: com.apple.iokit.IOUSBHostFamily Find: 83FB0F0F Replace: 83FB3F0F MatchOS: 10.15.x Comment: USB Port limit patch #2 10.14.x modify by penghubingzhou Name: com.apple.driver.usb.AppleUSBXHCI Find: 83F90F0F Replace: 83F93F0F MatchOS: 10.15.x
macOS 10.15.x USS 補丁 Comment: USB port limit patch #1 10.14.x modify by penghubingzhou Name: com.apple.iokit.IOUSBHostFamily Find: 83FB0F0F Replace: 83FB3F0F MatchOS: 10.15.x Comment: USB Port limit patch #2 10.14.x modify by penghubingzhou Name: com.apple.driver.usb.AppleUSBXHCI Find: 83F90F0F Replace: 83F93F0F MatchOS: 10.15.x
你可以使用 opencore configurator 編輯工具,根據圖示順序,來加載 USB 補丁參數,同時要勾選 XhcjPortLimit 選項,同時要注意引導文件,是否有已經訂製好的USB SSDT 文件為上刪除。如下圖示。BIG SUR、Catalina 適用
macOS 10.14.6 USS 補丁Comment: USB port limit patch #1 10.14.x modify by DalianSky(credit ydeng)
Name: com.apple.iokit.IOUSBHostFamily
Find: 83FB0F0F
Replace: 83FB3F0F
MatchOS: 10.14.xComment: USB port limit patch #2 10.14.x modify by DalianSky(credit PMHeart)
Name: com.apple.iokit.IOUSBHostFamily
Find: 83E30FD3
Replace: 83E33FD3
MatchOS: 10.14.xComment: USB Port limit patch #3 10.14.x modify by DalianSky(credits PMheart)Name: com.apple.driver.usb.AppleUSBXHCI
Find: 83FB0F0F
Replace: 83FB3F0F
MatchOS: 10.14.xComment: USB Port limit patch #4 10.14.x modify by DalianSky(credits PMheart)
Name: com.apple.driver.usb.AppleUSBXHCI
Find: 83FF0F0F
Replace: 83FF3F0F
MatchOS: 10.14.x
這裏我們直接使用Hackintool 工具直接加入補丁值,重新建立一個config.plist文件。開啟Hackintool app 工具,選擇『引導工具』的選項,我們要加入有關主板的 ACPI 修正檔,以及系統版本所需的 USB 補丁。
首先要查主機板所使用的USB 晶片類型。利用Hackintool 工具,點選USB選項,主機板USB晶片類型為『XHC』,設備ID 為0xA36D。如果是早期的主機板的USB晶片類型,可能是EHC 類型,這點要特別留意一下。
得知主機板 USB 晶片類型為『XHC』,那麼我們得在ACPI / Patch 下,加入修正檔。同樣的使用Hackintool 工具,在引導選項的下面視窗,來選擇USB 類型的修正檔。
點選之後,將該補丁導出。選擇該視窗底下最右邊的『導出扭』。
對話:開啟『EFI分區』。這裏你可以選擇不開。(我是選擇開啟)輸入密碼。
ㄧ、選擇另存新檔。最這要的目的,怕是會傷害到config引導文件。
二、選擇導入補丁值,原來的config文件變成為備用。新的config已導入『補丁值』。
這裏選擇ㄧ示範。
請使用U盤安裝碟來製作,先把原本的OC EFI資料夾的config 另存備份,打開Xcode 軟體,先把ACPI和Kernel 選項的Patch 值全數刪除,再把剛剛另存的config文件打開,把ACPI和Kernel 選項的Patch 值在config引導文件,直接貼上同路徑,存檔。這點很重要。如圖示。
使用opencore configurator 工具
這裏要感謝遠景草原企鵝和 NDK 製作 Copencore Configurator 工具。使用的方法也是一樣,選擇ACPI 和Kernel 單元的補丁選項,在底下視窗補丁列表,直接加入我們所需要的補丁值。直接儲存即可。
以上三種方法,都可以使用。擇ㄧ即可。
製作好的config引導文件,存檔。電腦重新開機,若USB安裝碟能夠正常引導使用後,我們就開始準備開始定制USB。
定制USB編譯
打開Hackintool.app
打開文字編輯器,和USB3.0U盤,2.0U盤(如果沒有2.0的U盤,就拿鼠標鍵盤來吧)插入USB上,插入後會變成綠色,記錄下來,每插一個USB口就記錄一次,直到所有的USB都插入過並記錄下來
注意:macOS系統的USB端口數量為15個,所以我們要保證USB端口數量要在15個及以內,USB3.0要佔用兩個端口,操作時,UBS3端口要拿一個USB3設備插入一次,一個2.0設備插入一次,記錄下來。不過如果所有的USB端口都設置為3.0,會不夠用,這時就需要取捨了,我是機箱前面板為USB3.0,後置全部2.0
內置USB,比如藍牙佔用的USB端口,要設置為internal,typc要正反插(插完後轉180度再插入,看端口是否變換,沒變化就是TypeC+Sw,有變化的就是TypeC
之後刪除沒有沒有被記錄下來的端口,注意不要保留的數量不要超過15個,用不上的USB或者對速度沒要求,比如鼠標鍵盤打印機就設置為 2.0 吧
多檢查檢查,確保需要的USB都被記錄了,沒有問題後就可以導出了,會生產4個文件,不過我們只需要用到其中的二個,把這三個文件放入 EFI/OC/ACPI 資料夾。記得要把路徑加進去。
SSDT-EC-USBX.aml
SSDT-UIAC.aml
如果你想用USBPorts.kext,只需放在EFI/OC/Kexts/ 記得加上路徑啟用。並把USBInjectAll.kext刪除。
最後一定樣『禁用』或『去除』 解除USB 15個端口補丁,再重啟電腦
至此USB定制教程結束,全程不會超過20分鐘吧,操作起來其實是很簡單的。
最後檢查,是否完整的USB端口對應。
QA
Q:為什麼不用USBPorts.kext
A:USBPorts.kext很有可能在系統更新後失效,還是SSDT更加靠譜,基本是升級無憂
Q:如果我後序要更改端口類型怎麼做
A:簡單的改變類型,比如USB3改成internal,不需要從頭做,直接更改即可,如果改的多的話,打開去除USB端口數量補丁從頭再來吧
Q:定制USB有什麼好處麼
A:最大的好處就是可以讓睡眠喚醒都正常,不用擔心系統升級,如果你遇到了睡眠喚醒異常,失效,不妨定制一下USB。