Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

@RehabMan Thank you for the info. I was able to figure it out and every port is working great. I do have another question about your guide. You give an example of composite ports - where one port can be both HSx and SSx. Are these composite ports considered one port or two? I'm asking because when I use the IORegistryExplorer, I plug my 3.0 hub in and the SSx port turns green, but the same HSx port turns green at the same time. Does this mean that this is considered one port? I have other ports that if I plug in a 3.0 hub the SSx turns green, but if I plug the 2.0 usb into the same slot only the HSx turns green. In this situation, it makes sense to have two different ports. Any thoughts?

USB3 hubs activate on both the USB3 and USB2 pins, which is why you notice they light up both an HSxx and SSxx port.
It is why a USB3 hub makes a great device for port discovery.

A USB2 only device, of course, will only activate on the HSxx, just as a normal USB3 device will activate only on SSxx.
 
You must boot with the proper HSxx port(s) enabled such that you can still use your keyboard and mouse.
Obviously, it may be a different port than HS03.
Check your ioreg to determine which port(s) are used by your keyborad/mouse.


Thanks, now I understand my mistake. Much appreciated!
 
Successfully implemented [and tested] custom SSDT for my build, now only using 12 ports. Hoping this would have fixed an issue I was having with sleep; the PC would not come out of sleep or wake up. I would have to force power down and reboot.. I temporarily fixed this issue before implementing this custom SSDT by simply adding boot argument darkwake=2 (randomly tried it and it worked). I removed that argument after adding custom SSDT thinking I should no longer need it. Now the problem is when I click sleep, it momentarily sleep, but then the PC wakes up again, and screen stays blank until I move my mouse or keyboard. Any suggestion to fix this? Or did I miss something? Should "Enable Power Nap" option in System Preferences be checked? Thank you in advance.
 

Attachments

  • config-usb.plist
    4.3 KB · Views: 119
  • SSDT-UIAC.aml
    541 bytes · Views: 60
Hello
According to the Rehabman guide I have all the USB ports of my motherboard already configured, except USB TYPE C
As I do not have any TYPE C device, I do not know where they are
here I leave my SSDT-USB in case someone can tell me what would be the missing

I have the SSDT-USB.aml, USBInjectAll.kext, FakePCIID.Kext and FakePCIID_XHCIMux.Kext
This right ?

at the moment all the USB works except the 2 TYPE C

another thing is that the loading of devices in the USB 3.0 does not work
this why can it be?
 

Attachments

  • SSDT-Usb.aml
    578 bytes · Views: 50
Last edited:
Successfully implemented [and tested] custom SSDT for my build, now only using 12 ports. Hoping this would have fixed an issue I was having with sleep; the PC would not come out of sleep or wake up. I would have to force power down and reboot.. I temporarily fixed this issue before implementing this custom SSDT by simply adding boot argument darkwake=2 (randomly tried it and it worked). I removed that argument after adding custom SSDT thinking I should no longer need it. Now the problem is when I click sleep, it momentarily sleep, but then the PC wakes up again, and screen stays blank until I move my mouse or keyboard. Any suggestion to fix this? Or did I miss something? Should "Enable Power Nap" option in System Preferences be checked? Thank you in advance.

"Problem Reporting" files are incomplete.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
Hello
According to the Rehabman guide I have all the USB ports of my motherboard already configured, except USB TYPE C
As I do not have any TYPE C device, I do not know where they are
here I leave my SSDT-USB in case someone can tell me what would be the missing

I have the SSDT-USB.aml, USBInjectAll.kext, FakePCIID.Kext and FakePCIID_XHCIMux.Kext
This right ?

at the moment all the USB works except the 2 TYPE C

another thing is that the loading of devices in the USB 3.0 does not work
this why can it be?

"Problem Reporting" files are incomplete.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
In my case, EHC1-> EH01 and EHC2-> EH02 are not needed.

Of course not.
100-series and later is xHCI only (no ECHI controllers in these newer chipsets).
 
"Problem Reporting" files are incomplete.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.

@RehabMan Thank you, I left the computer on, went away and came back, and it seems to be working just fine now! Thank you for this very thorough guide, was having issues with usb 3 and this was extremely helpful in resolving the issues I was having with that. It seems to be a lot and confusing at first but a good few reads of this guide and information provided on you previous guide linked really helps you understand what you’re doing.

Quick question though, what do the darkwake arguments accomplish? And can I enable PowerNap without it?

Now off to fixing handoff and continuity! Hoping to get this build 100% working with everything!

Edit: Got continuity/handoff working following the second post on this thread.
 
Last edited:
@RehabMan
Im trying to make a Custom USB Injector SSDT for my HP Elite 8300 SFF.

The problem as i have seen in a few cases is with SMBIOS iMac 13.1 and iMac13.2 where there are PRT1,PRT3,PRT8 in EH01 > PR21 .

Is there any known workaround except modifying the kext ?
 
Back
Top