Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

Joined
Sep 22, 2011
Messages
1,416
Motherboard
HP EliteDesk 800 G5 Mini
CPU
i9-9900
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
@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

Moderator
Joined
Feb 13, 2012
Messages
6,825
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT 1030
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. Android
@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

Moderator
Joined
Feb 13, 2012
Messages
6,825
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT 1030
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. Android
@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.

:)
 
Joined
Nov 24, 2015
Messages
23
Motherboard
Gigabyte GA-H170-Wifi
CPU
Core I3
Graphics
Powercolor RX 560
Mobile Phone
  1. Android
thanks for an easy to understand guide..it works...now that I remove all the USB patches.. should I remove usbinjectall kext also? thanks
 

Feartech

Moderator
Joined
Aug 3, 2013
Messages
24,434
Motherboard
Asus N752VX-OpenCore
CPU
i7-6700HQ / HM170
Graphics
HD 530 1920 x 1080
Mac
  1. iMac
Mobile Phone
  1. iOS
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
 
Joined
Dec 16, 2016
Messages
130
Motherboard
Msi z270 pro carbon
CPU
i7 7700k
Graphics
RX 580 + GTX 1080
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. Android
What if i have a port named SSS1 and SSS2 , Those HSS1,HSS2,SSS1,SSS2 are other Usb port , what should i do

416726
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
6,825
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT 1030
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. Android
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:
Joined
Dec 16, 2016
Messages
130
Motherboard
Msi z270 pro carbon
CPU
i7 7700k
Graphics
RX 580 + GTX 1080
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. Android
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?
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
6,825
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT 1030
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. Android
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?
 
Joined
Dec 16, 2016
Messages
130
Motherboard
Msi z270 pro carbon
CPU
i7 7700k
Graphics
RX 580 + GTX 1080
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. Android
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
 
Top