← Back to context

Comment by adrian_b

5 hours ago

It says that it has four 10 Gb/s USB ports (2 Type A and 2 Type C).

It is unknown whether the ports are independent, or some of them or all of them are connected to an internal hub.

Even if they were connected to a single CPU port through an internal hub, if you used two 5 Gb/s USB Ethernet interfaces you would get close to full speed for them.

Having 10 Gb/s USB instead of the so-called "5 Gb/s" USB (in reality 4 Gb/s), provides much more additional I/O throughput than having 5 Gb/s RJ45 instead of 2.5 Gb/s. I agree that having 5 Gb/s Ethernet would have been nice, but it is much more valuable that it has 10 Gb/s USB, which is very rarely encountered on Arm-based computers.

I wonder how well a usb 10gbit ethernet adapter would work then

But I really apprecate your reply!

I'll definitely buy one for testing when they become available for reasonable prices <500EUR for 16gig memory

  • 10 Gb/s Ethernet interfaces work fine on 10 Gb/s USB.

    Both interfaces have almost the same raw bit rate (in both cases "10 Gb/s" is only an approximation, but the differences between the true bit rates and 10 Gb/s are negligible, unlike for "5 Gb/s" USB, where the data bit rate is only 4 Gb/s).

    The USB protocol has a slightly higher overhead than the Ethernet protocol, so the throughput of an Ethernet 10 Gb/s interface attached on 10 Gb/s USB will be a little lower than that of a PCIe NIC, but the difference is negligible, of only a few percent.

  • Hmm, is it possible to skip the Ethernet adapters in a configuration of USBC-Eth-Eth-USBC and connect USBCs directly one to another?

    • Unfortunately, USB does not work like Firewire, where this was possible.

      USB 4, i.e. Thunderbolt, allows the emulation of network interfaces if you interconnect the USB Type C ports with a cable, but here you have USB 3, so this does not work.

      On USB 3 you could interconnect 2 ports only if one of them implemented the On-the-Go specification, so it could work as either a peripheral port or a host port. Here this also does not work. On a system where this had been allowed by the hardware, it is likely that you would have needed to write yourself a device driver that emulates a network interface, because I am not aware of an already existing one, unlike for USB 4.

      2 replies →