Contribute
Register

CustoMac Desktop USB Fixes - 10.11+ Reference

I'm finally trying to fix my USB's on my GA-Z77X-UD5H-TH motherboard.

I'm not a complete noob, but I'm missing the overall steps of using the USBInjectAll.kext to "determine which ports need to be on the final injector". I modified the makefile of OS-X-USB-Inject-All-Master to install the USBInjectAll.kext, I corrected the BUILDPATH variable. The make seemed to work correctly and installed and rebuilt the kernel.

I rebooted. Where do I get the information, or how do I generate the information to determine the ports for the ACPI injection? I can't find any instructions or steps that describe that part of the process. I looked in the console, examined the logs, I don't see any text in them containing USBInjectAll string. I don't see an enumeration of the USB ports. Am I missing something, process or purpose of the kext?

Then I quote Juggernaut1987 as their posting on a similar motherboard ( I would guess the same USB hub/ports ) seems to say one injects all 3 kexts, and then adds the text in the ACPI portion of the clover config plist and reboots, et viola it's working.

But your read me indicated that the USBInjectAll.kext is a TEMPORARY utility/driver/extension to identify the ports, but then you don't describe removing it, or where it's information is placed or logged.

I'm confused. Sorry for length of posting. Hopefully someone won't smash over this posting that I took hours to work through.
Thanks for all your contributions.
Darn. Is this posting of yours what I was supposed to read first?

https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
 
Hi

After upgrading to 10.13 my Logitech BRIO USB3 webcam is no longer recognised, unless I attach it to an USB2 hub (but then it doesn't output 4K). I tried it on different ports, in combo with/without a USB 3 hub.
It worked perfectly on Sierra with the below configuration.

The following kexts are installed to S/L/E (no adjustments made to info.plist):
  • USBInjectAll.kext
  • XHCI-200-series-injector.kext
  • FakePCIID.kext
  • FakePCIID_XHCIMux.kext
  • FakeSMC.kext + Sensors
  • Lilu.kext
  • AppleALC.kext
And I have the following Kext patches active in CLOVER for AppleUSBXHCIPCI:
  • 83bd74ff ffff10 > 83bd74ff ffff1b
  • 837d8410 > 837d8419

Any ideas? OR if no ideas, any way to further investigate the issue?
Once I get the ports correctly recognised, I'll look into creating a custom injection SSDT.
Thx!

System config: Kaby Lake Asrock Z270 Gaming-ITX/ac + Intel 7600K


SOLVED: I apparently did not have the correct DSDT and Kext patches configured. Correct list: https://raw.githubusercontent.com/RehabMan/OS-X-USB-Inject-All/master/config_patches.plist
 
Last edited:
We now have a new NEC / Renesas / Asmedia USB3.0 driver for 6 series.
This kext patched by jenyunhuang.
 

Attachments

  • mXHCD.kext.zip
    78.2 KB · Views: 116
Hi folks,
Trying to get my rig up and running properly. I've got a GA-Z270X-UD5.

I can't seem to get USB 3.0 working on anything but the USB 3.1 port on the back.

When I plug drives, etc anywhere else that are 3.0 I get nada. All 2.0 works.

What info do folks need to troubleshoot? or where should I start with a 200 board?

Thanks,

Anthony
 
RehabMan - thanks (nice tracks by the way - jealous!)

Okay, doing a clean install to get back on the right track. Based on reading through your guide etc. I sense that there are some mistakes possible in Multibeast, etc.

If I want to go the custom ssdt route - what should I install after I do a clean install and what do I need to avoid (vis a vis Multibeast,etc).

Thanks in advance.
 
RehabMan - thanks (nice tracks by the way - jealous!)

Mine are skier's right.
The others are from two of my ski buddies. We were fortunate to take that photo from the lift (going back up) after we laid the tracks together and had skied to the bottom. No one else had gone there to mess up our tracks... yet.

Okay, doing a clean install to get back on the right track. Based on reading through your guide etc. I sense that there are some mistakes possible in Multibeast, etc.

If I want to go the custom ssdt route - what should I install after I do a clean install and what do I need to avoid (vis a vis Multibeast,etc).

For your hardware, basic components/procedures:
- XHCI-200-series-injector.kext
- USBInjectAll.kext
- port limit patch in config.plist
- port discovery
- create SSDT-UIAC.aml matching port discovery results and staying within 15-port limit
- remove port limit patch from config.plist
 
An unsolicited comment here; maybe obvious to all others, but this confounded me for a long time.

When creating a SSDT, the "HS" port numbers begin with HS01 => <01 00 00 00> and increment by 1 for each HS port. The "SS" port numbers must begin with SS01 => <11 00 00 00> and increment by 1 for each SS port.

I had thought incorrectly that the final version of the SSDT (after eliminating unused ports) should show ALL port numbers assigned in consecutive order. But the "SS" port numbers have to start with 11 (hex) (= decimal 17) or things just don't work out for USB operation.
 
When creating a SSDT, the "HS" port numbers begin with HS01 => <01 00 00 00> and increment by 1 for each HS port. The "SS" port numbers must begin with SS01 => <11 00 00 00> and increment by 1 for each SS port.

SSxx port numbers actually vary depending on the xHCI device-id.
Correct values are in SSDT-UIAC-ALL.dsl in my USBInjectAll github project.

You should *never* change the "port" data for a given port, unless you were building an SSDT for an xHCI controller not already supported by USBInjectAll and SSDT-UIAC-ALL.dsl.
 
Back
Top