Sounds like a case of X-Y problem
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
I do not have an answer for you, but if I may ask...
Why?
Great question. In short, garbagy AMD USB controllers. I recently switched to a newer AMD board and have been hit with the same issues faced by these poor sods. I've been conducting testing over the last week, different combinations of ports, cables, loads, add-in PCIe USB controllers. The add-in cards seem to behave well, which is one way the folks from that thread solved their problems. The other being changing to Intel-based systems. Yesterday however I was watching an intro about USB redrivers by TI and they were discussing various signalling issues that could occur and how redrivers help. That led me to form the hypothesis that what I'm experiencing might be signalling related. E.g. that the combination of controllers/ports/cables simply can't handle 10Gbps. That might be noise from some of those devices or surrounding ones that causes signal loss when operating at 10Gbps, speeds this setup can actually achieve. In order to test that I tried placing the DAS boxes behind a 5Gb hub plugged in a port that has previously shown a failure. So far it's stable. This is why I was wondering whether there's some magic in the kernel that could allow configuring 10Gb ports to operate at 5Gb.
Fix the issue with 10G instead of trying to limit it. It might be as simple as a bad cable
I've been trying. Nothing has worked so far. I've got a few more cables/permutations to try.
It'll be compatible with 5 Gbps devices, but if you're intentionally looking to restrict even 10 Gbps devices down to 5 Gbps for some reason, you might be able to find something in your BIOS that lets you do that, or you can get a USB 3.0 extension cable that'll limit your speeds to 5 Gbps.
The extension cable is a great idea. I'm currently trying 5Gb hubs on the path. Seems to work.
E: I think the USB-A connector for 5Gb and 10Gb is the same. The 10Gb cable must simply carry double the rate without losing data due to noise. Similar to Cat 5 vs Cat 6 ethernet cables. If so an extension should keep the controller-advertised speed downstream. Seems like hubs are the only option.
There are powered extensions, so one of those might work, but a hub is certainly a comparable price and a more compact solution
Assuming you have a free PCIe slot, maybe just buy a PCIe USB card to use instead of what seems to be a faulty AMD USB controller.
Already done. I'm just trying to exhaust all the hypotheses I have in case I stumble upon a durable workaround that is applicable for others and cheaper.
It will use whatever connection speed the device connected supports up to the speed of the host interface
What kind of controller and what kind of Gb are you talking about?
Storage controller for USB sticks?
Or gaming controller with an advertised Gb/s USB bandwidth?
Probably a USB controller, considering that is what they said explicitly in the title. And probably the bandwidth the controller advertises to downstream devices.
Yup. A USB host controller. Specifically AMD Bixby.
Just fyi
a storage controller on an USB stick also has programmed "Gb" for addressing the flash storage. For example if you want to remove one of the flash chips, you could be asking how to reprogram the controller to use only half of it's initial capacity. Thats what I was confused about.
But you actually meant Gb/s.
You're right, the correct term is Gb/s or Gbps. Edited.