Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

@UtterDisbelief Do I have to enter of generated ssdt name in the box like SSDT-UIAC.aml or should I leave it blank?

401239
 
@UtterDisbelief Do I have to enter of generated ssdt name in the box like SSDT-UIAC.aml or should I leave it blank?

View attachment 401239

The short answer is for this USB patch:

No, you don't.

The longer answer:

Because it is saved in the "CLOVER/ACPI/patched" folder, it is automatically read and inserted during boot.

:)
 
I feel like I’ve read this before in a post, but just can’t find it again. If I have an external, say, 4-port USB hub, will those 4 ports count as part of the 15-port limit even though they are external and not part of my motherboard?
 
I feel like I’ve read this before in a post, but just can’t find it again. If I have an external, say, 4-port USB hub, will those 4 ports count as part of the 15-port limit even though they are external and not part of my motherboard?

Hello there.

No, they shouldn't.

The hub itself will count as using one port, and probably show up as an IOUSBHostDevice under the port its plugged into.
 
Followed everything im the tutorial , and now I have 0 usb ports showing in the IORegistry , i just have XHC@14 and XHC@1400000 under that with no ports , and the usbs arent working at all , just the 3.1 which is on a separate controller , I double checked the SSDT
 
Followed everything im the tutorial , and now I have 0 usb ports showing in the IORegistry , i just have XHC@14 and XHC@1400000 under that with no ports , and the usbs arent working at all , just the 3.1 which is on a separate controller , I double checked the SSDT

Okay.

There's not enough information in your post to identify what might be wrong. For example which version macOS are you running? Which kexts do you have installed? DeviceIDs? Upload your config.plist and SSDT template.

If there are no ports showing you will need to back-track and check each step. Here's a starting point:

1) Remove your SSDT from the "patched" folder. Put the Port-Limit Removal Patch back in. Ensure USBInjectAll is either in Library/Extensions or CLOVER/kexts/Other. Reboot and check IORegistryExplorer again to see what has changed.

Report back.

:)
 
Last edited:
So after doing the complete tutorial one again and deleting some usb driver in refi driver folder, it works , I have no idea what went wrong the first time, probably some code error I didn't see , thank you for the tutorial once again :headbang:
 
I have USBInjectAll.kext installed in my ⁨EFI⁩ ▸ ⁨CLOVER⁩ ▸ ⁨kexts⁩ ▸ ⁨Other⁩ folder right now.

Should i leave it there, while installing USBInjectAll.kext to /Library/Extensions like this guide says?
 
I have USBInjectAll.kext installed in my ⁨EFI⁩ ▸ ⁨CLOVER⁩ ▸ ⁨kexts⁩ ▸ ⁨Other⁩ folder right now.

Should i leave it there, while installing USBInjectAll.kext to /Library/Extensions like this guide says?

Hi there.

Short answer:

If it is the same version, it should be fine. Double-check by right-clicking etc. :thumbup:

Longer answer:

If you already have it installed in CLOVER/kexts/Other there is no need to install it again. The official guidance states that third-party kexts should always go in L/E, however for kexts needed to boot it is useful to put them in the EFI folder because this helps when updating the system. USBInjectAll is not one needed to boot, but it is needed to get all USB ports operational using an SSDT.

:)
 
Last edited:
Ok...so during the creation of the SSDT phase, as well as afterwards, leave USBInjectAll.kext in either L/E or Clover/kexts/Other, both location is fine, correct?

also, what about FakePCIID.kext & FakePCIID_XHCIMux.kext? Can they be installed in both locations as well? Do they need to be installed prior to the port discovery? How do I know I need them? My BIOS does have such an option to enable EHCI Hand-Off.
 
Back
Top