Contribute
Register

The New Beginner's Guide to USB Port Configuration

Joined
Jul 17, 2014
Messages
404
Motherboard
ASUS Maximus VII Gene
CPU
i7-4790K
Graphics
RX 580
Mac
  1. MacBook Air
  2. Mac mini
Classic Mac
  1. PowerBook
Mobile Phone
  1. iOS
Hey all!
Got my USB Map created. I have 14 XHC ports allotted, and my system automatically allots one EHC port/hub...

Can I safely map one more XHC port? I literally have one more internal port I’d like to map if it won’t put me over the 15 limit.
 

Attachments

  • 7CC83E53-8140-4682-8951-68C2512D4361.png
    7CC83E53-8140-4682-8951-68C2512D4361.png
    275.5 KB · Views: 24
Joined
May 22, 2011
Messages
401
Motherboard
Lenovo m90q Tiny
CPU
i7-10700
Graphics
UHD 630
Mac
  1. MacBook Pro
What should we do if we are running Big Sur? Are there any port limit patch?
 
Joined
Mar 15, 2013
Messages
37
Motherboard
Gigabyte Z390 M Gaming
CPU
i5 9600k
Graphics
Sapphire Radeon Nitro+ RX 580 8GB
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Classic Mac
  1. Power Mac
Mobile Phone
  1. iOS
Setting up Big Sur and trying to get this usb mapping done. But at a loss. Here is what I have so far on the mapping and whats missing. Also looks like more then one controller.
This is on a MSI z97 Gaming 7 board.
Rear headers.png
Motherboard.png
Screen Shot 2020-11-22 at 9.59.20 AM.png
Screen Shot 2020-11-22 at 9.59.39 AM.png


Thanks.
 

Attachments

  • Rear headers.png
    Rear headers.png
    510.4 KB · Views: 18

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
6,580
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. Android
@UtterDisbelief you mentioned this,

OC 0.6.3 has USBInjectAll.kext 0.7.6. Is this an approved kext to use to create the USB port Configuration?

The source code is freely available and I believe 0.7.6 was created by another moderator here to accommodate new system definitions. I don't think any proper bug-fixing was done, sadly, so there's a good chance the problems with 0.7.5 persist.
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
6,580
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. Android
Setting up Big Sur and trying to get this usb mapping done. But at a loss. Here is what I have so far on the mapping and whats missing. Also looks like more then one controller.
This is on a MSI z97 Gaming 7 board.
View attachment 497713View attachment 497714View attachment 497715View attachment 497716

Thanks.

Hi. You have both USB 2.0 and USB 3.0 Intel controllers in the Z97. Plus more USB 3.0 ports provided by an ASMedia piggyback controller. Hence the large array of ports.

Hackintool can't see the PXSX ports so gives you the rest. That is why some physical ports do not show when you test them.

Just map the ports you can see and use.
 
Joined
Mar 15, 2013
Messages
37
Motherboard
Gigabyte Z390 M Gaming
CPU
i5 9600k
Graphics
Sapphire Radeon Nitro+ RX 580 8GB
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Classic Mac
  1. Power Mac
Mobile Phone
  1. iOS
Hi. You have both USB 2.0 and USB 3.0 Intel controllers in the Z97. Plus more USB 3.0 ports provided by an ASMedia piggyback controller. Hence the large array of ports.

Hackintool can't see the PXSX ports so gives you the rest. That is why some physical ports do not show when you test them.

Just map the ports you can see and use.
But on the mapping of the ports would I have to include the ASM107x and the IOUSBHostDevices in with the mapping? EHC1 has IOUSBHostDevices on one port & EHC2 also has that. In if so does the EHC need renamed?
Im running 0.6.3 Opencore boot loader also.

Thanks again
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
6,580
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. Android
But on the mapping of the ports would I have to include the ASM107x and the IOUSBHostDevices in with the mapping? EHC1 has IOUSBHostDevices on one port & EHC2 also has that. In if so does the EHC need renamed?
Im running 0.6.3 Opencore boot loader also.

Thanks again

Ignore the ASM ports. They will appear in the RP** section of the IORegistryExplorer tree.

Usually a system like yours divides the EHC (USB2) ports as 6 and 4 per controller. The USB 3 ports are usually on the XHC controller. Interestingly USB3 ports can also act perfectly well as USB2 so each port actually consists of two virtual ports. This becomes bewildering to understand!

Test each port you can with both a USB3 memory stick and a USB2 memory stick. Record which ports light up for which. This forms the info you need to map them properly in Hackintool. Try to steer clear of the worry about which controller is which. Just go with what you see and need, then delete the others in Hackintool to create your SSDT/USBPorts.kext.

:)
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
6,580
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. Android
What should we do if we are running Big Sur? Are there any port limit patch?

Hi there.

There is now an OC Quirk which is used for the port limit removal and I have highlighted it in the Guide.

Although I know the latest Clover builds are now hybrid Clover/OpenCore code I have not seen or found a direct ACPI patch for Big Sur.
 
Joined
May 22, 2011
Messages
401
Motherboard
Lenovo m90q Tiny
CPU
i7-10700
Graphics
UHD 630
Mac
  1. MacBook Pro
Hi there.

There is now an OC Quirk which is used for the port limit removal and I have highlighted it in the Guide.

Although I know the latest Clover builds are now hybrid Clover/OpenCore code I have not seen or found a direct ACPI patch for Big Sur.

Hi,

Thanks I figured out the quirk was made for that later, however it wasn't working on my system.

I ended up using these flags in combination of Hackintool + USBInjectAll

Code:
# uia_include=HS04: to keep HS04 working for mouse/keyboard when using -uia_exclude_hs
# -uia_exclude_hs: excludes all HSxx ports
# -uia_exclude_ss: excludes all SSxx ports

to get all my ports discovered, highlight those I wanted to keep and generate and SSDT.

We shouldn't botter having USB Port Limit patch with these
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
6,580
Motherboard
Gigabyte Z490i Aorus Ultra - OC 0.6.8
CPU
i5-10600K
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. Android
Hi,

Thanks I figured out the quirk was made for that later, however it wasn't working on my system.

I ended up using these flags in combination of Hackintool + USBInjectAll

Code:
# uia_include=HS04: to keep HS04 working for mouse/keyboard when using -uia_exclude_hs
# -uia_exclude_hs: excludes all HSxx ports
# -uia_exclude_ss: excludes all SSxx ports

to get all my ports discovered, highlight those I wanted to keep and generate and SSDT.

We shouldn't botter having USB Port Limit patch with these

Yes, USBInjectAll can include or exclude ports, and this was the "old" way to actually see the ports available - exclude all the USB 2 ports to then see all the USB 3 ports. Good work :thumbup:.

Sadly Big Sur is really turning the screws on third-party kexts and things will only become more difficult going forward. The proper way to configure ports is to rewrite the USB section of the hardware's DSDT table. This is partly what the OC Quirk does. It means writing the necessary XML code and merging it in during boot. I experimented with this a year or so back and it works perfectly. The problem is, it isn't easy to do. If you wish to have a look yourself, dump the DSDT of your system using a Clover bootloader and then check the resulting files for the one with all the USB data in it.

:)
 
Top