Contribute
Register

Stork's Thunderball II Build: ASUS ProArt Z490 Creator (Thunderbolt 3) - i5-10400 - RX 580

My new PC case arrived which has two front USB3 ports and 1 USB3 Type C port so the last few days I've been redoing my USB maps. I would also love to open up the conversation about usb mapping on this mb in general.

*Removed post*

USB MAP GUIDE IN POST #127
 
Last edited:
My new PC case arrived which has two front USB3 ports and 1 USB3 Type C port so the last few days I've been redoing my USB maps. I would also love to open up the conversation about usb mapping on this mb in general.

For those that haven't delved into the USB layout of this board it has two controllers:
  • JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] - Controls thunderbolt and the two USB-C SS (not HS) ports on the back. (4 ports total)
  • XHC - Controls all other ports. (26 ports total)
Here are all the ports listed under the XHC controller:
View attachment 511337

Unfortunately, we can only assign 15 ports to any single controller so we'll have to remove some...
I'm looking forward to your efforts. I haven't been in hurry to minimize my USB ports to meet the macOS 15 port limit (USB 2 = 1, USB 3 = 2). So you encouraged me to investigate how many USB 2 & USB 3 ports the Z490 Creator supports. Below is a screen snapshot from

Intel Z490 Chipset USB Specs.png

This shows the Z490 chipset can support 14 USB 2 and 10 USB 3 ports. Holy cow!

Well, the number of USB ports on the ProArt Z490 Creator motherboard are 15 in total. USB 2 has just four ports. USB 3 has 11. (The numbers from the User Manual, page vii.) Thus, we have a total of 25 USB ports (= (USB 2: 4 x 1) + (USB 3: 11 x 2)).

In the USB makeup there are two USB 2 and two USB 3 Headers (User Manual, pages 1-13 to 1-15). The Headers are usually used to provide access to PCIe cards and your case's Front Panel.

(More later.)
 
np abt the length of yr post, @ctek
lots of details; appreciate yr contribution
 
I'm looking forward to your efforts. I haven't been in hurry to minimize my USB ports to meet the macOS 15 port limit (USB 2 = 1, USB 3 = 2). So you encouraged me to investigate how many USB 2 & USB 3 ports the Z490 Creator supports. Below is a screen snapshot from

View attachment 511346
This shows the Z490 chipset can support 14 USB 2 and 10 USB 3 ports. Holy cow!

Well, the number of USB ports on the ProArt Z490 Creator motherboard are 15 in total. USB 2 has just four ports. USB 3 has 11. (The numbers from the User Manual, page vii.) Thus, we have a total of 25 USB ports (= (USB 2: 4 x 1) + (USB 3: 11 x 2)).

In the USB makeup there are two USB 2 and two USB 3 Headers (User Manual, pages 1-13 to 1-15). The Headers are usually used to provide access to PCIe cards and your case's Front Panel.

(More later.)
I absolutely agree that trimming down to 15 ports is no fun task. Since most peripherals (mouse, keys, webcam, sound card, etc.) are USB2 speed, putting most of my back ports to USB2 only is actually a great way to reduce the total ports. That way I can use my front panel and type C connectors for SS USB3+ speeds for stuff like flash drives and USB3 backup drives. But everyone's setup is different, and I respect that some people will have to take the USBInjectAll route when they have a bunch of connected devices.
 
Last edited:
USB Mapping Guide

As noted in the latest OpenCore Release (0.6.7) there is a potential issue with Big Sur 11.3 where a boot loop can happen when "XhciPortLimit" is set to "True" (You will likely have this set to true if you haven't made a USB map yet). There is no way to know if the issue will affect this board but it makes sense to have a USB map ready so we can disable this Kernel Quirk and be more future-proofed.

We now know that as of Big Sur 11.3 USB will be completely broken on this board when using USBInjectAll, so it's important to create a map before you update, if you are doing a fresh install of Big Sur I'd advice to start with a version older than 11.3 and update after you have a working usbmap.
Update: The only working ports are HS in the rear type-C ports.

1. Choosing 15 Ports:

Here are all ports on our motherboard:

usbmap.jpg

The maximum number of ports for any single controller is 15 so we need to decide which ports from the XHC controller we want to keep out of the potential 26 :crazy:. Our USB3 ports are actually two separate ports: USB2(HS) and USB3(SS). There are 3 ports we can ignore as they are not used by the macOS at all: HS12 (LED Controller), USR1 & USR2.

Now we need to make a list of all the HS and SS ports we want to keep, I recommend writing it down in note form. Here is what I went with as an example: HS01, HS02, HS03, HS04, HS07, HS09, HS10, HS11, SS01, SS02, SS03, SS04, SS07, SS09, SS10.

I removed ports 5 & 6 completely since they are the slowest. I also removed the HS capability from the Type-C ports on the back since only iOS devices use it for syncing, which I will do with my Front Panel type-c connector instead.


2. System Preparation:

ALWAYS HAVE A USB RECOVERY BOOT HANDY!! If you miss some of these files you may not be able to boot.

Files:

OC Config
  • Set Kernel/Quirks/XhciPortLimit to True
  • Make sure your config includes all the files we've added.
Restart Computer


3. Creating the map in USBMap:

Open USBMap.command and click "D" to discover ports. You should see a list of 30 items (26 + 4), if not then you may have missed something from the System Preparation section. Click "Q" to return to the main menu.

Now click "P" to Edit & Create USBMap.kext. I like to start by clicking "N" to remove all ports from the selection.
Then we're going to enter a comma separated list of all the ports we want to keep. e.g. "1,2,3".
We should now see Populated: XHC: 15, AppleUSBXHCITR: 4 at the bottom of this list.

Screenshot 2021-03-09 at 18.55.06.png


OK, we have a list of 15 ports, great! But don't break out the champagne, yet. Now we need to figure what the correct connector type is for each port, I am only going to cover the ports that are actually on this board (we don't have USB2 external ports).

"3" - USB3 Type-A
"9" - USB Type-C
"10" - USB Type-C where ACPI port changes if you flip the connector (Our internal USB3.1 header does this).
"255" - Internal (for Bluetooth only)

As you may have noticed from your USBMap list, all ports are set to type "3" which is USB 3 Type-A
Lets start by correctly setting our internal Bluetooth (port 9 / HS11) to "255"
T:11:255

Now lets add the Type C ports using type 9, like so:
T:13,14:9

Remember to set the Thunderbolt ports to Type C too:
T:27,28,29,30:9

Finally we need to deal with the Front USB3.1 header, set this to type 10:
T:7,23:10


4. Finishing up:

Now that you have a list of 15 XHC ports and 4 Thunderbolt ports with the correct connector type set we can generate our kext.

1. Click "K" Build USBMap.kext, which will create a USBMap.kext file in the "Results" folder of USBMap.
2. Copy "USBMap.kext" to OC/Kexts
3. Remove: USBInjectAll-400series-Dren.kext
4. Set Kernel/Quirks/XhciPortLimit to False (V Important)
5. Update config to reflect these changes.

Restart

5. Confirming it Works:

System profiler:
Screenshot 2021-03-10 at 10.25.57.png


USBMap after applying the new map we created

Screenshot 2021-03-10 at 10.26.10.png


Congrats, now you have a fully working USBmap :headbang:


Final Thoughts:

I have always used a different app to make USB maps (Hackintool), the GUI is a lot cleaner and easier to understand. The reason I made this guide with USBmap was because the Thunderbolt ports will not show up in Hackintool without removing the TB3 Hot swap SSDT. Creating a map in Hackintool will essentially omit the entire Thunderbolt controller in a kind of "ignored" state, this means the rear USB3 type C will still work but won't be listed in system profiler. I wish I knew more to know where the line between cosmetics and functionality lie between the two methods but based on all my research I am confident this is the best approach.

---

More to come, feel free to leave suggestions on how I can improve it. Apologies for grammar / formatting.

References: https://dortania.github.io/OpenCore-Post-Install/usb/#macos-and-the-15-port-limit

EDIT: The front USB 3.1 Header changes ACPI port (HS07/SS07) depending which way you plug it in.
Set HS07 and SS07 to type 10 instead of 9.

EDIT: Noted that rear usb type c ports still work at HS speeds without a usbmap (useful for recovery).
 
Last edited:
And that's me 100% done for now so thought I'd share a couple of pics of the completed build if that's ok:
Upgrading from an ASUS Z97-WS / 4790K which feels like this board's grandpa :headbang:

IMG_7694.jpeg

Screenshot 2021-03-10 at 11.06.11.png


Case: Lian Li O11 Dynamic Mini
 

Attachments

  • IMG_7700.jpg
    IMG_7700.jpg
    3 MB · Views: 107
Last edited:
thought I'd share a couple of pics
Finally, an all black Noctua fan(s) and cooler ! The butterscotch and tan colored fans just wouldn't cut it here in your system. That's a build you can be proud of.
 
Finally, an all black Noctua fan(s) and cooler ! The butterscotch and tan colored fans just wouldn't cut it here in your system. That's a build you can be proud of.
Thank you. I was really unsure about doing another hack given the climate, but I was due an upgrade and I think this will have a good life. I figured why not go all in on my last hack ;)
 
Last edited:
Updated to OC 0.6.7:
Updated fine but you will need to do an NVRAM reset at the boot loader menu, then set your BIOS boot priority again.
- the version number held in NVRAM didn’t get updated (universal issue).

Updated to Big Sur 11.2.3:
Updated fine.
 
Last edited:
Hi, getting stuck at AppleNVMe Assert failed and many RHUB acpi errors.
IMG_2786.jpg

Here is the hardware:
i9-10900
Samsung 970 EVO 1TB M.2
Asus ProArt Z490-CREATOR 10G (Bios version 2004)
AMD Radeon VII 16 GB

Already reading for two days and tried different configs and EFI folders but not getting past this.

Attached my config file and using OpenCore 0.6.7

Any directions are welcome.
Thanks!
 

Attachments

  • config.plist
    27 KB · Views: 82
Back
Top