[Hackintosh] USB ポート 15 個制限用の USBPorts.kext を作成する

Hackintosh の USB ポート 15 個制限の設定として、これまで以下の2つの方法をこれまでやってきた。

(i)USBInjectAll.kext およびブートオプションを使う方法

Mojave 10.14.3 での USB ポート制限問題 – with a Christian Wife
https://wacw.cf/2019/02/09/unlock-usb-port-limite-on-hackintosh/

(ii)USBInjectAll.kext および SSDT を使う方法

[Hackintosh] USB ポート 15 個制限用の SSDT を作成する – with a Christian Wife
https://wacw.cf/2023/04/05/usb-port-limits-with-ssdt/

しかし、USBPorts.kext を作成する方法だともっと簡単にできると知ったのでやってみた。

参考:
15個制限のためのUSBPorts.kextをHackintoolで作る – Boot macOS
https://bootmacos.com/archives/9177

環境:macOS Ventura 13.2.1(英語環境)、OpenCore 0.9.0

(0)ESP から現在の USB ポート 15 個制限で使っている USBInjectAll.kext と SSDT-UIAC.aml を削除する。

(1)OpenCore の config.plist で「Kernel>Quirks>XhciPortLimit」を False から True に変え、15 来制限を一時的に外す。(XhciPortLimit を True にすると不具合が出ることがあるらしいので、これは一時的な処置。あとで False に戻す。)

Kexts フォルダーや ACPI フォルダーの中身を変えたりしたので、OC Clean Snapshot を実行して再設定することを忘れずに。

再起動して反映。

(2)Hackintool アプリを起動し、「USB」をクリックする。

Releases · benbaker76/Hackintool
https://github.com/benbaker76/Hackintool/releases

現在使用可能(Active)の USB ポートが緑色になっており、実際に使用中のものには Device 名に名前が表示される。マウスやキーボードなどが表示されていた。マザーボードに WiFi/Bluetooth アダプターの FENVI FV-T919 を使っているが、それも USB ポートを使っているらしく、Device 名にそれらしきものも表示されている。

(3)USB 1 や USB 2 系のポートには、キーボードやマウス等で、USB 3 系のポートには USB 3 対応の USB メモリーを抜き差しして、対応する USB ポートを特定していく(Hackintool の Comment 欄を活用してメモするといい)。USB メモリーを使う場合は抜くときは毎回アンマウントすることを忘れずに。

同時に Hackintool の Connector 欄にその種類(USB2/USB3/TypeC+Sw/TypeC/Internal)を選んでいく(初期値はすべて Internal となっていた)。種類はマザーボードの説明書に書かれていた。

バックパネルに1つ USB Type-C ポートがあるが、Type-C の USB メモリーを使ってチェックした。表裏どちらを挿しても SS02 だったので、TypeC+Sw を設定した。

Amazon.co.jp: 【64GB】 SanDisk サンディスク USBメモリー USB3.1対応 Type-C & Type-Aデュアルコネクタ搭載 R:150MB/s 海外リテール SDDDC2-064G-G46 : パソコン・周辺機器
https://amzn.to/4387eXB

(4)使わないポートを Hackintool の「-」ボタンで削除していく。

(5)Export ボタンで書き出す。

デスクトップに以下の4つのファイルが出力される。

・USBPorts.kext
・SSDT-UIAC.aml
・SSDT-UIAC.dsl
・SSDT-USBX.aml
・SSDT-USBX.dsl

このうち USBPorts.kext のみを使う。

(6)ESP の kexts フォルダーに USBPorts.kext を入れる。

1同様に config.plist を再設定。ついでに XhciPortLimit を False に戻しておくといいだろう。

再起動。

これで設定完了だ。

確かにこの方法だとシンプルでいいかもしれない。

参考:
【OpenCore入門】USBマッピングの方法(15個制限解決)|Hackintoolを使って | ガジェタン
https://gaddet.com/usbmapping/