Contribute
Register

macOS 10.14.2 Update

Status
Not open for further replies.
I am posting this is because I saw threads with people saying that the USB 3.0 ports are working with 2.0 speeds with Z390, and, yes, I know you can block the HSxx port with a boot arg... but a lot of people don't know that and is just to let know other people that they have to make a SSDT in order to have USB 3.0/3.1 in mobos with z370/z390/h370/b360/h310 because, if you only use the USB Port Patch Limit, it works but the patch can't inject all the ports only 15. That's why your USB 3.0/3.1 ports are working in USB 2.0 speeds because the patch inject from HS01 to HS14 and not the SSxx ports. Some people think that is a problem with the mobo chipset or something like that. I will try to make a test with Z270/B250 (with some friends) and check if in this mobos the patch works allowing to inject 26 ports... just testing to give more information to other people...

Here's what I did for USB on my GA-Z97n-wifi motherboard. Before doing the SSDT, various USB ports would stop / start working causing all kinds of frustration. The SSDT solved it. I don't have USB 3.1 on this board, just 2.0 and 3.0. A USB 2.0 port counts as one port. A USB 3.0 port counts as two (one for 2.0 and one for 3.0). I'm not sure if a 3.1 port counts as two or three. From my understanding, you're still capped at 15 ports with Mojave, so you can easily run out of ports.

Below are notes to myself when I created an SSDT for USB ports on my GA-Z97n-wifi motherboard. In addition to the USB ports on the back of the board, I have a USB 3.0 hub attached internal to the motherboard for the front panel (the two ports listed below as "Front") and a remote power/reset switch that has a USB 2.0 hub attached internal to the motherboard (the two ports listed below as "Power Switch"). Early on in my build, I removed the internal wifi/bluetooth card that came with the motherboard. So, that internal USB connection is not included in my SSDT.

I used @RehabMan 's guide. It's very detailed and includes a lot of information. Not all of the information will apply to each Hackintosh. The guide is very comprehensive and it's updated to reflect the methods that work with current OS X, kexts and MultiBeast. I did this a few years ago for another build and the methods, tools and kexts have changed. Go slow, write things down and keep hackintoshing.

Here's what I did. This was done shortly after a clean install of Mojave. Again, my notes are to myself as I created an SSDT for my USB ports.


Creating an SSDT for USB port mapping


RehabMan Guide: https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
RehabMan Download: https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads/

During the clean install of Mojave and Post Install with MultiBeast, I used the following for USB:
  • Drivers > USB > 7/8/9 Series USB Support

    This enables full USB 2.0 and 3.0 support on 7/8/9 Series motherboards. Installs FakePCIID.kext and FakePCIID_XHCIMux.kext to /Library/Extensions.

    FakePCIID_XHCIMux moves all HSxx ports to EH01/PR11 and EH02/PR21
———————————————————

USB Port Discovery/Mapping Phase
  • Edit config.plist to rename EHC1->EH01 and EHC2->EH02
    • Add “Patches” under DSDT (see image below)
  • Install USBInjectAll.kext to L/E with KextBeast
  • Restart to test and map the installed ports (test needs to be done in batches because of the 15 port limit on the XHC controller)
    • For just HS ports, boot with -uia_exclude_ss at clover boot screen
      • The HSxx ports never got used since the FakePCIID_XHCIMux moves all the USB 2.0 ports under XHC to the EHC controllers that get renamed to EH01 and EH02 and show up as HPxx ports
    • For just SS ports, boot with -uia_exclude_hs at clover boot screen
      • Without the HSxx ports, I could see all 6 of the SSxx ports and test them
Available Port Addresses

EH01/PR11/HP11-18
EH02/PR21/HP21-28
XHC/HS01-HS14
XHC/SS01-SS06

Used Ports

Power Switch (black): left-HP21 right-HP22
Front (blue): top-HP12 / * bottom-HP11 / SS01
Rear (black): top-HP23 bottom-HP24
Rear (blue): next to HDMI top-HP14 / SS04 bottom-HP13 / SS03
next to audio top-HP16 / SS06 bottom-HP15 / SS05

*should be SS02, but nothing shows up with USB 3.0, very odd, I’ll code for it anyway… wait, without SS02 I’m at 15… hmmm, I’ll just leave that one as USB 2.0 only to stay at 15

———————————————————

SSDT Creation Phase
  • Started with “SSDT-UIAC-ALL template” in MaciASL. This was cut-n-paste from https://github.com/RehabMan/OS-X-USB-Inject-All/raw/master/SSDT-UIAC-ALL.dsl into MaciASL
  • Removed all of the entries that didn’t correspond with the used ports above.
    • Kept
      • Hub1, Ports HP11-HP16
      • Hub2, Ports HP21-HP24
      • EH01, Port PR11
      • EH02, Port PR21
      • 8086_8xxx, Ports SS01, SS03-SS06
        • Left out SS02 to stay within the 15 port limit
        • The device-id for my XHC@14 controller was “b1 8c 00 00”. There was no corresponding “8086_8cb1” section in the template, so “8086_8xxx” was used
  • Kept track of the various brackets when cutting out the unused ports and controllers.
  • The text that remained was compiled and saved via File/Save As “SSDT-UIAC” in the Format of “ACPI Machine Language Binary”.
———————————————————

Final Install
  • Keep USBInjectAll.kext in L/E (if it’s removed, the new SSDT has no effect)
  • Place “SSDT-UIAC” in EFI/CLOVER/ACPI/patched
  • Restart
  • Check with IOReg
ZREGoVU.png

@RehabMan , am I correct that we are still limited to 15 available USB ports when we create an SSDT for USB? And its a function of the OS X?
 
Last edited:
Limit is 15 ports injected on XHC.

Do the HSxx ports that get moved over to EH01/PR11 and EH02/PR21 by FakePCIID_XHCIMux count against the 15 port limit? Or does the 15 port limit only go against the XHC?
 
Last edited:
Do the HSxx ports that get moved over to EH01/PR11 and EH02/PR21 by FakePCIID_XHCIMux count against the 15 port limit?

No. XHCIMux moves the ports to a different controller (EHCI and/or EHCI hubs).
The limit is in the xHCI kext and is specific to the ports on that controller only.
 
Hi :) I've not seen this kext before, and googling it hasn't come up with anything bar this post? Could you possibly link this to me? I have a Gigabyte RX Vega 64 and it's fan speeds often grow and grow, sit high for a bit then start wavering. iStat is reporting a GPU temperature of 40 degrees, so I think it's plenty cool. I've tried VegaTab.app without much luck.
I will upload the Kext. I can no longer find it on any of the sites.
Hi :) I've not seen this kext before, and googling it hasn't come up with anything bar this post? Could you possibly link this to me? I have a Gigabyte RX Vega 64 and it's fan speeds often grow and grow, sit high for a bit then start wavering. iStat is reporting a GPU temperature of 40 degrees, so I think it's plenty cool. I've tried VegaTab.app without much luck.
Attached is the kext. You must use the latest version of whatevergreen.
 

Attachments

  • CustomPowerPlay.kext.zip
    2.2 KB · Views: 80
This update broke my audio (AppleALC) again. :/
 
Guys ... let's have an honest conversation ... is it better if I buy a new AMD graphic card and throw away my nvidia gtx750ti ?
 
Guys ... let's have an honest conversation ... is it better if I buy a new AMD graphic card and throw away my nvidia gtx750ti ?

That would be a big fat yes! I certainly haven’t regretted it. Grab yoursef an RX580 and no more worries about updates. If I can do my video editing as smooth as butter on Adobe Premiere Pro with it, then you can definitely benefit with it for any other reason you have.
 
Last edited:
You must use the latest version of whatevergreen.

I read somewhere that Whatevergreen kext is closed source. I'd think twice. Anyway, my RX570 works fine without it :D

Buy USB Audio interface box, no drivers - Class compliant, and get rid of AppleALC. $60 for professional sound device :) Set CsrActiveConfig to 0x01 - more secure. Ideally, you can get by having just FakeSMC kext alone. Only paranoid survive :D
 
Last edited:
Status
Not open for further replies.
Back
Top