mvp / uhubctl

uhubctl - USB hub per-port power control
Other
2.23k stars 232 forks source link

Fixing USB version for Rosonway hubs #447

Closed melyux closed 2 years ago

melyux commented 2 years ago

In the compatibility table, the Rosonway hubs all have USB version "3.2" as their version. Assuming we're using the terminology 2.0 for 480Mbps, 3.0 for 5Gbps, 3.1 for 10Gbps, 3.2 for 20Gbps, and 4 for 40Gbps, these should instead be versioned like this:

I'm also pretty sure the HP "USB-C Dock G5 5TW10AA" dock that's also listed as 3.2 is only 3.0 (5Gbps).

mvp commented 2 years ago

These versions were taken from what hub report about themselves in USB descriptors. Unfortunately, I don't have conclusive way to confirm what actual USB version hub should be rated at without extensive testing with different end devices at different speeds.

melyux commented 2 years ago

The USB terminology is so confused that the "3.2" designator is actually correct for all 3 of the USB 3.x speeds, so they'll try to market with the highest number that's technically accurate, but it's not very useful for differentiating between them. Using 3.0, 3.1, 3.2 based on the top speed they support is a lot more useful when looking at the table to decide which one to buy when looking for something with uhubctl support. Much better to have the numbers I listed instead of a flat 3.2 for all of them, no?

mvp commented 2 years ago

Again, I don't mind fixing USB version to what it actually should be. But, I don't know if e.g. RSH-A16 is 3.0, 3.1 or 3.2. I don't have any USB 3.2 device to connect to RSH-A16 and check if it truly supports 20gbps.

melyux commented 2 years ago

Looking at the Amazon/own product pages for these shows the maximum speed though, so why not look at that? e.g. RSH-A16 doesn't advertise anything higher than USB 3.0 5Gbps, so it's not going to be 20Gbps.

mvp commented 2 years ago

Hmm. Reading USB 3.2 spec: https://www.usb.org/sites/default/files/usb_3_2_language_product_and_packaging_guidelines_final.pdf it says:

The USB 3.2 specification absorbed all prior 3.x specifications. USB 3.2 identifies three transfer rates, USB 3.2 Gen 1 at 5Gbps, USB 3.2 Gen 2 at 10Gbps and USB 3.2 Gen 2x2 at 20Gbps. It is important that vendors clearly communicate the performance signaling that a product delivers in the product’s packaging, advertising content, and any other marketing materials.

Per this spec, anything USB 3.x is actually USB 3.2.

In other words, per your logic we should have this table:

USB 3.2 spec Old USB version
USB 3.2 Gen 1 USB 3.0
USB 3.2 Gen 2 USB 3.1
USB 3.2 Gen 2x2 USB 3.2
mvp commented 2 years ago

@melyux , I have updated USB versions in README per your suggestion - thank you!

melyux commented 2 years ago

Hi @mvp, I had another look through the README and found some others that have the wrong USB version per our version scheme. These are all listed as 3.1, but are actually all 3.0 (5Gbps max):

10Gbps hubs are still relatively rare.

mvp commented 2 years ago

Thank you @melyux, device table updated per your suggestions!