Contribute
Register

Native USB 2.0 / USB 3.0 on Skylake

Status
Not open for further replies.
Hello cnrd,

Thank you for the great work! I have question for you. Your script doesn't ask for the USR1 and USR2 which they placed at the end of the list. Does this matter? Please let me know. Thnx.
 
The port and port-count properties can be used to override the (presumably incorrect) data in ACPI.
It does not matter how you inject those properties in ioreg, as long as they are injected before the native kexts look for them. This is why USBInjectAll.kext as well as AppleUSBMergeNub do such injections in IOService::probe.

As to whether you use USBInjectAll.kext or AppleUSBMergeNub to inject the properties... does not matter. It is the same mechanism and same result. I prefer to use the USBInjectAll.kext approach, as I think it is easier to document the ports in an SSDT vs. an Info.plist and it is also not bound to the SMBIOS in use.



The method described in this thread focuses on "fixing" _UPC and _PLD in ACPI instead of trying to override it with ioreg injections. Because _UPC and _PLD are a bit complex, some may find that more difficult to accomplish. In fact, I think most people following this guide don't really understand what they are doing, as they have likely not read the ACPI spec. To the degree that the subject ACPI files follow a certain pattern (depends on who coded it)... in this case a pattern used by whoever provided the ACPI code for Gigabyte, one can follow a "cookbook" instruction like this. But, of course, such a procedure will not be generic as other computers may have used a different BIOS/UEFI firmware vendor. In that case, you would have to gain an understanding of _UPC and _PLD in order to effectively fix the broken code there.

It is for this reason (the complexity of fixing _PLD and _UPC) and the fact that it is very difficult to fix via Clover hotpatching... that use the "override" mechanism using USBInjectAll.kext.
Out of curiosity, how do you seem to be the person who always has the answer? What do you do for a living? are you a programmer or something?
 
Out of curiosity, how do you seem to be the person who always has the answer? What do you do for a living? are you a programmer or something?

Retired software design engineer.
 
Well thank you so much for all of your contributions in your retirement years. I don't think people would understand half the stuff on here without your help! You da man!
:thumbup:
 
Hi cnrd

I used your script on my Gigabyte H170N mobo, and the ssdt worked great, thanks for your script.

I am moving to an ASUS Z370-i mobo, mainly for the usb 3.1 and 3.1 secound gen. IO, and wonder if your script can work with 3.1 usb ports too?
 
Hi cnrd
I’ll try the script but in my case I have a USB 3.0 2-port pci-e card in addition to the built-in Mobo USBs which works natively (FL11 controller). When injected, the USB device attached to one of the card ports is assigned with PXSX according to the IOreg (see picture)
7EEC5FF9-5B0C-40B0-A867-CFD2968BCC2F.jpeg
. Do you know if using this script will disable the card ports?
 

Attachments

  • JLR’s iMac.ioreg
    3.6 MB · Views: 135
hi
i have a build g31 asus mobo with c2q processor
the build is in my signature

the problem i wanna talk about, raised when i clean installed sierra
previously i was in yosemite 10.10.5 with nvidia gt610 ddr3 2gb graphic card n i also use a usb sound card scarlett 2i4 for music making , everything just worked fine (sleep/ wake never tried nor it was needed)

but when i installed sierra 10.12.6
i upgraded gpu from gt 610 ddr3 to gt710 gddr5 knowing that on OS X 10.12.6 gt 710 is oob supported

now everything seems to work fine dual display dvi & vga through hdmi to vga adaptor

-things not working are shutdown(results in restart)

and the usb power is low
i plug in a usb hub then a pen drive into it then i says u need to plug it into pc's port (on OS X 10.10.5 it was working fine)
&
major problem is when i use the graphic like change tabs in activity manager or open finder and click on drives or browse a folder
the sound on usb card just misses for millisecond (not click crackling or glitchy sound) and onboard sound port on mobo works fine..

i suspect it to be a problem with the usb power handling

i rechecked the psu (400w 12v 14a rail) its working fine as it did in OS X 10.10.5

the only hardware i changed was GT710 ddr5 2gb

the strange thing is when i plug back my gt610 ddr3 2gb (some graphic glitch like no light shift working, mouse pointer bigger, vga hangs the system so no multi monitor , else all working fine)
the the usb power won't fluctuate nor the audio on usb would miss or crack

but when i plug back my gt710 ddr5 2gb the problem is with the usb sound card

both gt710 ddr5 & gt610 ddr3 is from GIGABYTE brand

checked my usb audio interface in my MacBook pro running OS X 10.12.6 (its running fine / as expected with no crack sound)

sorry for such a long essay but had to describe it..

so need the usb audio interface working or else the system is not of much use to me

thnx in advance..!!
 
Running 10.13.6 on a Gigabyte Z170X-UD5TH. Having trouble getting script to activate internal usb 3.0 connector for add on front panel. Did all the port mapping and created an ssdt that worked for all the 2.0/3.0 ports on the back panel and an internal 2.0 for wifi/bluetooth adaptor. USB C and thunderbolt3 work. Added two front 3.0 ports using an Anker 3.5 front plate. When I remapped to find the internal ports with USBinjectall kext the two ports are active and working. I created a new ssdt adding the additional internal ports but no go. Everything else works fine just those two ports don't. If I revert back to the USBinjectall.kext config they work. I have Increase port limit patch in place. If I activate all needed ports there are 16. I thought that might be the problem but when I tested with 14 ports it still didn't activate. Any thoughts?
 
LSP: I can't recall because it's been awhile but if you're using those add on front ports as both 2.0/3.0 ports, each one should count as two ports? Are you taking that into consideration for the port limit amount?
 
Status
Not open for further replies.
Back
Top