USB · Module 31
“USB 3.x Is Just Faster USB 2.0”
The connector fits, the device works, the software is unchanged — so this belief has the best evidence of any in the module. There are two buses in the cable, and the differences that matter are architectural rather than numeric.
1. The Belief
"USB 3 is USB 2 with more bandwidth. Same protocol, same endpoints, same descriptors, faster wire. That is why my USB 2 device still works in a USB 3 port and my software did not change."
2. Why An Intelligent Engineer Believes It
Of the six beliefs in this module, this one has the best evidence. Every observation supporting it is true.
THE CONNECTOR FITS
A USB 2 plug goes into a USB 3 receptacle and works. Nothing about
the physical experience suggests two different things.
THE SOFTWARE DID NOT CHANGE
The same driver, the same libusb calls, the same descriptors, the
same endpoint numbers, the same standard requests, the same
transfer types with the same names. An application ported from USB
2 to USB 3 often changes NOTHING.
THE MODEL SURVIVES
Endpoints are still (number, direction). Enumeration still goes
Default, Address, Configured. The host still schedules. Bulk is
still bulk. EVERYTHING this curriculum has taught for thirty
modules remains true.
THE MARKETING IS ENTIRELY NUMERIC
"SuperSpeed", "5 Gbps", "10 Gbps", "20 Gbps". Every public
description of USB 3 is a bandwidth figure. Nobody advertises a
change of transaction model, because nobody buys one.
THE NAMING ACTIVELY HELPS THE BELIEF
USB 3.0 became USB 3.1 Gen 1 became USB 3.2 Gen 1x1, and the same
5 Gbps link has had three names. A reader concludes, reasonably,
that the versions differ only in speed grade.3. The Prediction It Makes
IF USB 3 WERE FASTER USB 2, THEN:
1 a cable that carries USB 2 correctly would carry USB 3
correctly, just with more of it
2 a hub would be a hub -- one device, one internal architecture,
repeating faster
3 a USB 2 device in a USB 3 port would get some of the benefit,
or at worst none, but would be on the same bus as its
neighbours
4 USB 3 failures would look like USB 2 failures, faster:
corrupted packets, retries, timeouts
5 polling a device would work the same way, so an idle USB 3
device would cost roughly what an idle USB 2 device costs
6 a device that enumerates at USB 2 speed in a USB 3 port has a
SPEED problemPrediction 6 is the one that generates a support ticket every day of the year.
4. The Counterexamples
Four of them, because four different predictions fail for four different reasons.
4a. There are two buses in the cable
COUNT THE WIRES
USB 2 uses D+ and D- one half-duplex
differential pair
USB 3 adds SSTX+ SSTX- SSRX+ SSRX- TWO pairs, one per
direction, full
duplex
And the USB 2 pair is STILL THERE and still used.
A USB 3 connection is therefore not a faster bus. It is TWO BUSES
operating simultaneously in one cable:
o different differential pairs
o different signalling and encoding
o different link state machines
o different transaction models
o and a device may be using either, or in some cases bothPrediction 1 fails: a cable with correct D+/D- and a broken or absent SuperSpeed pair carries USB 2 perfectly and USB 3 not at all. This is what a charge-only or cheap cable is, and its symptom is a device that works and is slow, with no error anywhere. Prediction 4 fails with it — the failure mode is not corruption, it is silent operation at the other speed.
4b. A USB 3 hub is two hubs
Inspect the descriptors of a USB 3 hub as the host sees it:
it presents as TWO hub devices
o a USB 2 hub, on the D+/D- bus
o a SuperSpeed hub, on the SS pairs
with separate downstream port state, separate routing, and
separate topology. 31.1's tier limit applies to each of them.Prediction 2 fails. A USB 2 device behind a USB 3 hub is connected through the USB 2 hub inside it; a USB 3 device is connected through the SuperSpeed hub. They are not neighbours on one bus — they are on different buses, and this is why a slow USB 2 device plugged into a USB 3 hub no longer degrades a USB 3 device's bandwidth the way it would have in a pure USB 2 tree. Prediction 3 fails on the same observation.
4c. The device is not polled
USB 2, an idle interrupt endpoint
the host issues an IN token every interval, forever.
The device answers NAK. (31.2 -- this is the whole of 31.2.)
The bus is never quiet, and the device is never asleep.
USB 3, an idle endpoint
the host issues a request ONCE. The device does not answer "not
yet" repeatedly -- it responds when it is ready, asynchronously.
The link enters a low-power state between activity and leaves it
when there is something to carry.Prediction 5 fails, and it fails structurally rather than by a factor. The transaction model changed from host polls and device NAKs to something much closer to host requests and device notifies when ready. The host is still the one that authorises and schedules — 31.2's correction is intact — but continuous polling of idle endpoints is gone, and with it the reason the bus could never idle.
4d. The device enumerated, at the other speed
OBSERVED, constantly, in the field
a USB 3 device in a USB 3 port, working, at USB 2 speed
WHAT HAPPENED: SuperSpeed connection was not established, so the
device fell back to the bus that was available. It then enumerated
normally, presented its descriptors, opened its pipes and worked.
CAUSES, none of which are a "speed problem"
the cable lacks or breaks the SuperSpeed pairs
an intermediate hub is USB 2 only
the port is wired for USB 2 on that particular header
SuperSpeed link training did not complete
the device's own SS pairs are not connected on the board
AND THERE IS NO ERROR. Fallback is CORRECT BEHAVIOUR -- it is
exactly what makes the connector's compatibility promise work.Prediction 6 fails, and this is the single most expensive line in the chapter: the device is not running slowly on a fast bus. It is running correctly on a different bus, having failed to establish the fast one, and the investigation is about which bus established, not about throughput tuning.
What is actually in the cable
The diagram's shape is the correction. One shared layer at the top — which is what the belief correctly observes and what makes software portable. Two independent stacks below it, meeting only at the connector. And the last line is the field's most common outcome: the cable establishes one of them.
5. The Corrected Model
WHAT CARRIED OVER (and the belief is right about all of it)
o endpoints as (number, direction)
o descriptors, configurations, alternate settings
o enumeration: Default, Address, Configured
o the four transfer types, by name and by purpose
o the host's authority to schedule and authorise
o the driver and application interface
WHAT DID NOT
o ONE BUS became TWO, physically separate, simultaneously
operable, sharing a connector
o half duplex on one pair became full duplex on two
o host-polls-and-device-NAKs became request-and-asynchronous-
response, which is what makes link power management possible
o one hub became two hubs in one package, with separate
topologies
o a fallback path exists that is SILENT and CORRECT
THE SENTENCE TO REPLACE THE BELIEF WITH
"USB 3 preserved the programming model and replaced the
mechanism. So my software ports, and my assumptions about the
WIRE, the POWER, the TOPOLOGY and the FAILURE MODES do not."6. Why There Is No New RTL In This Chapter
31.1 had no new RTL because its subject was topology, and a topology is not a block. This chapter has none for a different and more interesting reason, and stating it is part of the chapter.
WHAT WOULD HAVE TO BE MODELLED TO REFUTE THIS BELIEF IN HARDWARE
two PHYs with different encodings, because the belief's error is
that there is one
two link state machines, including SuperSpeed link training and
its power states
the fallback DECISION -- which is where the misconception
actually lives
two transaction models running simultaneously
WHAT SUCH A MODEL WOULD ACTUALLY TEACH
Nothing about the misconception. It would teach the reader to
read my simplification of two PHYs. The belief is not that some
block computes the wrong function; it is that TWO THINGS ARE ONE
THING -- an error of counting, not of logic.
AND THE DISHONEST VERSION IS WORSE
A "dual-bus arbiter" written for this chapter would be RTL
manufactured for symmetry: it would look rigorous, add a passing
simulation and a mutation table to the page, and misrepresent
the architecture, because a real USB 3 device does not arbitrate
between the two buses -- they operate independently. WHAT THE MODULE'S FOUR SPECIMENS DID, AND WHY THAT WAS DIFFERENT
31.2 resp_valid = token_valid who may start a
transaction -- a
structural fact
31.3 idx = {tok_is_in, tok_ep} what identifies an
endpoint -- an encoding
31.4 bulk sees only what remains an allocation ORDER
31.5 fn_ep_en = attached && CONFIGURED a gate
Each of those four beliefs is a claim about a FUNCTION that some
block computes, so each becomes a line of RTL and each becomes a
one-line mutation that is the belief verbatim. This belief is not
of that kind, and pretending otherwise would be the worse error.The honest instrument for this chapter is the diagram, because the belief is a miscount and a diagram is what counting looks like. The instrument for the field is the observation in section 7.
7. What The Wrong Model Does To Debugging
SYMPTOM "our USB 3 device is slow"
WRONG MODEL one bus, running below its rated speed
WRONG QUESTION why is our throughput low?
WASTED ON buffer sizes, packet sizes, queue depths, driver
tuning, DMA, the firmware's transfer loop -- all
of which are irrelevant if the device is on the
other bus
CORRECT MODEL two buses; one of them may not have established
THE FIRST QUESTION, and it takes one command:
WHICH BUS IS THIS DEVICE ON?
(the host reports the negotiated speed -- lsusb -t on
Linux, the USB tree in Device Manager on Windows,
System Information on macOS)
and the two answers are two unrelated investigations:
operating at USB 2 speed -> SuperSpeed never established.
Cable, hub, port wiring, board
routing of the SS pairs, link
training. NOT a throughput problem
and nothing in the device's data
path is implicated.
operating at SuperSpeed -> now it is a throughput question,
and 31.4 applies: what else is on
this controller, and how much
periodic bandwidth is committed? SYMPTOM "it works on my desk and not in the enclosure"
WRONG MODEL a cable either works or it does not
THE OBSERVATION compare the NEGOTIATED SPEED in both places, not
the throughput
TYPICAL CAUSE the enclosure's front-panel header, its internal
cable, or an internal hub is USB 2 only
A cable that "works" is not a cable that carries both buses. There
are four more wires, and they fail independently and silently.8. Interview Reasoning
"What is the difference between USB 2 and USB 3?"
The honest headline is that USB 3 preserved the programming model and replaced the mechanism — and it is worth answering in that order, because the preserved half is what makes the changed half easy to miss.
What carried over: endpoints are still a number and a direction, descriptors and configurations are unchanged in kind, enumeration still goes Default, Address, Configured, the four transfer types keep their names and purposes, and the host still holds scheduling authority. That is why a driver often ports with no changes at all, and that compatibility was a deliberate design decision rather than an accident.
What changed is more than a data rate. There are physically two buses in a USB 3 cable — the USB 2 D+/D− pair is still present and still used, and SuperSpeed adds two more pairs giving full duplex instead of half. They have different signalling, different link layers, and they operate independently. A USB 3 hub is literally two hubs in one package, a USB 2 one and a SuperSpeed one, with separate topologies — which is why a slow USB 2 device behind a USB 3 hub no longer steals bandwidth from a USB 3 device.
And the change that matters most to a device designer is the transaction model. On USB 2 an idle interrupt endpoint is polled forever and answers NAK every time; on USB 3 the host asks once and the device responds asynchronously, which is what makes link power management possible. So the low idle power of USB 3 comes from the protocol change, not from the PHY — they are two different changes and people attribute both to speed.
The practical consequence I would flag in any review: a USB 3 device that enumerates at USB 2 speed does not have a throughput problem. It failed to establish SuperSpeed and fell back — correctly, with no error reported anywhere — so the first observation is which bus it is on, not what its throughput is. Cables are the usual cause, because there are four extra wires that fail independently and silently.
9. Exercises
1 COUNT
List every conductor in a USB 3 cable and say which bus each one
belongs to.
2 THE HUB
Draw a USB 3 hub with one USB 2 device and one USB 3 device
attached, showing which internal hub each connects through.
3 POLLING
Explain why USB 2 could not have link power management even at
USB 3 data rates.
4 FALLBACK
A device negotiates USB 2 speed in a USB 3 port. List five
causes, and say which of them are in the device.
5 COMPATIBILITY
USB 3 could have emulated USB 2 over the new PHY instead of
keeping the old pair. Argue both sides, and name the
misconception each choice would have produced.
6 CARRY-OVER
For each of 31.1 through 31.5, state whether its correction is
still true on USB 3 and why.
7 NO RTL
Section 6 argues that this belief is not the kind that becomes a
line of RTL. Construct the strongest counter-argument, then say
what a reader would actually learn from the block you proposed.
8 DEBUG
Write the two-command diagnostic you would give a support team
for "our USB 3 device is slow", and say what each command rules
out.
9 DESIGN REVIEW
Write the 30.4-style review question that would catch a board
whose SuperSpeed pairs are routed without regard to length
matching.
10 THE WHOLE MODULE
Pick the belief from this module that you have personally held,
and write the prediction you made because of it.10. What Carries Forward
THE CORRECTION
o USB 3 preserved the PROGRAMMING MODEL and replaced the
MECHANISM. Both halves matter.
o there are TWO BUSES in the cable, physically separate, operable
at the same time, sharing a connector and an address space
o half duplex on one pair became full duplex on two
o host-polls-and-device-NAKs became request-and-asynchronous-
response, and THAT is what makes link power management possible
o a USB 3 hub is two hubs, with separate topologies
o fallback to USB 2 is CORRECT, SILENT and ERRORLESS -- which is
what makes the connector's promise work and what makes the
misconception expensive
WHY NO RTL
o this belief is a MISCOUNT, not a wrong function. The other four
beliefs in this module are each a claim about something a block
computes, so each became one line and one mutation. This one
would have become a "dual-bus arbiter" that misrepresents an
architecture in which the two buses do not arbitrate at all.
o RTL manufactured for symmetry looks like rigour and teaches the
reader your simplification instead of the subject
THE DEBUG CONSEQUENCE
o "our USB 3 device is slow" -> which bus is it on? One command.
Two answers, two unrelated investigations, and only one of them
is about throughput.
o a cable that "works" is not a cable that carries both buses11. Closing The Curriculum
This is the last chapter of the USB track — 180 chapters, 31 modules — and the module it ends with was chosen deliberately. The final subject is not a feature. It is the six wrong models an engineer is most likely to be carrying while holding all the correct facts.
THE SIX, AND WHAT EACH ONE COSTS
31.1 point-to-point only looks for a bus conflict that
cannot exist
31.2 devices initiate asks "why isn't the device
sending" -- a question with no
answer
31.3 endpoints are ports debugs a buffer that no name
reaches
31.4 bulk is always fastest quotes an idle-bus number as a
specification
31.5 enumeration is optional debugs a perfect data path that
was never reached
31.6 USB 3 is faster USB 2 tunes throughput on a device that
is on the other bus
NOT ONE OF THEM PRODUCES A WRONG BIT. Every one of them produces a
CONFIDENT WRONG QUESTION, which is far more expensive, because a
wrong answer gets corrected and a wrong question gets pursued.And the method lesson that this module turned out to demonstrate more sharply than any other, because the measurement said something we did not set out to prove:
Each belief was encoded as a one-line mutation and scored:
P-M1 1,098 D-M1 48 S-M1 218 E-M1 1,246
P-M2 3 D-M2 58 S-M2 78 E-M2 22
The four "whole belief" mutations score high because a
misconception is not a corner case -- it is wrong nearly
everywhere. Removing the dedicated intent phase took 1,098 to 236
and 1,246 to 437, not to zero.
So: NOBODY SHIPS THESE BELIEFS. Build one and nothing works.
They survive in the heads of people DEBUGGING correct hardware,
where there is no testbench, no assertion and no mutation score --
only a prediction, and no habit of noticing when it was wrong.That is the argument for the whole track. The facts in the preceding thirty modules are the easy part; they are in the specification and you can look them up. The model that tells you which observation to make first is not in the specification at all, and this module is where it was written down.
THE FOUR VERIFICATION PRINCIPLES THIS MODULE MEASURED
1 A DUT and a reference model written by the same person from the
same sentence are ONE artefact. 31.4's missing clamp was found
by an intent check while the design and its model agreed.
2 An INTENT CHECK states the claim in the architecture's own terms
and consults no model -- which is the only kind of check that
can express "these two must DIFFER" (31.3) or "this must stay
silent for 200 cycles" (31.2, 31.5).
3 Exhaustive is exhaustive over THE AXES IT HAS. 31.3's fifth axis
and 31.4's "below / at / above" axis each exist because a
specific misconception was named first.
4 A property that a CORRECT design violates is the most precise
statement of a misconception available -- 31.4 §8 writes one
down and never enables it. WHERE TO GO FROM HERE
o Module 30 is the review procedure. Run it on something real --
your own design, or an open-source USB core -- and record what
the checklist found that reading did not.
o Module 27 is the interview set. The answers in this module's
section 12s and 8s are written the way an answer should sound.
o Modules 21-26 are the RTL and verification build. If you have
read without building, that is the gap.
o And the habit worth keeping is the smallest thing in the track:
when a system does not do what you expect, ask what your model
PREDICTED before asking what the system did wrong. Six times in
this module, the prediction was the defect.That last line is where the track ends, and it is deliberately the smallest thing in it. A hundred and eighty chapters of USB are worth less than the reflex of noticing, in the moment before you start debugging, that you have already made a prediction — and of checking that one first.
Continue learning
Related tutorials
- Related topic
“USB Is Point-to-Point Only”
One cable, two ends — so the belief is drawn from the thing in your hand. Its prediction is that two devices on one port must contend. A tiered star with a flat address space, and a hub that is a device rather than a multiplexer.
- Related topic
Dual-Bus Architecture
A USB 3 cable carries two complete buses — physically parallel, logically exclusive — and the presence pull-up deliberately sits outside that exclusion.
- Related topic
USB 3.x Architecture
The generation that added conductors instead of driving the existing pair harder. Why a second bus running alongside the first is a different kind of change from a new mode, what coexistence costs an implementation, and how to read a naming scheme revised more than once.
- Related topic
USB Backward Compatibility
Before the phrase means anything it has to say which layer. Fallback and coexistence are different mechanisms; effective capability is an intersection across host, device and interconnect rather than a property of any one; and over-claiming is the bug the model catches.
Standards & specifications
- Governing standard
- USB-IF (Universal Serial Bus Specification)(opens USB Implementers Forum (USB-IF) in a new tab)
Defines the USB bus — its electrical signalling, connectors, packet and transaction model, device framework and the descriptors a device must expose — together with the device-class specifications layered on it. It does not define host-controller register interfaces (xHCI and EHCI are separate documents) nor any operating system's driver architecture.
This page also covers RTL structure, verification approach and debugging technique. Those are engineering practice built on the standard, not requirements the standard itself imposes.
Where this fits
Part of the USB curriculum.
