Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

@RehabMan It looks like I finally got it working on my hack!:headbang: THANK YOU :thumbup: I wrote the custom SSDT and tested and it looks like its all working. I've attached my debug to confirm and screenshots of it showing on my IOReg. Whats interesting is that on this mother board, a lot of the USB 3.0 interface use an internal hub from the SSP6 and HS10 ports. In fact, 4 of my 6 USB3.0 use the same SSP6 port!

Now I need to figure out how to get ProTools to sync with my CPU frequency but thats for another thread.

P.S. I also have an internal hub on SSP5 that I cannot figure out what it goes to. I'm guessing its for expansion, but it shows as a hub.
 

Attachments

  • Screen Shot 2018-07-18 at 6.05.01 PM.png
    Screen Shot 2018-07-18 at 6.05.01 PM.png
    335.4 KB · Views: 132
  • debug_16342.zip
    3.2 MB · Views: 74
OK! update, I have fixed the issue where all my USB ports were not showing up, even with the previous port limit patches I could find. I finally found this thread below -



And was able to put this in in Plist Editor Pro and removing my previous kexttopatch from 15 to 24. This has now opened up all my ports. I am going to now identify and continue my custom SSDT from @RehabMan 's guide.

I tell you what, finding these threads has not been easy, I've spent most of today doing this just to get this far and searching for the threads that can get me here. I apologize for the constant updates but I think it helps other noobs like me see the process.

Keep in mind all required patches for the port limit are in config_patches.plist in the USBInjectAll.kext.
This thread and USBInjectAll github have everything you need.
(no need for "finding these threads").

@RehabMan It looks like I finally got it working on my hack!:headbang: THANK YOU :thumbup: I wrote the custom SSDT and tested and it looks like its all working. I've attached my debug to confirm and screenshots of it showing on my IOReg. Whats interesting is that on this mother board, a lot of the USB 3.0 interface use an internal hub from the SSP6 and HS10 ports. In fact, 4 of my 6 USB3.0 use the same SSP6 port!

Now I need to figure out how to get ProTools to sync with my CPU frequency but thats for another thread.

P.S. I also have an internal hub on SSP5 that I cannot figure out what it goes to. I'm guessing its for expansion, but it shows as a hub.

That hub on SSP5 probably also has a correlating HSxx hub (that you omitted from your SSDT).
 
Keep in mind all required patches for the port limit are in config_patches.plist in the USBInjectAll.kext.
This thread and USBInjectAll github have everything you need.
(no need for "finding these threads").

See, didnt even know that. There are so many Years and Years of knowledge built up on this site from experts like yourself, it is hard to parse out what information is outdated and what information is specific to the OS Version, etc. Thank you for clarifying I'll keep this in mind for future KEXTS and PATCHES

That hub on SSP5 probably also has a correlating HSxx hub (that you omitted from your SSDT).

I do have this in my SSDT i'm thinking it is linked to my HS09 hub as it does not link to any of the ports on my computer but lists a HUB in the IOREG. I've left it active incase it pops up on future expansions.
 
@RehabMan

I'm going to finally solve my reboot after shutdown problem....


1)I have an Z370-HD3P mb and I'd like to know why my Sierra installation won't see SSxx when I use XHCI-300-series-injector.kext, but instead I have to use XHCI-200-series-injector.kext.....
This are clover-1 and IOReg-1 with 300 series kext and 2 with 200-series kext...
Usually I have USBInject all in L/E, but I have copied them in clover/kext/other to upload.


2)Then: do PXSX USBs (3.1 and C-usb) count in the 15-ports limits?
and if I use an PCI-e adapter with 4 usb3.0 ports?
Because I need 6 usb3.0 and they use 12 port in SSDT plus 3 usb2.0 for keyboard, mouse and fan I go to 15 ports..... But with that SSDT I have reboot... (3th situation)

What could I do to solve reboot?
Thank you
 

Attachments

  • CLOVER-1.zip
    2.6 MB · Views: 71
  • IOReg-1.ioreg
    11.7 MB · Views: 132
  • CLOVER-2.zip
    2.6 MB · Views: 92
  • IOReg-2.ioreg
    11.9 MB · Views: 137
  • CLOVER-3.zip
    2.6 MB · Views: 79
  • IOReg-3.ioreg
    9.1 MB · Views: 138
I do have this in my SSDT i'm thinking it is linked to my HS09 hub as it does not link to any of the ports on my computer but lists a HUB in the IOREG. I've left it active incase it pops up on future expansions.

Keep in mind the hub on HS09 will not be used with USB3 devices... only when you insert a USB2 device to a port connected to that hub will you notice it being used.
 
1)I have an Z370-HD3P mb and I'd like to know why my Sierra installation won't see SSxx when I use XHCI-300-series-injector.kext, but instead I have to use XHCI-200-series-injector.kext.....
This are clover-1 and IOReg-1 with 300 series kext and 2 with 200-series kext...
Usually I have USBInject all in L/E, but I have copied them in clover/kext/other to upload.

It is as expected. Z370 chipset uses a 200-series xHCI.
Look at your ioreg device-id for XHC and you will see very clearly it matches the device-id XHCI-200-series-injector.kext expects.

2)Then: do PXSX USBs (3.1 and C-usb) count in the 15-ports limits?

If you're referring to USB ports connected to your TB controller, that would be a separate controller.
The 15-port limit is per controller.

and if I use an PCI-e adapter with 4 usb3.0 ports?

Again,... separate controller.

Because I need 6 usb3.0 and they use 12 port in SSDT plus 3 usb2.0 for keyboard, mouse and fan I go to 15 ports..... But with that SSDT I have reboot... (3th situation)

The 15-port limit applies to the count of ports (in ioreg) on XHC.

What could I do to solve reboot?

You would need to provide details.
 
It is as expected. Z370 chipset uses a 200-series xHCI.
Look at your ioreg device-id for XHC and you will see very clearly it matches the device-id XHCI-200-series-injector.kext expects.



If you're referring to USB ports connected to your TB controller, that would be a separate controller.
The 15-port limit is per controller.



Again,... separate controller.



The 15-port limit applies to the count of ports (in ioreg) on XHC.



You would need to provide details.

See EDIT3: SOLVED

Ok, thank you
I haven't understood the difference between ports and controller....
I have one problem with the XHC controller: every time I have an USB3 device (SSD, hub, pen drive ecc..) connected in an USB3 port and I shutdown, after 4 seconds my pc reboot.....

When I haven't selected the SSxx ports in my ssdt I haven't any reboot and when I use the PXSX controller the same...
When I attack my usb3 ssd in an usb2 port, I don't have any trouble with reboot....
EDIT: And obviously when I attack an usb2 device in one usb3 port, I don't have reboot.
So I think is a problem with usb3 port, but how could I solve it?

EDIT2: everything works great, speedtest on ssd confirm that they're using usb3, my only problem is that my PC won't shutdown..... The firsts solutions I've tried is FixShutdown in plist, ERP in bios, eliminate Wake On Lan in System Preferences and in BIOS..... I'm really stuck with this problem.....


EDIT3: SOLVED
I solved all my problem updating all kext and clover from 409x to 4586.
So now I post my new clover confidence (clover-2).....
Thank you everybody
 

Attachments

  • CLOVER.zip
    2.4 MB · Views: 92
  • IOReg.ioreg
    6.5 MB · Views: 137
  • CLOVER-2.zip
    2.6 MB · Views: 83
Last edited:
does anyone have patched USB ssdt for Gigabyte z170x Ultra Gaming with all port working, please? :) could you post it here? thanks!

You really need to create your own as how you may have used internal headers may differ from how another used them.
Read post #1.
 
@RehabMan
I'm confuse about the port numbering and port-count. I'm not sure what numbering to use. From the screenshots from page 1, it is not consistent. An example is using 0x0? and other samples just use plain number, like 5.

"HS01", Package() // USB3.1 GEN1 LAN Bottom
{
"UsbConnector", 0,
"port", Buffer() { 0x01, 0, 0, 0 },
},

And also what should I put here?
"port-count", Buffer() { 0x0b, 0, 0, 0}

I'm referring at the underlined/bold text.
 

Attachments

  • SSDT-USB-Template.dsl
    3.2 KB · Views: 128
@RehabMan
I'm confuse about the port numbering and port-count. I'm not sure what numbering to use. From the screenshots from page 1, it is not consistent. An example is using 0x0? and other samples just use plain number, like 5.

"HS01", Package() // USB3.1 GEN1 LAN Bottom
{
"UsbConnector", 0,
"port", Buffer() { 0x01, 0, 0, 0 },
},

And also what should I put here?
"port-count", Buffer() { 0x0b, 0, 0, 0}

I'm referring at the underlined/bold text.

port-count and port assignments should be left as coded in SSDT-UIAC-ALL.dsl.
 
Back
Top