Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

whodiini

macrumors regular
Original poster
Aug 16, 2021
160
64
I have spent months trying to get something that works. Read through tons of postings and product reviews. Thought I would summarize and save someone else some trouble,

Challenge: Wanted a hub for my M1 Studio Max that had USB C and USB A ports that worked with 10 GBps NVMe external enclosures at 10 GBps. Wanted also something to be able to power the USB C ports at 3A and the USB A ports at 1.5A. PD not required.

Considerations: Understand that a thunderbolt hub at 40GBps would allow me to transfer files from one NVMe enclosure to another at the full 10 GBps for each, but a USB C hub would be limited to a total of 10 GBps, so could only copy 1 device at 10 GBps.

Issue:
1) tried the caldigit USB 4 elements hub because it has 3 TB3 and 4 10 GBps USB A ports. That seemed the best solution based on specs.
But I found tons of compatibility problems with first enclosures and then cables. The USB NVMe enclosures use 3 types of controller chips: JM583, RTL9201 and ASM, in order of how often used in enclosures. The JM583 has quite a few compatibility issues, that are mostly resolved with the most recent firmware updates. Finding and applying the updates is not for the weak willed because vendors dont usually provide them so you need to search the internet and translate french to apply on a windows machine. Once you go thru all that, it works. The RTL9210 is less problematic out of the box, but you will still need to apply updates, not for stability, but if you want trim to work. The nicest USB enclosure for a reasonable price is the Sabrent. After that, you will need a cable. Almost all cables that are USB c to USB C tend to work ok. But if you want to use the USB A ports on the cal digit, most USB C to USB A cables dont work. They hang, slow down and hang or just dont even work on the Cal digit. I tried many many cables and out of 10 cables, I only found 1 that worked reliably. The only other combo that worked reliably was to use a USB C to USB C cable and then an active USB C to USB A adapter. I could not understand what the issue was. So I went and bought a dedicated USB C powered hub next.

2) Tried a Juiced Systems USB C Vertexhub. This has 4 USB C, 4 USB A powered ports. I connected it via a Belkin 10 GBps cable to another hub to my Studio Max. The USB C ports worked fine, but the USB A ports were again problematic, dependent on the cable used. It was more sensitive to the cable compared to the caldigit. Where the caldigit would transfer slowly, the vertexhub would simply hang. I even bought a vertexhub cable USB C to USB A and even then, sometimes it would work and sometimes not. I moved the vertexhub to my intel mac mini 2018. If a cable would work in the Studio Max system, it would work on the mac mini even faster. But if it didnt work on the Studio max, it wouldnt work on the mac mini. I combed all the reviews of hubs on Amazon and one intrigued me based on one review. So I bought the SSK SC109.

3) Tried a SSK SC109 4 port hub. It is not a powered hub. It advertises USB 3.2 10 GBPs. I think it uses the Via VL822 chip. Several things to note with this. On system report, USB, it shows up as "USB3 Gen2 Hub". No other hubs above show this. The caldigit shows as USB 3.0 hub @ 10 GBps, for example. This little and cheap hub works at 10Gbps, is faster than the others. With the good cable, it is faster. With the cables that didnt work earlier, they work with this SSk , albeit at slower speeds. e.g. instead of 900MB/sec transfer read speed, a cable that hung worked at 350MB/sec. So this little hub was the fastest and least sensitive to cables!

Bottom line - If you want to get 10 GBps, avoid as much as possible USB C to USB A cables, and use USB C to USB C cables. If you must have USB A ports, find a hub that uses a VIA Vl822 chip. And test any new cable rigorously. I usually first use Blackmagic disk test and then if it passes that, I use CCCloner to do a sustained write and monitor the speed. I have had cables that after 20 min, overheated and hung.
 
USB, PCIe, and Thunderbolt all use separate lines for transmit (write) and receive (read) so you should be able to read from one disk while writing to another without loss of performance from either even if the two devices are connected to a USB hub.

The name of a USB hub is in the firmware of the hub. They can call it whatever they like. There's no standard.

Thunderbolt 4 hubs/docks when connected to a USB4 host, such as an M1 Mac, will use the USB controller of the USB4 host instead of the USB controller that is inside the Thunderbolt 4 hub/dock. You can force the USB controller of the Thunderbolt 4 hub/dock to be used if you put a Thunderbolt 3 device between the USB4 host and the Thunderbolt 4 hub/dock. That might solve some of the problems.
 
Thunderbolt 4 hubs/docks when connected to a USB4 host, such as an M1 Mac, will use the USB controller of the USB4 host instead of the USB controller that is inside the Thunderbolt 4 hub/dock. You can force the USB controller of the Thunderbolt 4 hub/dock to be used if you put a Thunderbolt 3 device between the USB4 host and the Thunderbolt 4 hub/dock. That might solve some of the problems.
Didnt know that.

So if I have this:
Studio Max -> Caldigit elements: USB 10 GBps port -> Sabrent NVMe
Does that mean that the USB Controller of the 10 GBps port connected to the sabrent is the Studio Max? Is this equivalent to connecting the sabrent NVme directly to the back of the Studio Max?

So if I now have this:
Studio Max -> Thunderbolt 3 Hub: USB 10 GBps port -> Sabrent NVMe
Does that mean that the USB controller of the 10 GBps port connected to the sabrent is the one inside the Thunderbolt 3 hub?

So if I now have this:
Studio Max -> Caldigit elements: USB 4 port -> Juiced Systems VertexHub -> Sabrent NVMe
Does that mean the USB controller of the 10 GBps port connected to the sabrent is the Vertexhub or is it the Studio Max?

I am wondering if instead of using the caldigit elements either directly or indirectly (in the above scenario), I go off the thunderbolt 3 hub instead, would that guarantee I would be using the controller in the hub and not on the Studio Max?

Also, it is difficult using System Report to find which controller chip a hub is using. Sometimes the vendor doesnt show it.

In any case, I tried different combinations, and none seem to change anything. Only the SSK hub seemed to work with most cables.
 
Last edited:
So if I have this:
Studio Max -> Caldigit elements: USB 10 GBps port -> Sabrent NVMe
Does that mean that the USB Controller of the 10 GBps port connected to the sabrent is the Studio Max?
Yes.

Is this equivalent to connecting the sabrent NVme directly to the back of the Studio Max?
No. The Sabrent is connected to a USB hub in the CalDigit and the USB hub is connected to the USB controller of the Studio Max using USB tunnelling over Thunderbolt 4. USB tunnelling is a feature of Thunderbolt 4/USB4. Previously with Thunderbolt 3/2/1, there was no USB tunnelling. Instead, a USB controller in the Thunderbolt dock would be connected to the host using PCIe tunnelling over Thunderbolt.

So if I now have this:
Studio Max -> Thunderbolt 3 Hub: USB 10 GBps port -> Sabrent NVMe
Does that mean that the USB controller of the 10 GBps port connected to the sabrent is the one inside the Thunderbolt 3 hub?
Yes.

So if I now have this:
Studio Max -> Caldigit elements: USB 4 port -> Juiced Systems VertexHub -> Sabrent NVMe
Does that mean the USB controller of the 10 GBps port connected to the sabrent is the Vertexhub or is it the Studio Max?
Juiced is a USB hub. It does not have a USB controller. The USB controller would still be that of the Studio Max.

By USB controller, I mean a PCIe device connected to the host CPU via PCIe (including PCIe tunnelled over Thunderbolt). Or a device directly connected to the CPU via some other kind of connection to the CPU that is not USB.

I am wondering if instead of using the caldigit elements either directly or indirectly (in the above scenario), I go off the thunderbolt 3 hub instead, would that guarantee I would be using the controller in the hub and not on the Studio Max?
Yes, connecting a USB device such as the Sabrent downstream of a Thunderbolt 3 device will ensure that a USB controller other than that of the Studio Max will be used. You can exclude the Thunderbolt 4 hub, or put the Thunderbolt 4 hub upstream or downstream of the Thunderbolt 3 device.

If the Thunderbolt 4 hub is downstream of the Thunderbolt 3 device, then you can connect a USB device to the Thunderbolt 4 hub to use the USB controller of the Thunderbolt 4 hub, or you can connect a USB device to the Thunderbolt 3 device to use the USB controller of the Thunderbolt 3 device. Each USB controller is separate and share a ≈22 Gbps PCIe connection tunnelled over Thunderbolt.

Also, it is difficult using System Report to find which controller chip a hub is using. Sometimes the vendor doesnt show it.
A USB hub should show in System Report as having a USB bus parent. A USB bus is a USB controller. You should be able to see by the USB bus information (Host Controller Driver name) if it is the USB controller of the Studio or if it is the USB controller of a Thunderbolt device.

The ioreg command will have more info. Or you can try IORegistryExplorer.app. They will list USB ports that don't have USB devices connected.
 
I just discovered more weirdness. I have a enclosure with a JM583 v1 2.09 firmware. When plugged into the thunderbolt 3 hub -? SKK hub that worked well with the Sabrent enclosure (using RTL chip), it only is recognized at 5 GBps. When plugged into the Caldigit, it is recognized at 10 GBps.

I then tried another USB C to USB A cable. It is recognized on both as 5 GBps.

So it seems that the chip/firmware/cable used on the enclosure also makes a difference. This is quite a nightmare. Makes one want to give up on enclosures and buy a Samsung SSD/enclosure/cable that has figured all this out.
 
I just discovered more weirdness. I have a enclosure with a JM583 v1 2.09 firmware. When plugged into the thunderbolt 3 hub -? SKK hub that worked well with the Sabrent enclosure (using RTL chip), it only is recognized at 5 GBps. When plugged into the Caldigit, it is recognized at 10 GBps.

I then tried another USB C to USB A cable. It is recognized on both as 5 GBps.

So it seems that the chip/firmware/cable used on the enclosure also makes a difference. This is quite a nightmare. Makes one want to give up on enclosures and buy a Samsung SSD/enclosure/cable that has figured all this out.
Which Thunderbolt 3 hub? Which port of the Thunderbolt 3 hub? What USB controller (bus) is the port connected to? The CalDigit TS3+ uses an ASMedia ASM1142 for one of it's USB controllers (it does USB 10 Gbps but is limited to 8 Gbps performance because its connected upstream as PCIe gen 3 x1). This controller may erroneously report 5 Gbps when connected at 10 Gbps. You have to measure the bandwidth using a benchmark to be sure.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.