51 次瀏覽

黑蘋果USB3.0端口定制之教程(OC版)

前言

編譯USB 3.0端口定制是非常簡單的,只要針對系統版本,和對應的補丁,來重新定義USB端口的定義。若是沒有編譯USB 3.0端口定制值,可能會影響到休眠、USB端口的速率等等問題。當你安裝好macOS系統時,USB端口定制必須要先做的一件事。

如果你是CLOVER 引導,請到這裡

準備工作

請準備以下幾個APP,本文不是新手教程,需要一定的黑蘋果基礎
Hackintool.app
Xcode app
ProperTree
opencore configurator
備註:OpenCore 官方說法是 Kernel / XhciPortLimit / 勾選,便可以解除限制USB15個的端口補丁。但個人認為效益不大,仍必須要加入以下的補丁。

加入解除USB 15個端口的補丁

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
————————————————
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.x

Comment: 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.x

Comment: 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.x

Comment: 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 製作opencore 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