tcpdump mailing list archives

Re: Speed specific Link-Layer Header Types for USB 2.0


From: Tomasz Moń via tcpdump-workers <tcpdump-workers () lists tcpdump org>
Date: Mon, 9 May 2022 10:58:51 +0200

--- Begin Message --- From: Tomasz Moń <desowin () gmail com>
Date: Mon, 9 May 2022 10:58:51 +0200
On Mon, May 9, 2022 at 9:17 AM Guy Harris <gharris () sonic net> wrote:
On May 8, 2022, at 10:47 PM, Tomasz Moń <desowin () gmail com> wrote:
On Sun, May 8, 2022 at 8:53 PM Guy Harris <gharris () sonic net> wrote:
At least from a quick look at section 5.2.3 "Physical Bus Topology" of the USB 2.0 spec, a given bus can either be 
a high-speed bus or a full/low-speed bus.

The full/low-speed bus applies only to upstream link from full speed hub.

So what happens if you plug a low-speed keyboard or mouse into a host that supports USB 2.0?  Does that link not run 
at low speed?

The link will run at low speed.

"super-speed" is USB 3.0, right?  No LINKTYPE_/DLT_ has been proposed for the 3.0 link layer, as far as I know.

Yes, "super-speed" is USB 3.0. I don't know of any open source sniffer
nor any tools that would really want to export the packets to pcap
format. Hopefully USB 3.0 is a completely separate matter.

But no full-speed or low-speed will go over that connection, either, so it's never the case that, in a capture on a 
USB cable, there will be both high-speed and full/low-speed traffic, right?

Yes. You either get solely high-speed traffic or full/low-speed traffic.

(And presumably this is for captures on a single USB cable; if you're capturing on more than one cable, that's with 
more than one capture interface, so that's a job for pcapng, with different interfaces having different link-layer 
types.)

Yes, combining multiple capture interfaces should be handled by pcapng.

So, as per a few paragraphs above ("If you connect high-speed hub to high-speed host ... the communication on the 
connecting wires will be at high
speed (480 Mb/s)."), if you have a high-speed hub connected to a high-speed host, and the high-speed hub has 
full-speed or low-speed devices downstream, the packets from the host to the hub, ultimately intended for the 
full-speed or low-speed device, are sent as high-speed traffic, and only the downstream traffic from the host to the 
full-speed or low-speed device is full-speed or low-speed?

If by "downstream traffic from the host" you mean "downstream traffic
from the hub", then this is correct.

However, if you have a full-speed hub connected to a full-speed or high-speed host, and the full-speed hub has 
low-speed devices downstream, the packets from the host to the hub, ultimately intended for the low-speed device, are 
sent as a full-speed PRE packet followed by a transaction sent as low-speed traffic?

Yes, and only the low-speed traffic will get passed through to the
downstream low speed devices. That is, on the cable connecting to the
low speed device there is only low speed traffic.

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

Current thread: