Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Hi RehabMan, awesome as always!

I have tried to use USBInjectAll with a custom SSDT, and I got my Lenovo E540 to recognize internal ports (bluetooth, camera), but the actual USB ports barely got any power at all (the dongle for my mouse and keyboard worked, but my iPhone would disconnect and reconnect over and over again saying that it needs more power on the usb port, and my WiFi dongle wasn't recognized by its software at all (I could see them in ioreg, tho). I have noted that without any patches, the USB2 ports are named HSPx in ioreg (and in the DSDT), while with USBInjectAll they are named HS0x.

Should I rename the ports in the DSDT, or is there something else to do? Thank you for your cooperation on there forums, you're always a great help! I have attached the unchanged ioreg (without USBInjectAll) and the one with USBInjectAll, in case that helps.

Your ioreg files are corrupt.
Read post #1, "Problem Reporting" again. Carefully.
 
Your ioreg files are corrupt.
Read post #1, "Problem Reporting" again. Carefully.
I apologize, I was using the wrong version of IORegistryExplorer. When I reinstalled the USBInjectAll kext in order to capture the affected ioreg and restarted, they started working. At first I had no idea why, but when I ran kextcache I saw that I had added a customized hub injector kext in the meantime, and that might have been the solution. Or maybe I was just lucky.
 
I apologize, I was using the wrong version of IORegistryExplorer. When I reinstalled the USBInjectAll kext in order to capture the affected ioreg and restarted, they started working. At first I had no idea why, but when I ran kextcache I saw that I had added a customized hub injector kext in the meantime, and that might have been the solution. Or maybe I was just lucky.

Custom hub injector not needed with correct SSDT for USBInjectAll.kext.
 
Hi @RehabMan,

Installed USBInjectAll.kext and trimmed SSDT-UIAC SSDT, removed port limit patch, only have 7 ports (HS/SS03,HS/SS04,HS07,HS08,HS10,HS11,HS12) and all is good;), but:

On my late real MacBookPro with Mac OS X El Capitan 10.11.6, I did not need to have any virtual com port kext (CP210x USB to UART Bridge VCP Driver):banghead:, to flash firmware on my race quad flight controller. Assuming there is no difference with usb in macOS Sierra 10.12.6 o_O? Is there anything I can do to / with my 100 series mobo and how usb works on hackintosh other than this guide ?

Thank you!
 
Hi @RehabMan,

Installed USBInjectAll.kext and trimmed SSDT-UIAC SSDT, removed port limit patch, only have 7 ports (HS/SS03,HS/SS04,HS07,HS08,HS10,HS11,HS12) and all is good;), but:

On my late real MacBookPro with Mac OS X El Capitan 10.11.6, I did not need to have any virtual com port kext (CP210x USB to UART Bridge VCP Driver):banghead:, to flash firmware on my race quad flight controller. Assuming there is no difference with usb in macOS Sierra 10.12.6 o_O? Is there anything I can do to / with my 100 series mobo and how usb works on hackintosh other than this guide ?

Thank you!

Sorry, I don't understand the question.
You will need to provide details, and of course, "Problem Reporting" files as per post #1.
 
Sorry, I don't understand the question.
You will need to provide details, and of course, "Problem Reporting" files as per post #1.

It was a couple of weeks ago that I tried to communicate serially (RS232) with USB and it did not work between my laptop and my racequad (failed to open serial port), but now it worked with this device /dev/tty.usbmodem, unsure of what was the reason ? Something this guide did?

VCP.png

Thank you for this great guide and all the assistance you provide :thumbup:
 
It was a couple of weeks ago that I tried to communicate serially (RS232) with USB and it did not work between my laptop and my racequad (failed to open serial port), but now it worked with this device /dev/tty.usbmodem, unsure of what was the reason ? Something this guide did?

View attachment 277119

Thank you for this great guide and all the assistance you provide :thumbup:

RS232 seems rather off-topic for this thread.
This thread concerns only injecting the correct ports to stay within the 15-port limit imposed by Apple and setting UsbConnector type correctly.
Beyond setting up the ports correctly, specific USB devices you might plug into them are another matter.
And you didn't attach any "Problem Reporting" files anyway.
 
I'm a little unclear what to do with 2 of my USB ports that do not show up as an EHC or XHC entry. The two ports that aren't showing up are my only USB 3.1 port and my only USB-C port and they're both under RP01 instead of XHC like the rest of my ports. I have the port limit patch added and have installed USBInjectAll.kext and XHCI-200-series-injector.kext. The ports are currently working with these patches for the most part (nothing shows up in System Report and I can only get 500mA), but I don't know what to do with the SSDT. Is there something else I need to do to see ports that aren't USB 2.0 or USB 3.0?
 
Last edited:
I'm a little unclear what to do with 2 of my USB ports that do not show up as an EHC or XHC entry. The two ports that aren't showing up are my only USB 3.1 port and my only USB-C port and they're both under RP01 instead of XHC like the rest of my ports.

Sounds like they are on a thunderbolt controller.
This guide does not cover thunderbolt.
 
Is there another guide that does? Or is this a problem that hasn't been solved yet? I've tried searching and haven't come up with much.
 
Back
Top