Contribute
Register

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

Is what really necessary? It really just depends on what works for you.
On the topic of USB mapping and such:

I just completed this build and none of my USB ports are recognizing an external hard drive. I'm able to use my USB keyboard/mouse just fine, and my TB3 ports are functioning. For some reason, the USB ports just won't recognize a USB external hard drive. Does this mean I will need to do the USB mapping process from Dortania?
 
On the topic of USB mapping and such:

I just completed this build and none of my USB ports are recognizing an external hard drive. I'm able to use my USB keyboard/mouse just fine, and my TB3 ports are functioning. For some reason, the USB ports just won't recognize a USB external hard drive. Does this mean I will need to do the USB mapping process from Dortania?
That's what I would do or you could try Hackintool with the caveat that the XHCIPortLimit kernel quirk doesn't work in later versions of Big Sur.

the-new-beginners-guide-to-usb-port-configuration.286553
 
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:

View attachment 511825
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.

View attachment 511826

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:
View attachment 511827

USBMap after applying the new map we created

View attachment 511848

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).

<SOLVED>
When running USBMap, the TB3 ports are not detected at all. I have double and triple-checked that I am following the system preparation section correctly, and I am. Is that section still correct with the latest OpenCore and BigSur updates? Could there be a BIOS setting I missed? I have followed Stork's guide thoroughly.

EDIT: I noticed in Post #198, Stork recommends disabling his TB3 ACPI. I initially included this (per your instructions), could this be why those ports didn't show up for me in USBMap?

EDIT EDIT: **I figured it out! Somehow I completely missed the notice during install that the Hyperlan 10GBe card disables TB3. I removed the card, TB3 populated just like it's supposed to, and I now have a perfectly working USB map!
 
Last edited:
Special thank you to @ohchang and @CaseySJ for getting Ethernet to work with Catalina and Big Sur. Since I'm using my WiFi, I didn't notice this change was needed until I saw the below post.


I'm on Big Sur 11.5.2. So...

Using OpenCore Configurator, change the device ID's to F3158680:
View attachment 522273
Now remove the FakePCIID and FakePCIID_Intel_I225-V kexts by unchecking (unabling) them in the Kernel section:
View attachment 522274
Finally, make sure the i225-v kernel patch is disabled. It should look like this:
View attachment 524186
For Thunderbolt users, @CaseySJ recommends the following changes in addition to the above:
  • BIOS Setup --> Enable Vt-d
  • config.plist --> NVRAM >Boot Arguments --> Remove "dart=0" (not 'debug=0x100')
  • config.plist --> Booter --> Keep DevirtualiseMmio checked ON
  • config.plist --> ACPI --> Disable the Thunderbolt SSDT

View attachment 524190
View attachment 524187
View attachment 524188


Save.

Now reboot. Upon rebooting, at the OC boot picker, hit keyboard Spacebar and choose Reset NVRAM.

Enjoy your Ethernet.

Now, next time you update your OC, be sure to remove the two kexts from your config.plist. :thumbup:

I am a little confused by this post.
Some posts after this one, users refer to the TB3 SSDT but in this post someone suggest disabling it. I am using Big Sur 11.5.2 now. What changed?

Here's also a video of my other build from a few months ago (Catalina). Thanks for the guide!
 
Hey. Been too busy to update my rig but today I updated from OC 0.7.1 to 0.7.4 and I can’t boot anymore. I carefully used OCconfigcompare to check the newest sample plist which has always worked.

Once I click Big Sur I get a black screen for 3s then it takes me back to the picker, no logs. Big sigh!

Before I start pulling out my NVMe drive to have a detailed look at the config I thought I’d ask here in case anyone ran into the same issue

Update: FIXED

I missed something in OCconfigCompare, The UEFI/drivers section has a new format:

My old config:
Screenshot 2021-11-03 at 16.04.34.png


Fixed Config:
Screenshot 2021-11-03 at 16.05.45.png
 
Last edited:
<SOLVED>
When running USBMap, the TB3 ports are not detected at all. I have double and triple-checked that I am following the system preparation section correctly, and I am. Is that section still correct with the latest OpenCore and BigSur updates? Could there be a BIOS setting I missed? I have followed Stork's guide thoroughly.

EDIT: I noticed in Post #198, Stork recommends disabling his TB3 ACPI. I initially included this (per your instructions), could this be why those ports didn't show up for me in USBMap?

EDIT EDIT: **I figured it out! Somehow I completely missed the notice during install that the Hyperlan 10GBe card disables TB3. I removed the card, TB3 populated just like it's supposed to, and I now have a perfectly working USB map!
Glad you got it working. I managed to get the best of both worlds by putting the 10G LAN card into PCIE16_2 (instead of 3), this means I have full thunderbolt functionality AND full 10G LAN functionality. The only caveat is that my GPU is running in 8x instead of 16x but I noticed no change in performance even gaming at high FPS @ 1080. Maybe if I get an RX6xxx GPU I will need to revisit this and remove the LAN card and get a thunderbolt one, but for now it's been working perfectly.

Screenshot 2021-11-03 at 16.30.47.png


Side note: using the latest BIOS for a few months with zero issues.
 
Last edited:
Hi all, don't know if I ever chimed back but setting the BIOS Thunderbolt OS Configuration to Enable + RTD3 fixed all my TB3 and USB C issues! It's odd cause that refers to windows 10 (and we are not using that) and I always had it disabled on previous bios versions!
The last problem is when the screen goes to sleep. I have to unplug my HDMI cable to have the screen again
add igfxonln=1 as a boot flag, it is also mentioned in the dortania guide for igpu fixes

Side note: using the latest BIOS for a few months with zero issues.
If it's been a few months, you might not be on the latest latest. The issue I faced, to be precise, was, with Windows and OpenCore on the same drive and EFI, even if I set OpenCore as the first priority in the list, it will automatically boot Windows that is the second priority. This only began with the newest newest bios, 2301
 
@Stork
Hi Stork, I just read your installation thread on the Asus ProArt Z490 Creator 10G.

I spent the last two weeks trying to get thunderbolt working on another rig, without success.

I want to connect a UAD Apollo Twin X Audio Interface. As far as I understand your built, this should not be a problem, should it?

Going for the Asus ProArt Z490 Creator 10G , I can use my old CPU (i9 10850K), the Memory DDR4 Dimms, and the Samsung M.2 SSD on it.

That way I wouldn't burn too much money swapping the boards.

Does your CPU allow iGPU and have you used iGPU on the Mainboards HDMI or Displayport connector?
 
...
Does your CPU allow iGPU and have you used iGPU on the Mainboards HDMI or Displayport connector?
I haven't use the iGPU capability. Although, I have it "turned on" in the BIOS, the RX 580 meets my requirements.
 
I want to connect a UAD Apollo Twin X Audio Interface. As far as I understand your built, this should not be a problem, should it?
Can confirm on the UAD working with this board. Have done it with a build
 
Back
Top