This article walks through diagnosing a USB tether that would not negotiate above USB 2.0 speed, on a phone that advertises 10 Gb/s. The hunt took four cables and three physical ports across two days.

USB link speed is autonegotiated between the host, the cable and the device, and the result is the slowest mode all three can manage. The cable is a full participant in that negotiation, a USB 2.0 cable has no way to vote for anything above 480 Mbps, and nothing anywhere reports that it happened. The tether comes up, DHCP works, traffic flows, and the link is capped at a fifth of what both ends were offering.

What the right cable buys is not speed. It is headroom, and the difference is not subtle: the best USB 2.0 pass in this log used 91% of what that bus can usably carry, while the same link on a SuperSpeed cable uses 3.6%.

Every command below is one you can run against your own tether, and every number comes from a record in the repository:

https://github.com/xbill9/tether