Android tethering: USB 3 vs ethernet speeds

Hi,

I've successfully installed OpenWrt on my Belkin RT1800, which has gigabit WAN and a USB 3 port. I'm tethering to a Samsung S21 phone that tops out at about 500 Mbps on 5G.

Using a USB-C to ethernet adapter from the phone to the router's WAN port, I can get the full 400-500 Mbps speeds from the connection.

Using the phone's USB-C port connected directly to the router's USB 3 port, the speed seems to max out at approximately half that, around 200 Mbps.

I bought a USB-C 3.1 Gen2 to USB-A Cable for this purpose, so the cable shouldn't be the limiting factor here.

Can anyone suggest why USB 3 tethering should be slower than the ethernet, especially when the data leaves the phone though the same USB-C port in both cases?

Many thanks.

Could be a cheap USB 2.0 cable (5 wires) with USB C plug on one side
USB C is just the form of the plug, but no guarantee of 2.0, 3.0 or 3.2 speed or number of connected wires (5, 10, 20)

The cable is a USB 3.1 gen 2 cable (https://www.amazon.co.uk/dp/B085SBGZ7G), Amazon brand so I believe they're not making up the specs. It should be capable of 10gbps.

You can check the negotiated speed. Disconnect the phone and run
logread -f | grep -i speed
then connect the phone and observe the output.

Hi Andrew, thanks for the tip. I get the following output:

Thu Jun 1 18:52:37 2023 kern.info kernel: [51669.620199] usb 2-1: new SuperSpeed USB device number 4 using xhci-mtk

Great, that looks like USB 3.

Shouldn't a USB 3.1 gen 2 cable get a "SuperSpeed+" label? Any thoughts on why I might be getting slower speeds than via the ethernet adapter (which uses the same USB-C port on the phone)?

The driver may not be as optimized for speed. The MT7621 is not a big CPU and things need to be really optimized to get into triple digit speeds.

Look at top during a speed test to see if the CPU is being maxed.

Doing a speedtest on USB, there are two or three ksoftirqd processes that, in total, reach approx 40% of CPU.

On ethernet tethering, no single process exceeds 2%. So you're right, there's a massive difference there.

Anyway, it works well via ethernet, only would have been nice to have the streamlined single cable setup. Thanks all for your help!