Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Yeah but this is not so nice of you.
I tried to pull the discussion to my thread but you kept replying here. And put me in an uncomfortable offtopic position.
Anyways , thanks for your efforts.

I have nothing to contribute at your other thread.
Like I stated multiple times, no experience with hardware as old as yours.
 
The ssdt-uiac.aml seems not working..
Any suggested start point to debug?
 
Last edited:
Read post #1, "Problem Reporting".

Thanks! I uploaded all the files.
The system is a C612 motherboard with Xeon E5-2648L v4.
Everything works now except USB.
I have the port number patch in config file. Added the trimmed ssdt-uiac.aml. But the ioreg shows no difference.
 

Attachments

  • Archive.zip
    3.5 MB · Views: 74
Thanks! I uploaded all the files.
The system is a C612 motherboard with Xeon E5-2648L v4.
Everything works now except USB.
I have the port number patch in config file. Added the trimmed ssdt-uiac.aml. But the ioreg shows no difference.

Your package sizes are wrong.
For example, in XHC you have:
Code:
                "ports", 
                Package (0x24)
                {

0x24 is 36.
But you have only HS01,HS02,HS05,HS06,SSP1,SSP2,SSP5,SSP6 follow. That is 8 ports, 16 entries, not 36.
So, the whole package is invalid.
Let the compiler calculate the package sizes as in SSDT-UIAC-ALL.dsl.
Same goes for your other package sizes for "HUB2", "EH02", etc.
 
Thanks!
Working now.
I also put the power properties inside the ssdt-uiac, but somehow kUSBWakePowerSupply isn't in ioreg.
Is it supposed to be there? (in one of the usb port).

Attached the new ioreg and ssdt-uiac.


Your package sizes are wrong.
For example, in XHC you have:
Code:
                "ports",
                Package (0x24)
                {

0x24 is 36.
But you have only HS01,HS02,HS05,HS06,SSP1,SSP2,SSP5,SSP6 follow. That is 8 ports, 16 entries, not 36.
So, the whole package is invalid.
Let the compiler calculate the package sizes as in SSDT-UIAC-ALL.dsl.
Same goes for your other package sizes for "HUB2", "EH02", etc.
 

Attachments

  • ioreg_and_ssdt-uiac.zip
    1.2 MB · Views: 66
Last edited:
Thanks!
Working now.
I also put the power properties inside the ssdt-uiac, but somehow kUSBWakePowerSupply isn't in ioreg.
Is it supposed to be there? (in one of the usb port).

Attached the new ioreg and ssdt-uiac.

Looking at ioreg, the power properties are clearly present...
Look under EC->AppleBusPowerControllerUSB.
 
Looking at ioreg, the power properties are clearly present...
Look under EC->AppleBusPowerControllerUSB.
Thanks!
My mb seems have two usb controller: intel:8d31 and one asmedia.
Does the power property patch also apply to the asmedia?
 
Note that the SSxx ports will have a corresponding HSxx port. The SSxx port (or SSPx) is used when you plug in a USB3 device. The HSxx port is used when you plug in a USB2 device. USB2 only ports will use only HSxx.
I've got 2 USB2 connectors and 2 USB3 connectors on the front of my computer.

Would it create a problem to delete the corresponding HSxx port for the USB3 connectors (in the dsl), so that only the SSxx ports of USB3 ports would be defined? This would make it very easy to keep under the 15 port limit.

I might do this instead on the motherboard's set of built-in USB3 connectors - and leave my front USB3 connectors as working with both USB2 and USB3? But I obviously don't want to create problems and will follow your expert guidance.

One other question. Let's say the dsl contains > 15 USB ports. Can the uia_exclude in Clover be used to safely remove them? I was thinking that if > 15 ports were instantiated even momentarily before Clover excluded them, that they could cause a buffer overrun that might cause strange unpredictable behavior?
 
Back
Top