Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

What I mean is each physical port takes 2 ports in the system definition, one for USB2 and one for USB3.
So some of them are duplicated. If all are duplicated then 7 ports for USB3 the same 7 ports for USB2 give a total of 14.
Did I get it right?

Yes.
And a USB type C can use up to three ports (two SSxx ports [one for each orientation of the connector], and one HSxx).
Depends on whether the USB-C has a built-in switch for dealing with orientation or not (with switch uses 1x SSxx, 1x HSxx, without switch uses 2x SSxx, 1x HSxx).
 
Okay, I managed to save the SSDT, and my IOReg still shows a lot of ports that are not present in the SSDT.

I did something that I'm not sure if I should have, and maybe it's the issue here. There are some 3.0 ports that I deleted only the HS entries and left the SS entries untouched. In my line of thought, this would disable de USB2 capabilities of said ports, and I would only be able to connect USB3 devices to them.

Does that even work?
Or I should always have them working in pairs (HS + SS)?

Could you please take a look at my files?

Thanks!
 

Attachments

  • debug_8012.zip
    2 MB · Views: 78
I've tried replacing the HSxx entries in the SSDT so that all of the active HSxx ports have a corresponding SSxx port, but no changes in IOReg yet. Still showing many other ports.

Total of 15 ports, if I'm counting right.

Here goes the updated debug file.
 

Attachments

  • debug_32163.zip
    2.1 MB · Views: 61
I've tried replacing the HSxx entries in the SSDT so that all of the active HSxx ports have a corresponding SSxx port, but no changes in IOReg yet. Still showing many other ports.

Total of 15 ports, if I'm counting right.

Here goes the updated debug file.

USBInjectAll.kext is not installed properly.
Note output in kextcache:
Code:
Kext rejected due to improper filesystem permissions: <OSKext 0x7fea86b44f30 [0x7fff88e3caf0]> { URL = "USBInjectAll.kext/ -- file:///Library/Extensions/", ID = "com.rehabman.driver.USBInjectAll"
 
Oh! That's it. Everything seems to be working now.

Here goes the final debug package. From what I could tell, everything seems to be in order. If you are willing, could you please have one last check so I can be at peace? Really not used to reading all these codes and finding what's wrong and what's not!

An enormous THANK YOU!!
 

Attachments

  • debug_20917.zip
    2 MB · Views: 66
Hi I have a quick question
I am confused my internal usb 2.0 header ports (F_usb1/F_usb2) which is located on the board as a header type. So I am using those two headers for my water cool’s USB cable and Broadcom BT/Wifi PCIe device’s USB cable. Is it type 255 or 0?
 
Oh! That's it. Everything seems to be working now.

Here goes the final debug package. From what I could tell, everything seems to be in order. If you are willing, could you please have one last check so I can be at peace? Really not used to reading all these codes and finding what's wrong and what's not!

An enormous THANK YOU!!

Assuming you have 4x USB3 ports (SS01-SS03,SS06/HS01-HS03,HS06) and 3x USB2-only ports (HS10,HS13,HS14), looks ok.
 
Hi I have a quick question
I am confused my internal usb 2.0 header ports (F_usb1/F_usb2) which is located on the board as a header type. So I am using those two headers for my water cool’s USB cable and Broadcom BT/Wifi PCIe device’s USB cable. Is it type 255 or 0?

Internal, therefore UsbConnector=255.
 
Assuming you have 4x USB3 ports (SS01-SS03,SS06/HS01-HS03,HS06) and 3x USB2-only ports (HS10,HS13,HS14), looks ok.

That's it. The only question that remains (it's a curiosity, actually) is if I could disable i.e. HS01 and HS02 and enable HS07 and HS08, which are USB2 only ports (not present in my current SSDT, but they exist). That way, ports 1 and 2 would be USB3 only, and I would have more USB2 ports available.

Does that work? Sacrificing the USB2 capabilities of USB3 ports, or they necessarily need to work in pairs, like HS01+SS01?
 
That's it. The only question that remains (it's a curiosity, actually) is if I could disable i.e. HS01 and HS02 and enable HS07 and HS08, which are USB2 only ports (not present in my current SSDT, but they exist). That way, ports 1 and 2 would be USB3 only, and I would have more USB2 ports available.

Does that work? Sacrificing the USB2 capabilities of USB3 ports, or they necessarily need to work in pairs, like HS01+SS01?

I'm not sure enabling a partial USB3 port will work (might cause problems).
You could always experiment with it... realize that when you plug in a USB2 device, it will definitely not work.
 
Back
Top