Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
Thank you for all your contributions RehabMan - amazing. The gray matter between my ears is exhausted. Can you please explain (simply) how to rename EHCx to EHOx, or give me a link? I gave up on Clover Configurator, as you reported it was buggy and am using PlistEdit Pro. I have Clover loading with UEFI; have placed FakePCIID_XHCIMux.kext into the 10.10 and 10.11 folders; and, have read and reread #1 and its links way too many times. It is not clear at all.

Copy/paste the two patches from config_patches.plist (in the USBInjectAll repo) to your own config.plist.
Use a plist editor such as Xcode or PlistEdit Pro.

You are running into the 15-port limit. Since you're using FakePCIID_XHCIMux, you can use USBInjectAll.kext and kernel flag -uia_exclude_hs to avoid exceeding the port limit on XHC.
 
Describe problem clearly and concisely.


I was trying. :) My apologies. I had spent two days trying to take everything in and troubleshooting before troubling you for assistance and I think everything overwhelmed me. I decided to take a breath and went back to start methodically from square one and finally have everything working thanks to this thread and the USB thread started by AGuyWhoIsBored. Writing a custom port injector was indeed what I needed (and turned out to be rather enjoyable).

Thank you for this thread. It's an incredibly valuable resource.
 
I was trying. :) My apologies. I had spent two days trying to take everything in and troubleshooting before troubling you for assistance and I think everything overwhelmed me. I decided to take a breath and went back to start methodically from square one and finally have everything working thanks to this thread and the USB thread started by AGuyWhoIsBored. Writing a custom port injector was indeed what I needed (and turned out to be rather enjoyable).

Thank you for this thread. It's an incredibly valuable resource.

I like to use USBInjectAll.kext with a custom SSDT (to configure the kext).

But that way or using a port injector kext is the same result.

Enjoy...
 
Would be possible if you could please include in your gits the original dsdt or the portion of it dealing with USB devices.
This would at least help me to correlate your new USB mods in SSDT-HACK with original DSDT to understand how I should go about doing the same for mine...

Or if including them in your git is against your policies, perhaps you could just mail them to me.

Thanks in advance,
Artimess
 
Would be possible if you could please include in your gits the original dsdt or the portion of it dealing with USB devices.
This would at least help me to correlate your new USB mods in SSDT-HACK with original DSDT to understand how I should go about doing the same for mine...

Or if including them in your git is against your policies, perhaps you could just mail them to me.

Thanks in advance,
Artimess

My u430 repo has the native ACPI files. But you don't really need to even look at the ACPI files to determine how to configure the ports. It can be done from information in ioreg.
 
Hi RehabMan, I have a series 100 (z170m-plus) and found that my apple wired keyboard wont charge an iphone anymore.
I have found that by removing usbinjectall it would charge but I lost front panel ports.
Is there a way to keep using your kext but tell the keyboard to provide enough current to charge it?

This is the sudo touch log:
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IntelMausiEthernet.kext
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext AppleHDA.kext
kext-dev-mode allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext AppleGraphicsDevicePolicy.kext

Attached are the with and without ioregs and clover's.
Thanks for your time.
 

Attachments

  • no_usbinjectall_clover.zip
    3.6 MB · Views: 67
  • no_usbinjectall_ioreg.zip
    547.7 KB · Views: 66
  • usbinjectall_ioreg.zip
    641.6 KB · Views: 80
Hi RehabMan, I have a series 100 (z170m-plus) and found that my apple wired keyboard wont charge an iphone anymore.
I have found that by removing usbinjectall it would charge but I lost front panel ports.
Is there a way to keep using your kext but tell the keyboard to provide enough current to charge it?

This is the sudo touch log:
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IntelMausiEthernet.kext
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext AppleHDA.kext
kext-dev-mode allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext AppleGraphicsDevicePolicy.kext

Attached are the with and without ioregs and clover's.
Thanks for your time.

Your keyboard is connected to XHC.HS10. If you compare the UsbConnector in each, you will see that USBInjectAll.kext uses UsbConnector=3, where without USBInjectAll.kext your DSDT provides 255.

If the port is a USB3 port, 3 is more correct. And it seems unlikely you have your keyboard plugged into an 'internal' port (eg. one which cannot be disconnected). And that's what 255 means.

Perhaps it is really a USB2 port and should be marked UsbConnector=0.

You can still use USBInjectAll.kext, and with a custom SSDT (to configure it), set UsbConnector=0 or UsbConnector=255 (kind of strange) if that's what is required to make it work.

Of course, it is clear you're using the port limit patch... which should not be used long term. So, your problem may actually be caused by that. When using the port limit patch, it is known that the power properties get clobbered (they probably follow the fixed array for port status).

Suggestion: Start with removing the port limit patch by creating a custom configuration that stays under the 15-port limit. I think it likely without the port limit patch, you can set UsbConnector for HS10 as it should be.
 
Thanks for your detailed reply. Appreciated. Will do as sugested.

edit:
What if I tweak the info.plist in the .kext? Under <key>8086_a12f</key>
I have:

<key>HS10</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>
CgAAAA==
</data>
</dict>

Can I change it to be a UsbConnector=255 ?
 
Thanks for your detailed reply. Appreciated. Will do as sugested.

edit:
What if I tweak the info.plist in the .kext? Under <key>8086_a12f</key>
I have:

<key>HS10</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>
CgAAAA==
</data>
</dict>

Can I change it to be a UsbConnector=255 ?

There is no need to change USBInjectAll.kext. It can be customized with an SSDT. See SSDT-UIAC-ALL.dsl in the USBInjectAll repo.
 
Status
Not open for further replies.
Back
Top