USB埠修補

MacOS 10.14.1以上版本暫時沒有可用的USB埠限制修補，這可能導致無法同時使用電腦上的所有USB埠。Rehabman已更新USBInjectAll.kext來包含用於排除埠組的啟動標識。

使用方法

1、將用於埠識別的USBInjectAll.kext放入EFI/CLOVER/kexts/Other，並用四葉草編輯器在config.plist中對DSDT中以下名稱重命名四葉草（有哪些就重命名哪些）：

°XHCI -> XHC

°XHC1 -> XHC

°EHC1 -> EH01

°EHC2 -> EH02

2、重啟

3、啟動Hackintool，進入“已安裝”選項卡，檢查USBInjectAll是否正確安裝。

例如：USBInjectAll: Yes (Release-0.7.1)

4、進入“USB”選項卡查看USB控制器列表。基於USB控制器類型，可能需要安裝其他驅動。如需要安裝額外驅動，請安裝該驅動，然後重新啟動再次啟動Hackintool。

以下是額外驅動列表：

°8086:8CB1， macOS版本小於< 10.11.1 -> XHCI-9-series.kext

°8086:8D31, 8086:A2AF, 8086:A36D, 8086:9DED -> XHCI-unsupported.kext

°8086:1E31, 8086:8C31, 8086:8CB1, 8086:8D31, 8086:9C31, 8086:9CB1 -> FakePCIID.kext + FakePCIID_XHCIMux.kext

5、轉到“USB”選項卡，選擇USB埠列表中的所有項目，點擊“刪除”按鈕，再點擊“刷新”按鈕。

6、在config.plist中加入 -uia_exclude_ss、uia_include=HS01,HS02啟動選項後，重新啟動，在HS01、HS02兩埠連接滑鼠和鍵盤。

7、啟動Hackintool並轉到“USB”選項卡，將USB 2.0設備依次插入到系統上所有USB埠，活動的埠將保持綠色高亮，所有未綠色高亮的埠則需要刪除。

8、在config.plist中加入-uia_exclude_hs並刪除-uia_exclude_ss 啟動選項後重啟，再次啟動Hackintool進入“USB”選項卡，將一個USB 3.0設備與一個TypeC設備依次插入系統上的所有可用埠（TypeC為雙向的），活動的埠將保持綠色高亮，刪除那些未綠色高亮的埠。

9、接下來對於所有保留下來的埠，點擊每一個的“類型”，在彈出的下拉列表裡選擇正確埠類型：

°主機板設備（如M2藍牙卡）設定為“Internal”

°USB3.0的HSXX埠設定為“USB3”。

°內部集線器通常連接到PR11和PR21，設定為“Internal”

°對於TypeC，如果它在2.0與3.0下使用相同的HSXX/SSXX，那麼選擇“TypeC+Sw”，否則選擇 “TypeC”

10、使用“匯出”按鈕將文件生成到桌面，匯出的文件有兩種形式，你可以自由選擇：

1.匯出USBPorts.kext，並複製到EFI/CLOVER/kexts/Other

2.匯出SSDT-UIAC.aml和SSDT-USBX.aml ，複製到EFI/CLOVER/ACPI/patched

11、如果生成了SSDT-EC.aml，將其複製到EFI/CLOVER/ACPI/patched

12、清理不必要的文件，刪除啟動標識-uia_exclude_ss -uia_exclude_hs uia_include=x，刪除USBInjectAll.kext

13、重新啟動，啟動Hackintool，進入“USB”選項卡，選擇USB埠列表中的所有項目，點擊“刪除”，然再點擊“刷新”，查看所有埠是否正常工作。如果需要更改埠類型，則需要在更改完成後重新匯出USBPorts.kext並複製替換；如果修補錯誤導致埠不正常，請刪除USBPorts.kext然後從頭再來。

關於USB相關的QA

Q:什麼是USBPorts.kext？

A.這是一個用於注入USB埠的無代碼驅動。

Q:我需要SSDT-UIAC.aml嗎？

A.不，此方法使用了USBPorts.kext這個無代碼驅動代替它。