Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

this may help in showing supported models:

mergeModelData "iMac19,1" is the last supported definition

Yes, I was going to check that next, funnily enough! :thumbup: My worry being that the author is not going to update it any longer(Nov 2018 etc). It might be something we can "edit in". I'm not sure but will have a tinker...

:)
 
Yes, I was going to check that next, funnily enough! :thumbup: My worry being that the author is not going to update it any longer(Nov 2018 etc). It might be something we can "edit in". I'm not sure but will have a tinker...

:)

I would really appreciate if you could take a look. Maybe its not that difficult to add 19,2 model.

EDIT: Ok, I don't know nothing about coding, but I've just downloaded XCode, downloaded USBInjectAll source code, opened it in Xcode, found all references of iMac 19,1, added the same lines of code for 19,2, hit "BUILD", it compiled me a new kext. Then I've injected it in my system, changed my definition for iMac 19,2 and it worked! LOL....I now have all USB working as in 19,1 definition. Not a bad start for a coding career? LOL :D

The only thing is I've got about 10 errors upon opening source code. I've fixed them in automatic mode, but I'm not sure if this is a correct way. Maybe someone more experienced could do it proper way? It really a job of adding 2 lines of code - one in plist and one in kext source code.
 
Last edited:
411286


This is what my system report under usb is showing. Every video and or explanation and screen shot has a usb 3.0 bus also and in some instances a usb 2.0 bus. What am I missing?
 
View attachment 411286

This is what my system report under usb is showing. Every video and or explanation and screen shot has a usb 3.0 bus also and in some instances a usb 2.0 bus. What am I missing?

Hello.

You are not missing anything.

The H370 chipset includes USB3.1 Gen 2 ports (up to 4x) whereas the Z370 chipset, which you might expect to be the one with the higher spec, does not. It only includes USB3.0 Gen 1.

Yes, this does seem unusual but is correct :thumbup: It still uses an XHC controller so the guide applies.

:)
 
Hello.

You are not missing anything.

The H370 chipset includes USB3.1 Gen 2 ports (up to 4x) whereas the Z370 chipset, which you might expect to be the one with the higher spec, does not. It only includes USB3.0 Gen 1.

Yes, this does seem unusual but is correct :thumbup: It still uses an XHC controller so the guide applies.

:)

Thank you so much for your quick reply, I am happy to know things are correct but I still am a bit confused as to where I can place the boot command of -uia_exclude_hs uia_include=hs03, I am using the latest clover configurator and the latest clover bootloader and the reason I am trying to do this is because I can't get my SSxx to ports to identify in ioregistryexplorer. I have no issues identifying the HSxx ports but the SSxx is making my head spin a bit.

Any and all help is greatly appreciated
 
Thank you so much for your quick reply, I am happy to know things are correct but I still am a bit confused as to where I can place the boot command of -uia_exclude_hs uia_include=hs03, I am using the latest clover configurator and the latest clover bootloader and the reason I am trying to do this is because I can't get my SSxx to ports to identify in ioregistryexplorer. I have no issues identifying the HSxx ports but the SSxx is making my head spin a bit.

Any and all help is greatly appreciated

Well, if you use USBInjectAll.kext and the port-limit removal patch, all HS and SS ports should show up. You then configure them as per @RehabMan 's guide then select the ports you wish to exclude from the main command-line (use Clover Configurator if you like, it's easiest) to get down to the 15 you need.

If you don't do this then usually what you see are HS01 - HS14 and then a single SS01 port.

:)
 
Last edited:
Hi, I need help for custom usb ssdt of my Asrock X99 Taichi motherboard. I can't identify the internal and external ports. I'm wrong about something, but I can't understand what. Sorry for my English and for my inexperience. I have read the numerous guides on this topic but have not managed to overcome the XHC / EH01 / EH02 controller problem.
I am attaching to you and the Clover folder.
Thank you.
 

Attachments

  • X99AsrockTaichi.zip
    4 MB · Views: 63
Hello can I use hackintool in place of ioreg ?
I try to install Mojave 14.5 on my gigabyte z170 gaming 5, ioreg don’t display USB port.
Graphics is now Radeon RX Vega64.
Under highsierra my Radeon Vega64 works at very high speed.

Thanks for the response
 
Last edited:
Hello can I use hackintool in place of ioreg ?
I try to install Mojave 14.5 on my gigabyte z170 gaming 5, ioreg don’t display USB port.
Graphics is now Radeon RX Vega64.
Under highsierra my Radeon Vega64 works at very high speed.

Thanks for the response

You USB ports will show up in IORegistryExplorer - somewhere. It is not the same as Hackintool.

Yes, you can use Hackintool to create an SSDT - OR - a USB.kext to configure your USB ports. That is not covered by this guide.

If you mean the fans of your Vega64 are running very fast, you will find a lot of help in the Graphics forum where this problem has been discussed extensively.

:)
 
Hi, I need help for custom usb ssdt of my Asrock X99 Taichi motherboard. I can't identify the internal and external ports. I'm wrong about something, but I can't understand what. Sorry for my English and for my inexperience. I have read the numerous guides on this topic but have not managed to overcome the XHC / EH01 / EH02 controller problem.
I am attaching to you and the Clover folder.
Thank you.

Hi there.

A few notes for you...

1) IORegistryExplorer *DOES* show your USB ports - look for the EH01 and EH02 sections:

IIBoss.png


They are all shown as USB 2.0 ports and as Hubs. You can use a USB flash-drive to identify where each is on your motherboard.

2) Check your BIOS to ensure XHCI Handoff is Enabled. EHC controllers only control USB 2.0 port implementations. You need XHC for USB 3.0.

3) You need to install USBInjectAll.kext and probably XHCI-unsupported.kext, before the port-limit removal patch you have in place will work. Without them there are no ports to remove a limit from.

4) If you check your Apple menu, About this Mac, System Report and then the USB section, it will list the controller Device IDs available for you. Just highlight the appropriate header - USB 3.0 or USB 2.0 etc. - then check in the panel below. My guess is USB 3.0 should be "8086 8d31". This is the Device ID for the XHCI controller.

5) It looks as though your motherboard also supports USB3.1 ports using an ASMedia third-party chipset. These may show up elsewhere in IORegistryExplorer tree if you install the GenericaUSBXHCI.kext in your Library/Extensions folder.

:)
 
Back
Top