Contribute
Register

The New Beginner's Guide to USB Port Configuration

Now we know what the disk designation is we can mount that hidden EFI partition using the magic of Terminal commands:

Code:
sudo mkdir /Volumes/EFI

sudo mount -t msdos /dev/disk0s1 /Volumes/EFI
Why are you using those commands? Why aren't you using:

Code:
sudo -s

diskutil list 

diskutil mount diskXsY 
    (X = drive number, Y = EFI partition number)

Doesn't the EFI partition already exist? It kind of seems unnecessary to be making the directory if it already exists. I think it could be shortened down to what I posted above. It's not damaged or something, is it?
 
Is the port limit removal patch required for Sierra?
 
I just noticed the USB 3.0 ports on the back of my motherboard do not work. Even with the Third Party USB 3.0 driver installed from MultiBeast.

What do I do about this?

If it helps, one of the ports on the front USB 3.0 header on my motherboard does work, but not the other.

Edit- Managed to get the USB 3.0 ports at the rear of the motherboard working in/with Yosemite using a default MultiBeast DSDT free config. Not sure how to get these working with later versions of OS X/macOS.

Even though the ports work, I can't use the Hackintool to identify which port is what, because every time I try and open it in Yosemite it say something about, "Hackintool cannot be opened because of a problem. ".

Is there an early revision of the Hackintool?

Edit2- Managed to get the USB ports working in El Capitan. However, not on their own. I had to be booted into the installed OS drive with the aid of the UniBeast installer USB. Now here's the weird part. When I plugged the USB drive into the USB 3.0 ports, then showed up on the desktop, but NOT in Hackintool. So, they work, but their not showing up for some reason. Any ideas?
 
Last edited:
@Injury

PLRP = Port Limit Raise Patch.

You sound like you are making life difficult for yourself. When undertaking something important like USB port configuration, you should do the following:

System Setup:
  1. Disconnect any drives other than your main macOS drive,
  2. I assume you boot from the main drive and that it is macOS El Capitan (or newer).
  3. Disconnect any USB devices, other than your Keyboard and Mouse.
Config.plist setup:
  1. Add these Rename patches to the ACPI section of your config.plist:
    1. Change EHC1 to EH01
    2. Change EHC2 to EH02
    3. Change XHCI to XHC_
  2. Make sure you are not using the ACPI > FixUSB=true option in your config.plist
  3. Make sure you are not using the ACPI > Drop OEM _DSM > USB=true option in your config.plist
  4. Add the 'Port Limit Raise Patch' to the Kext and Kernel section of your config.plist, assumed you are booting macOS El Capitan: (this patch is available from the dropdown list in Clover Configurator)
    1. <key>KernelAndKextPatches</key>
      <dict>
      <key>KextsToPatch</key>
      <array>
      <dict>
      <key>Find</key>
      <data>g72M/v//EA==</data>
      <key>Name</key>
      <string>AppleUSBXHCIPCI</string>
      <key>Replace</key>
      <data>g72M/v//Gw==</data>
      <key>Disabled</key>
      <false/>
      <key>Comment</key>
      <string>change 15 port limit to 26 10.11.x</string>
      <key>MatchOS</key>
      <string>10.11.x</string>
      </dict>
      </array>
      </dict>
  5. Remove any and all USB relatedthird-party kexts, i.e. kexts you have installed when trying to fix your USB ports, especially the USB3 ports, check these three locations.
    1. /EFI/CLOVER/kexts/Other or Numbered OSX folders
    2. /Library/Extensions (/L/E) folder
    3. /System/Library/Extensions (/S/L/E) folder.
  6. If you have to remove any kexts from the /L/E or /S/L/E folders remember you need to repair permissions and rebuild the kext cache. You need to do this BEFORE you reboot your system.
Once the above has been checked, fixed and setup, you need to reboot your system to clear any previous settings.

Hackintool App:
  1. After rebooting your system - Open Hackintool App and navigate to the USB tab.
  2. Select the 'Clear' icon, the sweeping broom icon.
  3. Then select the 'Refresh' icon, pair of semi-circular arrows.
This will give you a clean shot at discovering all your Intel USB ports.

If you have any Asmedia, Fresco Logic or other USB controllers in your system they will not form part of the USB port discovery you are about to commence.

Now you need to follow the guide in the first post, check each port with a USB2 and a USB3 pen drive. Note which port appears when each pen drive is inserted. Do this on a piece of paper or within the Hackintool App, if you 'right-click' in the comments column you can note which port is which on your case and the rear I/O plate. An example of a USB port configuration for a Z97X-UD5H in a Fractal Design case is shown below.

Screenshot 2021-01-27 at 22.10.27.png Sample of configured USB ports for Z97 Haswell system, using just the XHC controller.

Note, where Hackintool shows a Connection Type as 'Reserved' this equates to an 'Internal' motherboard header port (USB2).
 
If you have any Asmedia, Fresco Logic or other USB controllers in your system they will not form part of the USB port discovery you are about to commence.

Great summary. :thumbup:

I just checked and it seems the Asus Z97 WS motherboard does indeed have an ASMedia controller piggy-backing on the Intel. There appear to be 5x Intel USB3 ports and 5x ASMedia USB3 ports. This will be why some ports work and some don't, and also why Hackintool can get confused.

The old GenericUSBXHCI.kext - which MultiBeast used to activate third-party controllers - was last updated in 2015, and you would expect it to work with El Capitan. However I guess the exact ASMedia chipset involved has a bearing, but that's not shown on the Asus site.

:)
 
Hi, I'm back! I thought I was done back here, but it seems I can't stay away......

Previous setup and discussion: https://www.tonymacx86.com/threads/...to-usb-port-configuration.286553/post-2145201

So, in summary, I had an Utter Disbelief approved setup in Clover with the exception of HP 11 and HP 13 which I couldn't get rid of. But hey, I was happy. Until....

I recently moved to Open Core with the help of Edhawk in this loooong thread: https://www.tonymacx86.com/threads/graphics-corruption-60hz-on-dp.304330/

However, as that thread shows, I've had problems with my USB since migration, mainly:

  • USB init beeps: When my iPads (two) are attached they beep when USB is initialized during the startup. Under Clover both devices beeped ONCE during that startup, when the progress bar was about half-way done (under the middle of the Apple logo). Now with OC, I get the iPad on the EH01 controller beeping once at the very start of the boot process/progress bar, then again when the progress bar is at the mid-point (same as Clover), for a total of two times (one more than before). For my iPad on the XHC controller, I get an additional (total of three!) beep, with the third beep just after the 2nd beep (just after half-way point). I know this is wrong for sure!

  • Wake from SLEEP: If my computer goes to sleep, four things happen on wake:
    • I get a notice of "Disk not ejected Properly" for my USB HD, and my USB flash drive.
    • USB HD: Comes back after wake.
    • USB Flash drive: No longer seen by system after wake.
    • While not USB related I notice my default NIC no longer works after wake, I need to reset to get it back.

I redid my port mapping from scratch within Open Core and the latest version of Hackintool, and it now looks the same as my previously working Clover setup, except, I have the problems listed above. I'm thinking the problem is not/not USBPorts.kext related?

thanks,
RDP
 

Attachments

  • Screen Shot 2021-02-20 at 17.44.04.png
    Screen Shot 2021-02-20 at 17.44.04.png
    376.1 KB · Views: 31
  • USBPorts.kext.zip
    1.7 KB · Views: 30
Thanks for this guide UtterDisbelief.

I'm on Catalina with Clover and I've been following your guide and run into an issue, I had GenericUSBXHCI.kext installed before but removed it, repaired all permissions and then disconnected all other external and internal drives etc, installed USBInject, enabled the portlimit removal patch and rebooted.

The trouble is I dont get any power to my USB 3.0 hubs on my MOBO (Rampage 4 Black Edition with Asmedia piggybacking USB + 2 extra usb3.0 ports on front of the case that are connected) I only get power to the usb 2.0, with GenericUSBXHCI installed previously I was getting power to 4 of the usb 3.0 ports. I also have a Inateck 4 port FL1100 expansion installed.

Whats a way around this to be able to test which hub is which?

My main issues other than the complete mess of USB port listings, is that I was getting lower speeds on USB 3.0 ports that worked with GenericUSBXHCI, and so I want to tidy everything up and have it set properly so it hopefully helps me get the proper speeds.

I also dont have any XHC headings in IORegistry, only a few Apple ones. I've tried doing a rename patch with Clover Configurator but my machine wont boot if I do that, so have stayed away from renaming.

I have attached some screenshots from hackintool and IO registry if it sheds any light.

Thanks for any help, appreciate all the work you have put into the guide!

hackintool 01.png

hackintool contr cont 01 2.png

hackintool 02.png

IORegistry .png

ioregistry xhc.png
 
Thanks for this guide UtterDisbelief.

I'm on Catalina with Clover and I've been following your guide and run into an issue, I had GenericUSBXHCI.kext installed before but removed it, repaired all permissions and then disconnected all other external and internal drives etc, installed USBInject, enabled the portlimit removal patch and rebooted.

The trouble is I dont get any power to my USB 3.0 hubs on my MOBO (Rampage 4 Black Edition with Asmedia piggybacking USB + 2 extra usb3.0 ports on front of the case that are connected) I only get power to the usb 2.0, with GenericUSBXHCI installed previously I was getting power to 4 of the usb 3.0 ports. I also have a Inateck 4 port FL1100 expansion installed.

Whats a way around this to be able to test which hub is which?

My main issues other than the complete mess of USB port listings, is that I was getting lower speeds on USB 3.0 ports that worked with GenericUSBXHCI, and so I want to tidy everything up and have it set properly so it hopefully helps me get the proper speeds.

I also dont have any XHC headings in IORegistry, only a few Apple ones. I've tried doing a rename patch with Clover Configurator but my machine wont boot if I do that, so have stayed away from renaming.

I have attached some screenshots from hackintool and IO registry if it sheds any light.

Thanks for any help, appreciate all the work you have put into the guide!

View attachment 510002
View attachment 510003
View attachment 510005
View attachment 510006
View attachment 510007

Hi there.

First up, the x79 does not have native XHCI, only EHCI.

The ASMedia chipset gives you USB3 and can be - perhaps - activated using GenericUSBXHCI. However it's not guaranteed because the kext was last updated 2015 and knows nothing of Catalina's security. The 1042 is one chip it was designed to work with.

That it gave you power to the ports is a good sign :thumbup:

The card with Fresco Logic FL1100 is still native so should work as intended.

You can modify power delivery using an SSDT and Hackintool might output one for you along with an embedded controller. Export as SSDTs and see.

Depending on how proficient you are at SSDT edits you can alter power delivery for the ASMedia, but it's not easy. The ports should be in IOReg around the PXSX nodes.
 
Back
Top