Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

@RehabMan I followed your instructions to a the letter and my DW1560 works perfectly, continuity and all.

My question is how can I check my bios to know if I need these patches?

View attachment 391387

Thanks!

The hardware in your profile has no ECHI controller, therefore EHCx patches do not apply.
 
@RehabMan

I am just starting to work on the SSDT so appreciate clearing up this query.

As I understand it, this solution avoids increasing the port limit which creates problems with each update.

But every motherboard nowadays has more than 15. For example very popular z370 Gaming 5.

Including internal front port headers and bluetooth module.

6 usb 2.0 [4 rear 2 front]
6 usb 3.1 [2 rear 4 internal headers] (each counts as two, so 12 ports)
1 usb-c

That's 19 already. So even if we create custom DDST it exceeds 15 ports and won't work?

As written in post #1, you must sacrifice some of the ports to stay within Apple's imposed 15-port limit.
 
Using IOReg and a USB3 hub everything pops up as USB2. I deleted the port limit and everything else I had from before. Still not figuring it out.


This guide does not use the port limit patch.
Please refer to post #1.
 

Attachments

  • iMac.zip
    7.8 MB · Views: 161
  • CLOVER.zip
    5.4 MB · Views: 155
As written in post #1, you must sacrifice some of the ports to stay within Apple's imposed 15-port limit.

I understand now. This fix is not to get all your USB ports working. Instead it solves the issue of USB 2.0 ports populating the 15 port limit such that there's none left for USB 3.0 (SSP).

First we remove the HS01-14 USB 2.0 Ports that do not exist. Thereafter we choose which existing ports to sacrifice.

In my case, only one USB3.0 (SSP1) worked previously. I can delete HS07 HS08 HS12 as they do not exist based on IORegexplorer. I also choose to delete HS13 and HS14, two rear USB 2.0 I do not use. As a result I get all six of my USB 3.0 working (SSP1-6) as I have freed up 5/15 of the limit.

I've followed the post to create SSDT, pasted in ACPI/Patched. All six USB 3.0 works now!
 
Last edited:
Using IOReg and a USB3 hub everything pops up as USB2. I deleted the port limit and everything else I had from before. Still not figuring it out.

Read post #1 regarding usage of -uia_exclude_hs kernel flag.
And in the future, use gen_debug.sh to get PR files (your ioreg is invalid).
 
@RehabMan Once finished creating SSDT-UIAC, do we remove USBInjectAll? I was trying to do this though Hackintool (due to the easy UI) and the instructions say to remove USBInjectAll.kext when finished, however once done the ports are mismatched and unreliable. If I leave USBInjectAll in Kexts/Others this problem does not occur, and ports are correct and reliable. I assume leaving USBInjectAll is the way that was intended? Just confirming
 
Back
Top