Contribute
Register

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

Great.



You probably could, but they also won't do any harm if they stay...

Just done the update on my Main OS Boot Drive can confirm that its working well. Although could you try this Rehabman. Put the machine to sleep iPad still charges but when waking up it doesn't get detected until you un-plug the iPad and plug it back in.

Screen Shot 2017-05-19 at 15.25.24.png

Screen Shot 2017-05-19 at 15.25.41.png
 
Put the machine to sleep iPad still charges but when waking up it doesn't get detected until you un-plug the iPad and plug it back in.

Tested on non-charging port on my NUC6i7KYK.

I wonder if macOS sets up all ports as "charging ports"... maybe.
No such issue here with regards to detection after sleep though.
 
Tested on non-charging port on my NUC6i7KYK.

I wonder if macOS sets up all ports as "charging ports"... maybe.
No such issue here with regards to detection after sleep though.

Not sure neither its not a huge issue tho can always unplug and plug the iPad back in. At least it charges now tho thats the main thing.
 
Not sure neither its not a huge issue tho can always unplug and plug the iPad back in. At least it charges now tho thats the main thing.

Yes, and I don't think the sleep issue you mention is related to this topic anyway.
 
Yes, and I don't think the sleep issue you mention is related to this topic anyway.

Sorry. I just wondered if you had the same issue thats all. Thanks for your help tho mate :)
 
RehabMan, ...

IOReg now shows the EC0 as EC.
RehabMan,
I should add that my SysDef is iMac14,2 which is listed in IOUSBHostFamily.kext. Consequently, I'm using your recommended config.plist DSDT patch code.

That being said, do I now need a SSDT for this modification like I did for the NVMe spoof SSDT? Or is the config.plist the sufficient?
 
RehabMan,
I should add that my SysDef is iMac14,2 which is listed in IOUSBHostFamily.kext. Consequently, I'm using your recommended config.plist DSDT patch code.

That being said, do I now need a SSDT for this modification like I did for the NVMe spoof SSDT? Or is the config.plist the sufficient?

If the power properties that come with iMac14,2 work for you, then no need to override them with different values.
 
as far as config.plist ACPI patching. NVM dumb question.
 

Attachments

  • DSDT.aml
    93.2 KB · Views: 195
Last edited:
as far as config.plist ACPI patching. My dsdt also contains:
Name (APCB, 0xFEC00000)

and

OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100)
Name (BUF0, ResourceTemplate ()
{
,, _Y0B, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000EC000, // Range Minimum
0x000EFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length

I don't understand why you posted this here.
Whatever your point is, it does not appear to be related to this topic.

Note: If you're worried that the EC0->EC patch will match against the 0x000EC000 or 0xFEC00000... it will not.
 
Last edited:
This whole discussion is a bit over my aging head.

I have a iMac 17,1 smbios. What do I have to do exactly? I don't have a SSDT-UIAC yet.
Will the code below(as .aml ssdt) be enough to enable iPad charging on my Z170x/El Cap?

DefinitionBlock ("", "SSDT", 2, "hack", "usb", 0)
{
//
// Override for USBInjectAll.kext
//
Device(UIAC)
{
Name(_HID, "UIA00000")
Name(RMCF, Package()
{
// USB Power Properties for Sierra (using USBInjectAll injection)
"AppleBusPowerControllerUSB", Package()
{
"kUSBSleepPortCurrentLimit", 2100,
"kUSBSleepPowerSupply", 5100,
"kUSBWakePortCurrentLimit", 2100,
"kUSBWakePowerSupply", 5100,
},
// XHC overrides (8086:9cb1, NUC5)
"8086_9cb1", Package()
{
// other UIAC.RMCF content follows (for custom port injection)
...
}
//EOF

What does the CHC overrides 8086Package() stuff do exactly? Do I need this? Is this NUC specific? Can I leave my port exclusions in the config.plist?
 
Back
Top