1
\$\begingroup\$

enter image description here

Host transmitted protocol packets are routed through intervening hubs directly to a peripheral device. They do not traverse bus paths that are not part of the direct path between the host and the target peripheral device. -- USB 3.0, section 3.2.3

USB 2.0 is broadcast technology, meaning that all devices on the bus receive all packets. USB 3.0 is unicast technology, meaning that packets are routed only to the target device.

Technically, shouldn't we be saying "USB 2 hub" and "USB 3 router"?

\$\endgroup\$
7
  • \$\begingroup\$ @DaveTweed, my document, at section 3.1.4, contrasts USB 3.0 with USB 2.0: "Packet traffic is explicitly routed | Packet traffic is broadcast to all devices.". I am not familiar with USB at all, so if I am misunderstanding this please point this out verbosely. Thanks! \$\endgroup\$
    – Vorac
    Oct 11 '13 at 11:19
  • \$\begingroup\$ What exactly is "my document"? Is it something we can get access to? \$\endgroup\$
    – Dave Tweed
    Oct 11 '13 at 12:15
  • \$\begingroup\$ @DaveTweed, it's some variant of the USB 3.0 specification dated 1 May 2011. Here Chris has provided link to download any version of the USB specification. <sub>Linking to the question and not the end site as IMHO the poster deserves some upvotes for the excellent link.</sub> \$\endgroup\$
    – Vorac
    Oct 11 '13 at 12:24
  • \$\begingroup\$ OK, it looks like I was mistaken. USB 2.0 (and earlier) hubs do broadcast data to all active ports in the downstream direction. This surprises me, because it seems to complicate matters when the upstream port is high speed and one or more downstream ports are low/full speed, requiring the use of the transaction translator. \$\endgroup\$
    – Dave Tweed
    Oct 11 '13 at 21:08
  • \$\begingroup\$ USB hubs aren't Ethernet hubs, but so what? USB isn't Ethernet, why should Ethernet-specific words have the same meanings? \$\endgroup\$
    – user253751
    Mar 20 '18 at 6:40
0
\$\begingroup\$

USB does not use a hub setup. In an Ethernet HUB, A message from Point A, will go to Points B, C and D, regardless. In a USB Hub, there is a specific Upstream Port, and Multiple Downstream ports. There is ZERO interaction between Downstream ports Any possible interactions between Downstream Port 1 and Downstream Port 2, must go all the way up to the Host to manage and redirect. This is true for USB 1, 1.1 and 2. Heck, USB can't even be considered a BUS, as all communication is done on individual Upstream Device to Downstream Device paths. At no point does a single link have more than 2 devices connected to it.

\$\endgroup\$
5
  • \$\begingroup\$ I had not considered this. Still, please consider the downstream communication (when the host sends a packet to a device). "The USB 2.0 broadcasts packets to all enabled downstream ports. Every device is required to decode the address triple {device address, endpoint, and direction} of each packet to determine if it needs to respond." section 4.3.1.1 from the quoted under my question document. \$\endgroup\$
    – Vorac
    Oct 11 '13 at 13:58
  • \$\begingroup\$ @Vorac It's correct, but you have to consider that by broadcasting, it means the same message goes out on all downstream links, like a broadcast message on a ethernet switch, not that all downstream links are connected like an ethernet hub. And that's only for downstream communication. See the 2.0 spec's chapter 11 for the hub primer. \$\endgroup\$
    – Passerby
    Oct 11 '13 at 14:29
  • \$\begingroup\$ I think this is enough to answer my question. USB 2.0 hubs are also quite different than Ethernet hubs with regard of high-level operation. \$\endgroup\$
    – Vorac
    Oct 11 '13 at 14:48
  • \$\begingroup\$ the OP is asking about USB 3.0, not 2.0 or below \$\endgroup\$
    – phuclv
    Aug 5 '15 at 12:11
  • \$\begingroup\$ @luru 3.0 is backwards compatible \$\endgroup\$
    – Passerby
    Aug 5 '15 at 12:17
4
\$\begingroup\$

The spec calls it a hub, conventional usage calls it a hub, so I'll call it a hub.

I'm not sure what purpose it would serve to call it a router; some sort of extreme linguistic prescriptivism?

\$\endgroup\$
1
\$\begingroup\$

Yes, and we also should say: "dihydrogen monoxide" instead of simply "water".

And how about "github"? Is it hub or not?

The terminology is a mix of traditions, knowledge and unusual use of usual words.

\$\endgroup\$
5
  • 1
    \$\begingroup\$ I think hydrogen oxide is quite expensive to get, or rather impossible. On the other hand, water is very cheep. Further, it is Github, not github i.e. it is a name :p \$\endgroup\$
    – Vorac
    Oct 11 '13 at 9:54
  • \$\begingroup\$ [pedantic mode on] Isn't it dihydrogen oxide? Hydrogen oxide is the radical -OH. [pedantic mode off] \$\endgroup\$
    – amadeus
    Oct 11 '13 at 11:13
  • \$\begingroup\$ @amadeus, water, acid. Very strange for me too. \$\endgroup\$
    – Vorac
    Oct 11 '13 at 11:16
  • \$\begingroup\$ @amadeus - Yes, you are almost right. I was not sure how is it in English. :) Answer edited. \$\endgroup\$
    – johnfound
    Oct 11 '13 at 11:25
  • 2
    \$\begingroup\$ gitrouter doesn't sound as nice :) \$\endgroup\$
    – HL-SDK
    Oct 11 '13 at 19:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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