Contribute
Register

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

Joined
Mar 2, 2017
Messages
31
Motherboard
Asus Maximus Hero X Z370
CPU
i7 8700K
Graphics
RX 580
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
I believe I have got this working, but I am a little unsure as I had 'EC0' showing in ioreg to start with, but I also had 'H_EC' returning zero from _STA when I looked in maciASL.

In the end, I used SSDT-EC.dsl to create a fake EC, then I renamed 'H_EC' to 'EC' in clover. Should I also have added the patch to rename 'EC0' to 'EC'?

I also specified power property overrides using USBInjectAll.kext by adding the relevant details to my SSDT-UIAC.aml file.

I will attach my debug output, any help would be appreciated, hopefully I have explained what I did well enough.

Thank you
 

Attachments

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,976
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
MacBook Air
Mobile Phone
iOS
I believe I have got this working, but I am a little unsure as I had 'EC0' showing in ioreg to start with, but I also had 'H_EC' returning zero from _STA when I looked in maciASL.

In the end, I used SSDT-EC.dsl to create a fake EC, then I renamed 'H_EC' to 'EC' in clover. Should I also have added the patch to rename 'EC0' to 'EC'?

I also specified power property overrides using USBInjectAll.kext by adding the relevant details to my SSDT-UIAC.aml file.

I will attach my debug output, any help would be appreciated, hopefully I have explained what I did well enough.

Thank you
Your ioreg shows EC0 active.
You should remove SSDT-EC.aml, and add a patch to rename EC0->EC (no ECDT to get in the way of that).
Contrary to your claim, you have no H_EC->EC patch (and you don't want/need one either).

Note: iMac18,3 uses USBX to specify power properties... you really need to read post #1 carefully.
 
Joined
Mar 2, 2017
Messages
31
Motherboard
Asus Maximus Hero X Z370
CPU
i7 8700K
Graphics
RX 580
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
Your ioreg shows EC0 active.
You should remove SSDT-EC.aml, and add a patch to rename EC0->EC (no ECDT to get in the way of that).
Contrary to your claim, you have no H_EC->EC patch (and you don't want/need one either).

Note: iMac18,3 uses USBX to specify power properties... you really need to read post #1 carefully.
Thank you for the reply!

I have tried to add the patch for EC0 -> EC, but it does not seem to have any effect. Am I applying the patch correctly? You said I had not applied the patch for H_EC->EC previously, but in the config.plist of the last debug output I could see the relevant section under ‘Kernel And Kext Patches’, so am I applying this incorrectly? I have attached a new debug output after trying to patch EC0 -> EC, and removing SSDT-EC.aml.

I also added a USBX device in my SSDT-UIAC.aml file. Do I also need to specify a power override in that file as shown in the end of post #1 ? I have done so for now, but I’m not sure if I am supposed to do that or not. I have spent quite a lot of time reading post #1, so I am sorry if I am missing something obvious!

Any help would be greatly appreciated!

Thank you.
 

Attachments

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,976
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
MacBook Air
Mobile Phone
iOS
Thank you for the reply!

I have tried to add the patch for EC0 -> EC, but it does not seem to have any effect. Am I applying the patch correctly? You said I had not applied the patch for H_EC->EC previously, but in the config.plist of the last debug output I could see the relevant section under ‘Kernel And Kext Patches’, so am I applying this incorrectly? I have attached a new debug output after trying to patch EC0 -> EC, and removing SSDT-EC.aml.

I also added a USBX device in my SSDT-UIAC.aml file. Do I also need to specify a power override in that file as shown in the end of post #1 ? I have done so for now, but I’m not sure if I am supposed to do that or not. I have spent quite a lot of time reading post #1, so I am sorry if I am missing something obvious!

Any help would be greatly appreciated!

Thank you.
KernelAndKextPatches is not for ACPI patches.
ACPI patches are in config.plist/ACPI/DSDT/Patches.
 
Joined
Mar 2, 2017
Messages
31
Motherboard
Asus Maximus Hero X Z370
CPU
i7 8700K
Graphics
RX 580
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
KernelAndKextPatches is not for ACPI patches.
ACPI patches are in config.plist/ACPI/DSDT/Patches.
Thank you!

I think I have it correct now. I could not work out the exact format to combine SSDT-UIAC.aml and SSDT-USBX.aml, but I think it's now working. I have a few random kernel panics now, but they may not be related, so I will start a different post.

Thanks again for your help.
 
Joined
Mar 2, 2017
Messages
31
Motherboard
Asus Maximus Hero X Z370
CPU
i7 8700K
Graphics
RX 580
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
KernelAndKextPatches is not for ACPI patches.
ACPI patches are in config.plist/ACPI/DSDT/Patches.
It looks like the kernel panics I am getting during boot may be related to the ACPI patch EC0 -> EC. I disabled the patch for a few days, and the panics stopped, I re-enabled the patch and the panics immediately started again during boot.

The system will restart a few times, kernel panicking a few seconds after the clover screen, then eventually it will successfully boot.

I have attached debug info, any help would be appreciated. For now, I have disabled the patch, and removed the USBX device from my SSDT-UIAC.aml file and things are fine. Debug was done whilst patch was active and USBX device was present.
 

Attachments

Top