Contribute
Register

[Guide] USB power property injection for Sierra (and later)

Difficult only for some, it seems...
:oops:

I hope, you misunderstand me. Sometimes I get really tough and I'm angry with you. Sometimes I'm so jealous you.(in a good way) How he knows everthing. Why I am not know anything. Yelling myself. I know you're a good guy, and I know you're always there to help.
 
Last edited:

Point being... to do hackintosh properly, you need to study.
The more you understand what you're actually doing, the more you can understand new topics that come up...
Remember.. it is about learning...

Note: Will soon remove these off-topic posts...
 
Point being... to do hackintosh properly, you need to study.
The more you understand what you're actually doing, the more you can understand new topics that come up...
Remember.. it is about learning...

Note: Will soon remove these off-topic posts...
Yes, you are right. I must do my best. You can delete these unrelated posts. Thanks again.
 
Nvm forgot to drop a ssdt so that the patched one is used

A transition to hotpatch for at least the SSDTs may be a good idea...
 
Okay, awesome. Thanks for everything RehabMan, the amount of support you provide on these topics is incredible.

I'll need to fix my USB properly first before attempting this... But I don't get something: The usb specification states values much lower than what you guys are showing in the successful prints from About This Mac.

https://en.wikipedia.org/wiki/USB#Power

I mean, how do I test to see if the values from Apple are safe on my hardware?
 
Okay, awesome. Thanks for everything RehabMan, the amount of support you provide on these topics is incredible.

I'll need to fix my USB properly first before attempting this... But I don't get something: The usb specification states values much lower than what you guys are showing in the successful prints from About This Mac.

https://en.wikipedia.org/wiki/USB#Power

I mean, how do I test to see if the values from Apple are safe on my hardware?

No idea really. The only way is to try and see what happens.

Seems unlikely you could damage anything with software...
But probably if your system can't deliver the declared power, you may get a situation where a device does't work as you expect. Or macOS doesn't give you a warning they intended.
 
@RehabMan
Would you mind to check my injection, please?
Hardware:
  • Asus Z170i PRO Gaming
  • Intel i7 6700
  • UEFI Clover install
What I did:
  • Found EC0 in my System DSDT looking for "PNP0C09". It doesn't return zero from _STA so I guess I need to rename EC0 to EC rather than add a fake EC.
  • Added change EC0 to EC patch (find 4543305f >> replace 45435f5f in config.plist\Acpi\DSDT Patches)
  • Injected the USBX device via SSDT adding
Code:
Device (_SB.USBX)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LNot (Arg2))
            {
                Return (Buffer (One)
                {
                     0x03                                       
                })
            }

            Return (Package (0x08)
            {
                "kUSBSleepPortCurrentLimit",
                0x0834,
                "kUSBSleepPowerSupply",
                0x13EC,
                "kUSBWakePortCurrentLimit",
                0x0834,
                "kUSBWakePowerSupply",
                0x13EC
            })
        }
    }
at the bottom of my SSDT-UIAC (to me SSDT-3.aml)​
  • Overrided the IOUSBHostFamily.kext/Contents/Info.plist via SSDT adding
Code:
"AppleBusPowerControllerUSB",
            Package (0x08)
            {
                "kUSBSleepPortCurrentLimit",
                0x0834,
                "kUSBSleepPowerSupply",
                0x13EC,
                "kUSBWakePortCurrentLimit",
                0x0834,
                "kUSBWakePowerSupply",
                0x13EC
            },
at the beginning of my SSDT-UIAC (to me still SSDT-3.aml)​
  • Rebuilded cache
  • Rebooted
The point I am missing, here, is how to check if my steps are correct.
Thanks for the huge support. As always.
 

Attachments

  • giacomoleopardo1.zip
    2.1 MB · Views: 177
Last edited:
@RehabMan
Would you mind to check my injection, please?
Hardware:
  • Asus Z170i PRO Gaming
  • Intel i7 6700
  • UEFI Clover install
What I did:
  • Found EC0 in my System DSDT looking for "PNP0C09". It doesn't return zero from _STA so I guess I need to rename EC0 to EC rather than add a fake EC.
  • Added change EC0 to EC patch (find 4543305f >> replace 45435f5f in config.plist\Acpi\DSDT Patches)
  • Injected the USBX device via SSDT adding
Code:
Device (_SB.USBX)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LNot (Arg2))
            {
                Return (Buffer (One)
                {
                     0x03                                        
                })
            }

            Return (Package (0x08)
            {
                "kUSBSleepPortCurrentLimit",
                0x0834,
                "kUSBSleepPowerSupply",
                0x13EC,
                "kUSBWakePortCurrentLimit",
                0x0834,
                "kUSBWakePowerSupply",
                0x13EC
            })
        }
    }
at the bottom of my SSDT-UIAC (to me SSDT-3.aml)​
  • Overrided the IOUSBHostFamily.kext/Contents/Info.plist via SSDT adding
Code:
"AppleBusPowerControllerUSB",
            Package (0x08)
            {
                "kUSBSleepPortCurrentLimit",
                0x0834,
                "kUSBSleepPowerSupply",
                0x13EC,
                "kUSBWakePortCurrentLimit",
                0x0834,
                "kUSBWakePowerSupply",
                0x13EC
            },
at the beginning of my SSDT-UIAC (to me still SSDT-3.aml)​
  • Rebuilded cache
  • Rebooted
The point I am missing, here, is how to check if my job is correct. Thanks for the huge support. As always.

Attach "Problem Reporting" files as per post #1.
 
Back
Top