Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Hello Rehabman, is there a possibility of USBinjectall causing random ejects of usb drives? (I have all ports working with ssdt, not using fakepci) I thought it was the drive at first but I have it happen on the hackintosh only. It will show up as removed improperly, but it will still show in finder, having replugged itself.

No "Problem Reporting" files attached. Read post #1.
 
hi RehabMan. I have read the guide several times and this have to be the most difficult thing i have done for my hack, if you can please check if my understandig is Ok and if i can continue.
I have check my usb 2 and 3.0
list goes.

ssp1 usb3
ssp2 usb3
ssp5 usb3


EH02
PR21
HP 21 usb 2
HP 23 usb2

EH01
PR11
HP 12 usb2
HP 18 usb2
HP 11 usb2

i change the 8xxx to 8c31.

so I ended up with something like this ... is This correct.


DefinitionBlock ("", "SSDT", 2, "hack", "UIAC-ALL", 0)
{
Device(UIAC)
{
Name(_HID, "UIA00000")

Name(RMCF, Package()
{
"EH01", Package()
{
"port-count", Buffer() { 8, 0, 0, 0 },
"ports", Package()
{
"PR11", Package()
{
"UsbConnector", 255,
"port", Buffer() { 1, 0, 0, 0 },
},
},
},
"EH02", Package()
{
"port-count", Buffer() { 6, 0, 0, 0 },
"ports", Package()
{
"PR21", Package()
{
"UsbConnector", 255,
"port", Buffer() { 1, 0, 0, 0 },
},
},
},
"8086_8c31", Package()
{
"port-count", Buffer() { 21, 0, 0, 0 },
"ports", Package()
{
"SSP1", Package()
{
"UsbConnector", 3,
"port", Buffer() { 16, 0, 0, 0 },
},
"SSP2", Package()
{
"UsbConnector", 3,
"port", Buffer() { 17, 0, 0, 0 },
},
"SSP5", Package()
{
"UsbConnector", 3,
"port", Buffer() { 20, 0, 0, 0 },
},
},
},
})
}
}
//EOF

THANKS ... for help y have a IOREG attach so you con check if needed ..

Follow the guide as written. If you have an issue, read post #1, "Problem Reporting".
 
SSP6 is not showing up because it is the 16th port you're trying to inject.
As per post #1, there is a 15-port limit in the USB drivers in 10.11+.
You need to prune down to stay within 15-ports such that you don't need the port limit patch.
But if I have more than 15 ports I don't understand. A lot of the injection is for ports which are both USB2.0 and USB3.0. The amount of ports defined in my SSDT is what's on my motherboard. Can I not fully inject every port?
 
But if I have more than 15 ports I don't understand.

If you plan to not use FakePCIID_XHCIMux.kext and put everything on XHC, you must sacrifice one to stay within 15.

A lot of the injection is for ports which are both USB2.0 and USB3.0. The amount of ports defined in my SSDT is what's on my motherboard. Can I not fully inject every port?

You can use FakePCIID_XHCIMux.kext to route HSxx ports to the EHCI controllers, which will free up a lot of ports on XHC.
Read post #1.
 
Hi Rehabman. Im kinda confused right now. Under EHC1 i have PRT1 in ioreg but in patchmatic they're PR1 etc. Now the problem is that the ports for HUBN are PRT1 in ioreg not PR1 etc. Would you be able to look at the ioreg and native DSDT that is extracted by Patchmatic. I am so confused right now.

Now does that mean i have to rename HUB1 to HUBN in SSDT-UIAC or rename HUBN to HUB1 in ACPI?
 

Attachments

  • files.zip
    887.7 KB · Views: 85
Last edited:
Hi Rehabman. Im kinda confused right now. Under EHC1 i have PRT1 in ioreg but in patchmatic they're PR1 etc. Now the problem is that the ports for HUBN are PRT1 in ioreg not PR1 etc. Would you be able to look at the ioreg and native DSDT that is extracted by Patchmatic. I am so confused right now.

Now does that mean i have to rename HUB1 to HUBN in SSDT-UIAC or rename HUBN to HUB1 in ACPI?

You did not rename EHCx->EH0x. USBInjectAll.kext does not work with EHCx names.
It is obvious from ioreg.
I didn't check anything else.
Read post #1.
 
You did not rename EHCx->EH0x. USBInjectAll.kext does not work with EHCx names.
It is obvious from ioreg.
I didn't check anything else.
Read post #1.

Hey sorry my bad. Forgot to do the renames. Sorry.

How does this look now?
 

Attachments

  • Jack’s iMac.ioreg
    4.7 MB · Views: 133
Last edited:
Hey sorry my bad. Forgot to do the renames. Sorry.

How does this look now?

It does not appear that USBInjectAll.kext is installed.
Read post #1.
 
It does not appear that USBInjectAll.kext is installed.
Read post #1.

I un-installed at this current time when i had that port problem because i forgot to renames sorry about that.
 
Hello Rehabman, here is the diagnostics stuff. My question was whether USB inject could have to do with some usb drives being randomly ejected and being immediately re-mounted with the error they were removed improperly. They are the ones mounted on SSP5 and SSP6 in Ioreg

Code:
kext-dev-mode allowing invalid signature -67013 0xFFFFFFFFFFFEFA3B for kext AppleMobileDevice.kext
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext AppleHDA.kext
KernelCache ID: E0D0DABBEEC9F621398468896E4A98DB
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>

kextstat|grep -y acpiplat
   13    2 0xffffff7f83540000 0x60000    0x60000    com.apple.driver.AppleACPIPlatform (5.0) 867C81BE-EA01-3A65-89F4-06D78E6514CA <12 11 7 6 5 4 3 1>
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
   91    0 0xffffff7f830b6000 0x3000     0x3000     com.apple.driver.AppleLPC (3.1) F51595F0-F9B1-3B85-A1C3-F984DAD4107E <90 12 5 4 3>
kextstat|grep -y applehda
   94    1 0xffffff7f8322a000 0x1d000    0x1d000    com.apple.driver.AppleHDAController (278.56) CFB0D0AE-F09A-3660-8F95-7A02FD5FBF07 <93 92 81 12 7 6 5 4 3 1>
  131    0 0xffffff7f833ac000 0xb4000    0xb4000    com.apple.driver.AppleHDA (278.56) A4EB06C9-A40A-39EF-9C4A-D7F23DB9A2F9 <130 104 94 93 92 81 6 5 4 3 1>
  132    0 0xffffff7f83226000 0x2000     0x2000     com.apple.driver.AppleHDAHardwareConfigDriver (278.56) 06C594F4-3E5D-3BF4-A783-90C741DAA3F0 <4 3>
 

Attachments

  • CLOVER.zip
    578.5 KB · Views: 71
  • ioreg.zip
    863.4 KB · Views: 67
Back
Top