I’ve been tinkering with my ProArt X570 board this evening, trying to divvy up the available USB controllers (ignoring Thunderbolt) between the host and a virtual machine such that both have a few USB3 ports and at least one 3.2 Gen2 (10Gbps aka SuperSpeed+) port. Here’s what the spec sheet says about the eight Type-A ports on the rear I/O panel:
4 x USB 3.2 Gen 2 port(s) (4 x Type-A)
4 x USB 3.2 Gen 1 port(s) (4 x Type-A)
I’ve always assumed that the former were the four teal-colored ports and the latter were the four blue-colored ports. It also says this about the internal headers for the front I/O panel:
1 x USB 3.2 Gen 2 connector (support(s) USB Type-C®)
1 x USB 3.2 Gen 1 header(s) support(s) additional 2 USB 3.2 Gen 1 ports
Anyway, Linux shows two controllers in IOMMU group 23 and one controller in IOMMU group 47.
IOMMU Group 23:
3d:00.1 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
3d:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
IOMMU Group 47:
46:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
Omitting the USB 2.0 (root) hubs, the two controllers in group 23 correspond to these two entries in lsusb -t
:
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
And the controller in group 47 corresponds to this entry:
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
I figured one of them was for the Type-C internal header and the other two were for the four teal-colored Type-A ports on the rear I/O panel. So I started plugging a USB 3.2 Gen2 device into each of the five (documented) 10Gbps ports to figure out which was which.
Here’s where this finally gets interesting: all of those ports operate at 10Gbps, but none of them map to the controller in group 47! So what the heck is that “Bus 08” controller wired up to?? I double and triple-checked that it wasn’t attached to the Thunderbolt controller and that I didn’t have a second internal Type-C header or anything else funky going on. Finally, on a whim, I connected my test device into one of the blue Type-A ports:
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
|__ Port 2: Dev 6, If 0, Class=Mass Storage, Driver=uas, 10000M
Holy crap, right? It turns out all eight Type-A ports on the rear I/O panel operate at 10Gbps. (And yes, I confirmed it with a dd
speed test.) What kind of black voodoo magic is Asus using here and why aren’t they bragging about it on the spec sheet?? If anybody can corroborate my findings and sanity-check me here that would be greatly appreciated.
Unfortunately the two Type-A ports on the front I/O panel are stuck at 5Gbps, which is unsurprising, but I had to test it after this discovery. Now I kind of want to go around to every X570 and B550 system I have access to and check its Type-A ports…
TL;DR: At least one late-lifecycle “X570S” board from Asus provides faster-than-advertised USB Type-A ports on the rear I/O panel.