Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

@UtterDisbelief - outstanding guide (even for someone like me who hacks old systems). I learned a lot by reading and wish I had discovered it sooner before learning a lot the hard way through trial and error.

I am using -no_compat_check to allow High Sierra and Mojave to run on a laptop emulating MacBookPro5,1 (because I've found that it's best for CPU Power Management). I manually edited the USBInjectAll.kext/Contents/Info.plist to include the MacBookPro5,1 system definition (duplicated MacBookPro7,1 and renamed to MacBookPro5,1).

Everything seems to work fine, but just to be sure, do I need to "rebuild" USBInjectAll.kext or can I stick with the simple edit of Info.plist?

Also, any chance that MacBookPro5,1 could be added to the new USBInjectAll.kext?

Thank you and thanks again for a great guide!
 
@UtterDisbelief

OK... Just... THANK YOU for this guide. I found it to be extremely well assembled and very coherent. I finally understand what I have been doing wrong for the last few days.

I like what one poster said about the 'minimum of rabbit holes'. It is SO true!
Sometimes, a comprehensive guide covering all the possibilities is just too much information to make sense of. I literally spent 10 minutes and two re-boots with this one and now my custom SSDT I made is working as designed. (my issue was the confusion between patches and not knowing about the new USBInjectAll version)

I'm a fan of this guide.

Thank you for the feedback - it's appreciated. Glad you were able to configure your USB ports without too much head-scratching.:thumbup:
 
@UtterDisbelief - outstanding guide (even for someone like me who hacks old systems). I learned a lot by reading and wish I had discovered it sooner before learning a lot the hard way through trial and error.

I am using -no_compat_check to allow High Sierra and Mojave to run on a laptop emulating MacBookPro5,1 (because I've found that it's best for CPU Power Management). I manually edited the USBInjectAll.kext/Contents/Info.plist to include the MacBookPro5,1 system definition (duplicated MacBookPro7,1 and renamed to MacBookPro5,1).

Everything seems to work fine, but just to be sure, do I need to "rebuild" USBInjectAll.kext or can I stick with the simple edit of Info.plist?

Also, any chance that MacBookPro5,1 could be added to the new USBInjectAll.kext?

Thank you and thanks again for a great guide!

Thank you for letting me know - that's good news:thumbup:

Yes, the USBInjectAll.kext Info.plist can be modified as you have done for missing system-definitions, but as you've guessed the compiled binary also has references too and for a full conversion it's source-code needs updating as well.

Having said that I'm a great believer of "if it isn't broken, don't mend it", so if your modifications have done the job and you aren't noticing any problems ... etc.

As for adding the MacBookPro5,1 system-definition, we can do that to the new fork of the kext. We are currently working on a completely new technique for configuring USB ports but it's not ready yet and in the short-term, doing so is a good idea.

:)
 
thanks for an easy to understand guide..it works...now that I remove all the USB patches.. should I remove usbinjectall kext also? thanks
 
thanks for an easy to understand guide..it works...now that I remove all the USB patches.. should I remove usbinjectall kext also? thanks
no, because it won't work if you delete it
 
What if i have a port named SSS1 and SSS2 , Those HSS1,HSS2,SSS1,SSS2 are other Usb port , what should i do

416726
 
What if i have a port named SSS1 and SSS2 , Those HSS1,HSS2,SSS1,SSS2 are other Usb port , what should i do

View attachment 416726

Hi there.

Those two ports are the: USB 3.1 Gen 2 Type-C socket and the USB 3.1 Gen 2 Type-A above it on the back panel of your motherboard. They are controlled by a separate ASMedia2142 chipset, not the main Intel one. Because of this they do not appear in the XHC tree.

They do not count towards your 15-port limit - although I see you still use the port-limit removal patch and have not otherwise configured your ports with an SSDT.

If the ASMedia ports work okay, there is no need to go any further as it is very difficult to configure them.

:)
 
Last edited:
Hi there.

Those two ports are the: USB 3.1 Gen 2 Type-C socket and the USB 3.1 Gen 2 Type-A above it on the back panel of your motherboard. They are controlled by a separate ASMedia2142 chipset, not the main Intel one. Because of this they do not appear in the XHC tree.

They do not count towards your 15-port limit - although I see you still use the port-limit removal patch and have not otherwise configured your ports with an SSDT.

If the ASMedia ports work okay, there is no need to go any further as it is very difficult to configure them.

:)

I configured in the past, but i still have same problem with Bluetooth , so i was trying again , this motherboard is driving me crazy....

I have the follow :

HS09 HSS2/SSS2 HS02/SS08 . HS14/SS05
HS10 HSS1/SSS1 HS01/SS07 . HS13/SS06




Screenshot 2019-07-16 at 22.15.22.png


The port Highlighted in red i do not understand why are not corresponding ?
What i am doing wrong?
 
I configured in the past, but i still have same problem with Bluetooth , so i was trying again , this motherboard is driving me crazy....

I have the follow :

HS09 HSS2/SSS2 HS02/SS08 . HS14/SS05
HS10 HSS1/SSS1 HS01/SS07 . HS13/SS06




View attachment 416861

The port Highlighted in red i do not understand why are not corresponding ?
What i am doing wrong?

The ports you have highlighted in orange are the two ASMedia ports I pointed-out. If you have configured them in the past then excellent work.

Ports HS09 and HS10 are listed on the XHC tree in your IORegistryExplorer screengrab and appear to have devices plugged into them.

How does this relate to your Bluetooth problem?
 
Thank you for your fast answer

No i never configured them in the past they just work , Ports HS09 and HS10 are Mouse and KEyboard.
the Bluetooth and cooling are internal named HS12 , HS 07 . ( to be set as USB 2.0 with 255)
How came i have HS02 with USB 2 and SS08 with USB 3 should i have HS02 instead
I have a doubt how to configure

HS02/SS08 . HS14/SS05
HS01/SS07 . HS13/SS06


HS09 HSS2/SSS2 HS02/SS08 . HS14/SS05
HS10 HSS1/SSS1 HS01/SS07 . HS13/SS06

Screenshot 2019-07-16 at 22.15.22.png



My problem is that my Bluetooth after sleep same tie disconnect and freeze and USB connected are slower at weak up
 
Back
Top