Become a MacRumors Supporter for $25/year with no ads, private forums, and more!

Anonymous Freak

macrumors 603
Original poster
Dec 12, 2002
5,458
916
Cascadia
After quite a bit of testing, I have concluded that the USB bus on at least my Mac mini M1 does not actually support "USB 3.1 Gen 2 (up to 10Gb/s)" as listed on the Tech Specs page.

I have a Samsung T5 USB-C SSD. It supports "USB 3.1 Gen 2 10Gb/s" (Gawd, I hate USB 3.1+ naming conventions...†)

When I plug it directly to one of my 16" MacBook Pro's ports via USB-C-to-USB-C cable, it connects at 10 Gb/s
Screen Shot 2020-11-18 at 8.57.16 PM.png

When I connect it to my new M1 mini, on the other hand.... If I go through my Thunderbolt 3 Dock, it connects at the full 10 Gb/s:

Via TB3 Dock.png

But if I connect directly to the other Thunderbolt 3/USB-C port, it only connects at 5 Gb/s, yes, using the same USB-C-to-USB-C cable as both previous connections:
TB3 next to Dock.png

If I unplug the TB3 Dock (who knows, maybe it's "using up the bandwidth" and forcing the USB controller to drop speeds?) and have the SSD as the only thing plugged in to either TB3 port, still only 5 Gb/s:
TB3 Alone.png

The Thunderbolt 3 Dock does connect at its proper 40 Gb/s Thunderbolt speed, though. But if you were hoping for 10 Gb/s via USB 3.1 Gen 2... Forget about it.

† For full confusion, the USB Implementers Forum has completely screwed up all naming conventions as it comes to USB after USB 3.0 came out. 5 Gb/s is variously called "USB 3.0 SuperSpeed", "USB 3.1 Gen 1", and "USB 3.2 Gen 1". 10 Gb/s is variously called "USB 3.1 Gen 2" and "USB 3.2 Gen 2". The latest standard, 20 Gb/s, is "USB 3.2 Gen 2x2". And with USB4 (yes, just "USB4", not "USB 4.0"...) they keep all the old names for those old speeds - BUT - USB4 also adds "USB4 Gen 2x2" as another 20 Gb/s protocol (technically different electrically, even though it's the same speed!) and "USB4 Gen 3x2" for the new 40 Gb/s speed. And this is why Apple shouldn't be allowed to advertise the new M1 Macs as "USB 4" - because USB4 requires support for both the 10 Gb/s speed and the 20 Gb/s speed. Apple doesn't even claim the 20 Gb/s speed, only the 10 Gb/s, which doesn't work for me. USB4 also has Thunderbolt 3 support as optional, which Apple does at least have. But they should be calling the ports "Thunderbolt 3 / USB 3 5 Gb/s", not "USB4 / Thunderbolt 3"
 

throAU

macrumors 604
Feb 13, 2012
7,420
5,185
Perth, Western Australia
Could be related to USB4 vs. USB 3.x spec.

USB 3.1 Gen 10 GB is I think multi-lane (2x 5GB lanes - it's also called USB 3.1 Gen 2x2 for 10 GB I think), maybe USB4 is not.

USB4 is very similar to thunderbolt, and it may not work in a backwards compatible way with USB3.x in multi-lane.

Which means a single lane at USB 3.x will only get you 5 gigabit, despite the USB4 interface being faster (in a single lane) - but only when running in "USB 4" mode with a USB4 device.


Would also explain why you get full speed through the dock - you're going thunderbolt to another USB 3.x controller on the dock which DOES operate in multi-lane mode.


edit:
And I agree. the USB naming standards are deliberately designed by committee to cause confusion - so that OEMs can sell last year's product as "USB 3.2" or whatever with the original spec from USB 3.0.

The names don't just not make sense - they have actually re-named the same spec to a later version with a "gen1" on it.

i.e., if I recall properly, USB 3.2 gen1 is actually the exact same thing as USB 3.0. And USB 3.1 gen1.
 
Last edited:

Anonymous Freak

macrumors 603
Original poster
Dec 12, 2002
5,458
916
Cascadia
Yep, USB naming is a nightmare.

The thing is, to use the "USB4" name, it *SHOULD* support the same 10 Gb/s on the ports Apple labels "USB 3.1 Gen 2 (up to 10Gb/s)" as through the Thunderbolt 3 dock as to direct to my 16" MacBook Pro. It doesn't.
 

Anonymous Freak

macrumors 603
Original poster
Dec 12, 2002
5,458
916
Cascadia
@Anonymous Freak which dock do you use?

HP G2 Thunderbolt Dock

I have two of them, one with the "Audio Module" (basically a USB speakerphone, REALLY good quality) and one without the module. Normally the one with the module is for home, the one without is for work (where I use a headset, not speakerphone,) but since I'm working from home full time thanks to COVID, I brought the second one home.
 
  • Like
Reactions: dabotsonline

torncanvas

macrumors regular
Feb 14, 2006
120
72
I would definitely contact Apple about this, because that is seriously misleading. This is early days, though, there still could be some kind of OS-level issue going on.
 
  • Like
Reactions: OSX15

Heatboy

macrumors member
Nov 16, 2018
41
19
Denmark
OK, this is interesting. I am considering buying a MBA/16GB RAM/512 SSD/, as a transition machine, to sort of replace my late 2018 MBP i9/32GB RAM/VEGA20 – and my thought was to keep all my heavy video and capture one stuff on an external OWC TB3 Express 2TB SSD. That way, I can stick with 512GB SSD on the MBA. However, if the USB ports are slower than on my MBP 2018, that won't work, as it will be too slow.

Does anyone have an external SSD that sustains read speeds of around 1.000 Mb/sec, that can test this? (Samsung T7, Sandisk Extreme Pro etc.)
 
  • Like
Reactions: Slowbutsteady

torncanvas

macrumors regular
Feb 14, 2006
120
72
OK, this is interesting. I am considering buying a MBA/16GB RAM/512 SSD/, as a transition machine, to sort of replace my late 2018 MBP i9/32GB RAM/VEGA20 – and my thought was to keep all my heavy video and capture one stuff on an external OWC TB3 Express 2TB SSD. That way, I can stick with 512GB SSD on the MBA. However, if the USB ports are slower than on my MBP 2018, that won't work, as it will be too slow.

Does anyone have an external SSD that sustains read speeds of around 1.000 Mb/sec, that can test this? (Samsung T7, Sandisk Extreme Pro etc.)
Thunderbolt is still full speed as mentioned. It’s non-Thunderbolt USBC that is slower, at least on that one machine, on that OS version, with that device.
 

Heatboy

macrumors member
Nov 16, 2018
41
19
Denmark
Thunderbolt is still full speed as mentioned. It’s non-Thunderbolt USBC that is slower, at least on that one machine, on that OS version, with that device.
Oh yeah, that's right – but what are the external SSD speeds of the never external Gen 2 SSD's?
 

joevt

Contributor
Jun 21, 2012
4,060
2,099
The Thunderbolt 3 Dock does connect at its proper 40 Gb/s Thunderbolt speed, though. But if you were hoping for 10 Gb/s via USB 3.1 Gen 2... Forget about it.
Did you use a benchmark to make sure the "Up to 5 Gb/s" is accurate?

I know the ASMedia ASM1142 XHCI controller has a bug where it reports "Up to 5 Gb/s" even though the disk is obviously connected at 10 Gbps (benchmark shows ~750 MB/s).
If your drive is limited to less than 500 MB/s from direct connection, but can get over 700 MB/s from the Thunderbolt dock, then you can be sure it is reporting accurately.


Could be related to USB4 vs. USB 3.x spec.

USB 3.1 Gen 10 GB is I think multi-lane (2x 5GB lanes - it's also called USB 3.1 Gen 2x2 for 10 GB I think), maybe USB4 is not.
USB 3.1 gen 2 10 Gbps is single lane. (USB 3.2 gen 2x1)
USB 3.2 gen 1x2 is 5 Gbps dual lane = 10 Gbps.
USB 3.2 gen 2x2 is 10 Gbps dual lane = 20 Gbps.

I don't think dual lane is being used. USB 3.2 dual lane is optional for USB4 so we don't know if it's an option on the M1 Macs.

Would also explain why you get full speed through the dock - you're going thunderbolt to another USB 3.x controller on the dock which DOES operate in multi-lane mode.
The Thunderbolt Dock is full speed because it has a separate USB 3.1 gen 2 controller inside the Titan Ridge Thunderbolt controller of the dock. It is connected to the M1 Mac via Thunderbolt 3 tunnelled PCIe. The dock has a four port USB 3.1 gen 2 USB hub connected to the Titan Ridge's USB Controller.
 

Gnattu

macrumors 6502a
Sep 18, 2020
811
968
EDIT: I totally misinterpreted this problem.

That's interesting, but I think it is more likely a firmware/driver issue.

And if it's USB4 is hard to verify now, because only USB4 20G is required, AND that is a different mode vs USB 3.2 Gen2x2.
 
Last edited:

laptech

macrumors 65816
Apr 26, 2013
1,145
1,501
Earth
From reading the replies in here, basically the conclusion is that Apple has made it extremely difficult for a customer to achieve the specified speeds. Shouldn't it just be a case of a customer being able to purchase one item that simply plugs into the macbook that gives the desired 10GB speed. Or is it that some people commenting are making a simple issue look more complicated than it really is?
 
  • Like
Reactions: avichou

Juicy Box

macrumors 603
Sep 23, 2014
6,026
6,867
Only thing I can add...USB specs and naming conventions are a sh*tshow.
Yup, you see confusion here on the forum all the time about USB3.

USB3.1 is the same as USB3.1 Gen2, and the same as USB3.2 Gen 2, and USB3.2 Gen 2x1, how bout we throw in SuperSpeed USB 10 while we are at it.

I get it, but it is no wonder why novices get confuse so easily by it.
 

theluggage

macrumors 603
Jul 29, 2011
5,583
4,720
The thing is, to use the "USB4" name, it *SHOULD* support the same 10 Gb/s on the ports Apple labels "USB 3.1 Gen 2 (up to 10Gb/s)" as through the Thunderbolt 3 dock as to direct to my 16" MacBook Pro. It doesn't.

I've just looked at the wikipedia page on USB4 and (apart from now having a headache) it doesn't look as if USB4 requires support for USB 3.1 gen 2. If you go to the "support of data transport modes" table, what is required is "tunneled USB 3.2 (10Gbits/s)" - i.e. USB 3.2-format data encoded as part of a 20 or 40 Gbps USB4 stream - which would then have to be extracted by a USB4 peripheral which supported that feature (which is required on hosts, but optional on peripherals).

Oh ye gods and little fishes! I give up! (that's for the USB IF, not directed at anybody on this thread...)

I'd still expect, from the Apple specs, that the port would support old-fangled USB 3.1 gen2 and that it's worth reporting your issue as a bug - but the Apple specs (...along with anything trying to explain USB4 concisely) are ambiguous.

For starters, what the heck does "Thunderbolt/USB4" mean? Is that "Thunderbolt 3/USB4" or "Thunderbolt 4/USB 4" (subtle but important differences...)


Or is it that some people commenting are making a simple issue look more complicated than it really is?

No.
It's a complicated issue caused by a counter-productive effort to make a "simple" universal connector, made even more complicated by a stupid and inconsistent naming scheme, further confused by Intel trying to build their own proprietary "Thunderbolt" layer on top of the standard, and finally completely mangled by manufacturers printing vague, dumbed-down specs.
 

joevt

Contributor
Jun 21, 2012
4,060
2,099
I've just looked at the wikipedia page on USB4 and (apart from now having a headache) it doesn't look as if USB4 requires support for USB 3.1 gen 2. If you go to the "support of data transport modes" table, what is required is "tunneled USB 3.2 (10Gbits/s)" - i.e. USB 3.2-format data encoded as part of a 20 or 40 Gbps USB4 stream - which would then have to be extracted by a USB4 peripheral which supported that feature (which is required on hosts, but optional on peripherals).
In USB4, USB is tunnelled from the host to a "USB Down Adapter" in a peripheral that outputs USB from a USB4 port.
In Thunderbolt, for USB, PCIe is tunnelled to a USB controller in the Thunderbolt controller which can then output USB from a Thunderbolt port.

The reason why I believe Apple's Thunderbolt/USB4 controller supports USB4 is because it has a new type of adapter shown in the ioreg:
Code:
    | |   | |         +-o IOThunderboltPort@4  <class IORegistryEntry:IOService:IOThunderboltNub:IOThunderboltPort, id 0x1000006ad, registered, matched, active, busy 0 (8 ms), retain 8>
    | |   | |         | +-o AppleThunderboltUSBDownAdapter  <class IORegistryEntry:IOService:IOThunderboltTunnelDriver:AppleThunderboltUSBDownAdapter, id 0x1000006bc, registered, matched, active, busy 0 (1 ms), retain 5>

The AppleThunderboltUSBDownAdapter is used for output USB to the Thunderbolt/USB4 port.

Older adapter types are that existed with Thunderbolt 1, 2, 3:
- AppleThunderboltDPInAdapter: These are used for inputing DisplayPort to the Thunderbolt controller so that it can be tunnelled. The Thunderbolt/USB4 controllers of the M1 have two of these but I guess only one is connected to the GPU.
- AppleThunderboltPCIDownAdapter: used for tunnelling PCIe. The M1 Macs have a new type AppleThunderboltPCIDownAdapterType5 because the Thunderbolt controller and ports are ARM devices instead of PCIe devices.
- AppleThunderboltDPOutAdapter: used by a peripheral (not host) to convert tunnelled DisplayPort to DisplayPort. One of for each port.
- AppleThunderboltPCIUpAdapter: used by a peripheral (not host) to send tunnelled PCIe up to the host.

I haven't seen a AppleThunderboltUSBUpAdapter yet. It would exist in a Thunderbolt 4/USB4 peripheral to tunnel USB up to the host.

I just plugged in a Samsung T7 to my M1 MBP and it's reporting 10Gb/s

Black magic disk speed test reports ~103 write and ~760 read
760 MB/s means the ports can do 10 Gbps (or at least more than 5 Gbps). I would hope that 980 MB/s is possible with a USB to NVMe enclosure, otherwise 760 MB/s is kind of slow for gen 2 speeds (like the ASMedia ASM1142 which was limited by a PCIe 2.0 x2 connection which is 8 Gbps and can't do USB 10 Gbps).

For those wondering, Apple reports that these ports are Thunderbolt 3/USB4.
As they are on the M1 die, they are obviously Apple controllers not intel as in the past.
Correct. Outside the M1 die, Apple uses an Intel Thunderbolt 4 JHL8040R repeater for each Thunderbolt port. Apple can't call the ports Thunderbolt 4 because Thunderbolt 4 requires that a Thunderbolt port can support two 4K displays.
 
Last edited:

joevt

Contributor
Jun 21, 2012
4,060
2,099
- AppleThunderboltDPInAdapter: These are used for inputing DisplayPort to the Thunderbolt controller so that it can be tunnelled. The Thunderbolt/USB4 controllers of the M1 have two of these but I guess only one is connected to the GPU.
Correction: M1 Macs have two Thunderbolt USB4 controllers, each having two of AppleThunderboltDPInAdapter. So one can believe that in the future Apple Silicon Macs can support four displays from two Thunderbolt ports. Current M1 Macs can only support 1 display.
 
  • Like
Reactions: peanuts_of_pathos

theluggage

macrumors 603
Jul 29, 2011
5,583
4,720
In USB4, USB is tunnelled from the host to a "USB Down Adapter" in a peripheral that outputs USB from a USB4 port.
Eh? I'd assume that the "USB Down Adapter" is in the host, converting (internal) USB3 into USB3-tunneled-over-USB4, the host port then sends USB4 to the USB4 peripheral, which uses a "USB Up Adapter" to extract the USB3 signal (for internal use by the peripheral or to drive a USB 3 port). That's consistent with your own description of "ThunderboltPCIDownAdapter" vs. "ThunderboltPCIUpAdapter".

All the device names you list are to do with tunnelling PCIe, USB3, DisplayPort etc. over either USB4* or Thunderbolt - i.e. taking a mixture of PCIe, DisplayPort and USB3 data streams and moshing them together into a single USB4/Thunderbolt electrical signal that can be sent to a USB4/Thunderbolt peripheral. That can't work on a non-USB4/Thunderbolt peripheral.

What the OP was talking about was plugging a "legacy" USB 3.1g2 peripheral into the "Thunderbolt/USB4" port. The port should fall back into USB3.1 mode and start emitting a USB3.1 signal - that is nothing to do with "tunnelling" and is an optional part of the USB-C spec - not Thunderbolt or USB4... and it clearly has done that, it's just apparently gone into USB 3.1g1 5Gbps mode when the peripheral is supposed to support USB3.1g2 10Gbps.

USB should be able to be output directly from the host as well.

Yes, but not "because USB4". Going by the table on wikipedia, the only legacy (not tunnelled) USB requirement for USB4 is USB 2.0 480 Mbps (which has a dedicated pair of wires in the USB C cable). That's also the minimum requirement for a "USB-C" branded port. USB 3/3.1 isn't required at all - let alone 3.1g2 10Gbps.

The reason to expect legacy 3.1g2 10Gbps is that Apple list it in the specs and it would be deeply disingenuous for that to only refer to tunnelling. (I'm not sure if it is required for either Thunderbolt 3 or Thunderbolt 4 branding, but then Apple are wilfully ambiguous about which one of those applies).

The reason why I believe Apple's Thunderbolt/USB4 controller supports USB4

That's redundant - Apple advertise it as a USB4 port and they're unlikely to tell an outright lie. It can't be tested at the moment due to the lack of USB4 devices to test it with...

* I mean, it's still a mess thanks to USB IF using overlapping names for connectors, protocols, protocol stacks and minimum requirements...
 

Juicy Box

macrumors 603
Sep 23, 2014
6,026
6,867
It's a complicated issue caused by a counter-productive effort to make a "simple" universal connector, made even more complicated by a stupid and inconsistent naming scheme, further confused by Intel trying to build their own proprietary "Thunderbolt" layer on top of the standard, and finally completely mangled by manufacturers printing vague, dumbed-down specs.
I think this sums it up pretty well.
 
  • Like
Reactions: throAU and Queen6

joevt

Contributor
Jun 21, 2012
4,060
2,099
Eh? I'd assume that the "USB Down Adapter" is in the host, converting (internal) USB3 into USB3-tunneled-over-USB4, the host port then sends USB4 to the USB4 peripheral, which uses a "USB Up Adapter" to extract the USB3 signal (for internal use by the peripheral or to drive a USB 3 port). That's consistent with your own description of "ThunderboltPCIDownAdapter" vs. "ThunderboltPCIUpAdapter".
You're Right. I got mixed up. Always refer to the USB4 spec. Look at the diagrams in the USB4 spec. In Figure 2-9, it shows the USB Down Adapter in the host is used to tunnel USB between the downward facing ports of a SuperSpeed Host and a USB Up Adapter in a downstream USB4 hub. The Up Adapter connects to the upward facing port of a SuperSpeed Hub which has downward facing ports connected to USB Down Adapters. This continues until a USB4 Device where a USB Up Adapter connects to a SuperSpeed function. The Up and Down adapters are bidirectional (for sending and receiving).

All the device names you list are to do with tunnelling PCIe, USB3, DisplayPort etc. over either USB4* or Thunderbolt - i.e. taking a mixture of PCIe, DisplayPort and USB3 data streams and moshing them together into a single USB4/Thunderbolt electrical signal that can be sent to a USB4/Thunderbolt peripheral. That can't work on a non-USB4/Thunderbolt peripheral.
Right. If you connect a USB3 device, then the USB Down Adapters are bypassed because there isn't any more tunnelling to do.
USB Tunnelling is new to USB4 and Thunderbolt 4. I'm not sure how a Thunderbolt 3 device in the chain affects USB tunnelling. The USB tunnelled packets might be able to pass?

What the OP was talking about was plugging a "legacy" USB 3.1g2 peripheral into the "Thunderbolt/USB4" port. The port should fall back into USB3.1 mode and start emitting a USB3.1 signal - that is nothing to do with "tunnelling" and is an optional part of the USB-C spec - not Thunderbolt or USB4... and it clearly has done that, it's just apparently gone into USB 3.1g1 5Gbps mode when the peripheral is supposed to support USB3.1g2 10Gbps.
Right. The USB Down Adapter in the host is bypassed when you connect a USB3 device.

Yes, but not "because USB4". Going by the table on wikipedia, the only legacy (not tunnelled) USB requirement for USB4 is USB 2.0 480 Mbps (which has a dedicated pair of wires in the USB C cable). That's also the minimum requirement for a "USB-C" branded port. USB 3/3.1 isn't required at all - let alone 3.1g2 10Gbps.

The reason to expect legacy 3.1g2 10Gbps is that Apple list it in the specs and it would be deeply disingenuous for that to only refer to tunnelling. (I'm not sure if it is required for either Thunderbolt 3 or Thunderbolt 4 branding, but then Apple are wilfully ambiguous about which one of those applies).
If you are talking about the table at https://en.wikipedia.org/wiki/USB#USB4, it is missing info for the USB 3.2 modes. The text above the table states that USB4 is "backwards compatible with USB 3.2".
The table at https://en.wikipedia.org/wiki/USB4#Support_of_data_transfer_modes shows that Tunneled USB 3.2 (10 Gbit/s) is not optional (but USB 3.2 (20 Gbit/s) is optional).
Section 2.1.1.4 and 2.1.1.5 of the USB4 specs says the following:
- a USB4 hub contains a SuperSpeed hub and supports USB 3.2 and USB 2.0 hub functionality.
- a USB4 dock - same as hub for USB functionality.
- a USB4 host contains a SuperSpeed host.

I suppose the spec could be more clear if it stated that the USB4 port must be able to output SuperSpeed USB.
The spec is clear about the USB4 port having to support DisplayPort alt mode.

That's redundant - Apple advertise it as a USB4 port and they're unlikely to tell an outright lie. It can't be tested at the moment due to the lack of USB4 devices to test it with...
I was pointing out evidence from an ioreg dump of an M1 Mac (not Apple advertising) of USB4 functionality to contradict the thread title's claim that it is not USB4.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.