Say I have a USB 3.0 device, connected with a USB 3.0 cable, to a USB 3.0 port with the correct drivers on a Windows 7 computer. Bandwidth and performances are as expected for USB 3.0.

Now I replace this cable with a "USB 3.0 cable" of questionable quality. I get the dreaded "This device can perform faster" warning from Windows (adding that I should connect it to a USB 3.0 port) and performances of the device drop to USB 2.0 levels. Now from my understanding, some ports/drivers can switch back to USB 2.0 mode, in order to be backward compatible. So this seems to be what is happening here.

In order to diagnose the specific issue with the cable, what are the reasons why the port would revert to USB2.0?

Bandwidth doesn't respect a limit? Some electrical test? Purely up to the driver?

For reference, I tested it with a remote USB 3.0 port which specifically cannot revert back to USB 2.0, and the device was non-functional.

  • 5
    ` cable of "questionable quality" ` <-- you answered your own question already. – Criggie Aug 8 at 20:15

If you have a look at the USB 3.0 pinouts, you'll see that the USB 2.0 lines are distinct from the USB 3.0 lines. So when the USB 3.0 lines are interrupted, or their quality is so bad that data transfer is not successful, only the USB 2.0 lines provide working communication, and it will look to both sides that they are only connected to another USB 2.0 device.

With a remote port which doesn't have the USB 2.0 lines, the USB 3.0 lines can't work, so it's not functional.

Diagnosis: Some of the USB 3.0 lines or contacts are broken, bent, or their quality is so bad they can't transfer the signals properly.

This is purely a hardware issue. It has nothing to do with the driver. It also has nothing to do with the OS.

Throw away the bad cable, get a new one of non-questionable quality. It's unlikely you'll be able to repair the bad lines (remember, we are talking high-frequency signalling).

  • 1
    I think the "up to the driver" was referring to the fact that the threshold for "so bad they can't transfer properly" might be model-specific or even under software control. Assuming that hardware reports correctable and non-correctable error rates and has a configuration bit to force disable USB3 mode, the driver could in fact be in control. – Ben Voigt Aug 9 at 14:23
  • @BenVoigt: I am not aware of any error rate report by the hardware (can you point me to it in the XHCI spec?). In particular it's impossible to "disable USB 3 mode", there are two completely separate root hubs. I'm also not aware of any USB root hubs which don't follow the Intel specification (do you know any?). So no, it's not model specific, and no, it's not under driver control. – dirkt Aug 9 at 14:59
  • I know of a driver that allows me, through software, to swap between USB1.0, 2.0 and 3.0 for testing: passmark.com/products/usb3test.htm – Alex Millette Aug 9 at 16:26
  • @AlexMillette: Interesting, but I'd guess that it controls the LoopbackPlug to select the USB mode, reconnecting to make the change. Also note the remark in another answer about LTSSM being implemented in hardware. – dirkt Aug 9 at 17:12

If you look at USB 3.0 connector, or better measure interconnect parameters, you will see not much of a difference. In both cases the differential impedance, although designed for 90 Ohms, will have some discontinuity, which will depend even on how do you bend the mating plug. The difference however is that USB 3.0 frequency is 10x higher than USB2, and that's makes the signal quality much more susceptible to all imperfections.

So in short, a USB 3.0 port fails to start due to questionable cable quality.

One of most questionable part of USB cable is situated in the cable overmold. USB cables are not designed to be assembled in well-controlled automated way, they require manual labor to solder split leads of bulk cable onto connector's terminals. The leads might be bent and go wide, solder blobs night differ in size, etc., thus introducing an inhomogeneity into transmission line. This is in addition to connector deficienies. As result, bit patterns of USB 3.0 signals scatter over these "bumps" and "dips", interfere, reflect back, and make the signal eye ugly and barely-decodable.

The traces between USB connector and host chip also are not perfect, and soldered connector almost always is a "bump" in the channel. More, longer cables tend to attenuate high frequencies more, so the signal loses sharpness of edges and amplitude drops. Altogether this forms "lossy communication channel", in full similarity to RF communication. In some cases the impedance imperfections at connection points might form an anti-resonant condition, resulting in substantial loss of signal amplitude. A cable inch longer or inch shorter might however work nearly fine.

In attempt to correct the "channel" properties, USB 3.0 signals have "pre-emphasis" on transmission end, and tunable equalizing filter on receiver end.

To make the channel work, USB 3 employs "link training", by sending 65536 special training packets. The receiver selects the best filter parameters based on minimum error level. If the channel has too many reflections or too attenuated, the training would fail, and the USB3 port will be turned into disabled.

The other scenario would be if the link training gets passed, and link switched to active "U0" mode, the USB protocol might have too many errors and fails to complete transactions. In this case the host will try to "reset" and re-train the link, but results will likely be the same. After several attempts the host driver will disable the USB3 part.

Once USB3 link fails, USB device may (or may not) engage the USB 2.0 connect protocol.

In summary, it is nearly impossible to "diagnose" cable specific issues without taking signal quality measurements using special test fixtures and fairly-high bandwidth scopes (8-12 GHz) and TDR instruments, with special software packages. The best way is to work with all three components of the link (host-cable-device) that are USB-IF certified.

  • "USB cables are not designed to be assembled in well-controlled automated way, they require manual labor to solder split leads of bulk cable onto connector's terminals" citation neeeded – stannius Aug 10 at 17:05
  • @stannius, no citation necessary. Just take any USB cable, try to open the overmold up, carefully with x-acto knife, and you will see the mess. Even if most manufacturers use the same bulk cable, the soldering fan-out and likely the type of fill resin make most of the differences between good and questionable cables. – Ali Chen Aug 10 at 18:15

Unlike the speed identification of USB2.0 devices where the distinction between low and full speed is done by pulling D- or D+ lines to 3.3V respectively, USB 3.0 introduces Link Training and Status State Machine (LTSSM) which continuously monitors the transmission quality of the USB data lines. A simple electrical continuity on USB3.0 is therefore not enough to establish a USB3.0 connection: the transmission medium (connectors and cables) should respect specific characteristics like signal attenuation, reflection suppression and delay.

When LTSSM decides the USB 3.0 link is not recoverable, it will permanently fall back to USB2.0 and the only way to make it retry SuperSpeed is to disconnect and reconnect the device.

Technically LTSSM is implemented by the USB hardware, so its behaviour is not up to the driver but rather defined in USB3.0 specification.

On a practical note, if your cable is rolled / bent / stretched, try to unroll or unbend it. This can improve electrical characteristics of the cable and help the connectors to take correct positions in the sockets.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.