Contribute
Register

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

Problem Reporting files must represent the problem scenario.
In your next reply, attach "Problem Reporting" files that show 0.6.2 in use.
The problem reporting files for my Haswell build reconfigured with USBinjectAll.kext 0.6.2 are attached. Kindly note that with 0.6.2 I am having problems with devices such as iPhone/iPad charging as well as my Wacom tablet. That is all reflected in the Extra USBinjectAll 0.6.2 files.zip folder. With your USBinjectAll.kext 0.6.1 I do not experience these problems. To me it is not a big issue as I could just stick with your USBinjectAll.kext 0.6.1 version but that defeats what I perceive you want to actually accomplish and that seems to me a modification/hack that is universally deployable. Kindly let me know what additional input I could provide that might be useful to you. I have now reconfigured my Haswell hack to use your USBinjectAll.kext 0.6.1 so that I can continue using my Wacom tablet again.
Greets
After I have reinstated USBinjectAll version 0.6.1 my iPad/iPhone is charging again and I can also use the Wacom tablet.
Oh I forgot. My Skylake build is working great with your USBinjectAll.kext 0.6.2 version
 

Attachments

  • Extra USBinjectAll 0.6.2 files.zip
    149.4 KB · Views: 69
  • Archive.zip
    3.7 MB · Views: 80
Last edited:
The problem reporting files for my Haswell build reconfigured with USBinjectAll.kext 0.6.2 are attached. Kindly note that with 0.6.2 I am having problems with devices such as iPhone/iPad charging as well as my Wacom tablet. That is all reflected in the Extra USBinjectAll 0.6.2 files.zip folder. With your USBinjectAll.kext 0.6.1 I do not experience these problems. To me it is not a big issue as I could just stick with your USBinjectAll.kext 0.6.1 version but that defeats what I perceive you want to actually accomplish and that seems to me a modification/hack that is universally deployable. Kindly let me know what additional input I could provide that might be useful to you. I have now reconfigured my Haswell hack to use your USBinjectAll.kext 0.6.1 so that I can continue using my Wacom tablet again.
Greets
After I have reinstated USBinjectAll version 0.6.1 my iPad/iPhone is charging again and I can also use the Wacom tablet.

Your USB configuration is wrong.
For SSP4/SSP5 there should be an HSxx port that corresponds (with UsbConnector=3). There are no HSxx nodes that have UsbConnector=3.
Or you could be using FakePCIID_XHCIMux to route USB2 devices on XHC to EHCx.
Either way you must configure the UsbConnector and/or portType correctly for each port.
Your EHCI controllers are enabled. They should either be used and configured correctly, or disabled.
Also, you need to inject the legacy power properties (config.plist/Devices/USB/Inject=true).

There are no changes in 0.6.2 that would cause the issues you mention.
The only significant change was to change the default portType from 2 to 0 for all HPxx ports.
Of course, if you're using those HPxx ports, the portType should be customized as appropriate for the device connected to the port anyway (with custom SSDT). The known values for portType are mentioned in post #1 and in SSDT-UIAC-ALL.dsl.
 
Your USB configuration is wrong.
For SSP4/SSP5 there should be an HSxx port that corresponds (with UsbConnector=3). There are no HSxx nodes that have UsbConnector=3.
Or you could be using FakePCIID_XHCIMux to route USB2 devices on XHC to EHCx.
Either way you must configure the UsbConnector and/or portType correctly for each port.
Your EHCI controllers are enabled. They should either be used and configured correctly, or disabled.
Also, you need to inject the legacy power properties (config.plist/Devices/USB/Inject=true).

There are no changes in 0.6.2 that would cause the issues you mention.
The only significant change was to change the default portType from 2 to 0 for all HPxx ports.
Of course, if you're using those HPxx ports, the portType should be customized as appropriate for the device connected to the port anyway (with custom SSDT). The known values for portType are mentioned in post #1 and in SSDT-UIAC-ALL.dsl.
Great and thanks. I need to digest your feedback a little bit, read some more to try and understand and then reconfigure properly
will come back once accomplished
 
Your EHCI controllers are enabled. They should either be used and configured correctly, or disabled.

I am lost now because I believe that my EHCI controllers are actually disabled/renamed. I have attached an excerpt of my config.plist file plus the complete config.plist file for you to ascertain if I made a mistake. for me it is difficult to chase something that I believe is already in place. When I configured USB ports originally I attempted to only configure the port I needed. For instance if I needed only the USB 2 capability of a "combination" USB 3 port I did so and discarded configuring the USB 3 portion of that port as well, indeed assisting me in staying within the 15 USB port limit for a controller. I applied this principle the other way around also. Why configure two ports on one connector if one only needs one???
I have done this on my Skylake build as well without problems with excellent results using either USBinjectAll 0.6.1 or 0.6.2 I would really appreciate some more input from your side to clarify the confusion I presently find myself to be in.
Sorry for that.
Greets
 

Attachments

  • config.plist
    7.1 KB · Views: 219
  • EHC1 and EHC2 renames.jpeg
    EHC1 and EHC2 renames.jpeg
    75.1 KB · Views: 87
I am lost now because I believe that my EHCI controllers are actually disabled/renamed. I have attached an excerpt of my config.plist file plus the complete config.plist file for you to ascertain if I made a mistake. for me it is difficult to chase something that I believe is already in place. When I configured USB ports originally I attempted to only configure the port I needed. For instance if I needed only the USB 2 capability of a "combination" USB 3 port I did so and discarded configuring the USB 3 portion of that port as well, indeed assisting me in staying within the 15 USB port limit for a controller. I applied this principle the other way around also. Why configure two ports on one connector if one only needs one???
I have done this on my Skylake build as well without problems with excellent results using either USBinjectAll 0.6.1 or 0.6.2 I would really appreciate some more input from your side to clarify the confusion I presently find myself to be in.
Sorry for that.
Greets

Look at your ioreg and you will see that your EHCx controllers are both present. Therefore not disabled.

Further discussion here is off-topic.
 
Look at your ioreg and you will see that your EHCx controllers are both present. Therefore not disabled.

Further discussion here is off-topic.
OK thanks a stack will delve into this with more vigor to try and fix :)
 
Look at your ioreg and you will see that your EHCx controllers are both present. Therefore not disabled.

Further discussion here is off-topic.
Thanks it is now fixed after some intensive reading to refresh my understanding. USBinjectAll.kext version 0.6.2 now in operation with everything else working as well.
Keep well.
 
Hi @RehabMan, thanks for all of your hard work over the years. Since switching from 18,3 to 19,1 and installing a Radeon Vega 64, I've lost my extra operating current in 10.13.0. Please check out the attached. Thanks in advance! I just have to sort this issue out and then deal with my CPU frequencies and I'll have a golden build when 10.13.2 is released!
Screenshot 2017-11-16 13.13.34.png
Screenshot 2017-11-16 12.22.17.png
 

Attachments

  • CLOVER.zip
    2.4 MB · Views: 75
  • Terminal Saved Output.txt
    3.7 KB · Views: 114
  • patchmatic.zip
    59.7 KB · Views: 76
  • Nitro’s iMac.ioreg
    9.2 MB · Views: 115
Hi @RehabMan, thanks for all of your hard work over the years. Since switching from 18,3 to 19,1 and installing a Radeon Vega 64, I've lost my extra operating current in 10.13.0. Please check out the attached. Thanks in advance! I just have to sort this issue out and then deal with my CPU frequencies and I'll have a golden build when 10.13.2 is released!
View attachment 292857 View attachment 292858

No support for iMac19,1 in USBInjectAll.kext. It is not in Clover's platformdata.c yet either.
I will not add it until it appears on everymac.com (iMac19,1 not released yet?).
And you need to use USBX to inject power properties. Details in post #1.
 
Back
Top