--- Begin Message ---
On May 9, 2022, at 1:58 AM, Tomasz Moń <deso...@gmail.com> wrote:

> On Mon, May 9, 2022 at 9:17 AM Guy Harris <ghar...@sonic.net> wrote:
>> On May 8, 2022, at 10:47 PM, Tomasz Moń <deso...@gmail.com> wrote:
>>> On Sun, May 8, 2022 at 8:53 PM Guy Harris <ghar...@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.

So what kind of bus is that link?  High-speed, full/low-speed, or 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.

And, if there ever *are* (I see no reason to rule it out), they can ask for 
another link-layer type when they need it.

>> 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.

OK, so it makes sense to have a separate link-layer type for high-speed 
traffic, rather than a single link-layer type for "USB link-layer with metadata 
header, with the per-packet metadata header indicating the speed".

But, if, as you said earlier:

> If you capture at the connection between low speed device and
> host/hub, there will only ever be low speed packets. It would be a
> LINKTYPE_USB_2_0_LOW_SPEED capture.
> 
> The problematic case (and the reason why full/low-speed bus is
> mentioned) is the LINKTYPE_USB_2_0_FULL_SPEED. It is the case when you
> capture at the connection between full speed hub and the host (and
> possibly full speed device connected to a full speed hub if there are
> low speed devices connected to the full speed hub). If there is low
> speed device connected to downstream hub port, then when the host
> wants to send packets to the low speed device, these will be sent at
> low speed to the hub. However, there will be PRE packet (sent at full
> speed) before every low speed transaction.

can there be separate link-layer types for full-speed and low-speed traffic, or 
does there need to be a single type for full/low-speed traffic, with a 
per-packet metadata header indicating the speed"?

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

Reply via email to