--- Begin Message ---
On May 8, 2022, at 1:30 PM, Michael Richardson <m...@sandelman.ca> wrote:

> I guess I would have thought that a physical bus could have a mix of
> different devices which operate at different speeds.  As such, I wondered if
> you really needed pcapng to be able to mix LINKTYPES in the same file, or
> a different bit of meta-data to indicate bus speed for each frame captured.
> 
> But, maybe I'm wrong and that actually requires there to be a USB hub out 
> there.

"Bus" is a bit weird here.

To quote section 4.1.1 "Bus Topology" of the USB 2.0 pec:

        The USB connects USB devices with the USB host. The USB physical 
interconnect is a tiered star topology. A hub is at the center of each star. 
Each wire segment is a point-to-point connection between the host and a hub or 
function, or a hub connected to another hub or function. Figure 4-1 illustrates 
the topology of the USB.

and Figure 5-6 "Multiple Full-speed Buses in a High-speed System" seems to use 
the term "bus" to refer to wire segments.

I think a point-to-point connection between the host and another entity may 
always run at a single speed, as well as a connection between a hub and a 
function.

It might also be the case that a hub-to-hub connection also runs at a single 
speed.  Section 11.14 "Transaction Translator" says:

        A hub has a special responsibility when it is operating in high-speed 
and has full-/low-speed devices connected on downstream facing ports. In this 
case, the hub must isolate the high-speed signaling environment from the 
full-/low-speed signaling environment. This function is performed by the 
Transaction Translator (TT) portion of the hub.

so if you have a full-speed or low-speed device plugged into a USB 2.0 hub, and 
that hub is connected to a host, the host-to-hub link is high-speed, and the 
hub-to-device link is full-speed or low-speed, and the hub does the 
translation.  That way, you can plug a high-speed device and a full-speed or 
low-speed device into the hub, and the host will be able to talk at high speed 
to the high-speed device.

USB isn't a shared bus like non-switched Ethernet; it's more like switched 
Ethernet or point-to-point Ethernet, with links being point-to-point, either a 
direct connection between end nodes or connections to a switching device that 
handles speed translation if two end nodes of different speed capabilities are 
communicating.

--- End Message ---
_______________________________________________
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Reply via email to