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 08:09:59 +0200
--- Begin Message --- From: Tomasz Moń <desowin () gmail com>
Date: Mon, 9 May 2022 08:09:59 +0200
On Sun, May 8, 2022 at 11:15 PM Guy Harris <gharris () sonic net> wrote:On May 8, 2022, at 1:30 PM, Michael Richardson <mcr () 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.In most cases all the packets will be at the same speed. The only corner case is how the full/low speed is being handled. This dates back to the original USB 1.0 specification and is kept for compatibility reasons.But, maybe I'm wrong and that actually requires there to be a USB hub out there.The hub is the complex part. Between host and device, with no intermediate hubs in the path, all packets are always sent at the same speed.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.All packets between high speed host and high speed hub are at high speed (including the packets that are intended for a full or low speed devices). Transaction Translator basically buffers the data and sends/receives packets to/from downstream devices at the correct speed (full/low). Determining the target device speed during (the high speed traffic from host to hub) dissection is simple as the speed is indicated in the SPLIT packet.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.Note that end nodes cannot directly communicate with each other. The communication is always between host and a device. Device to device communication is not possible. If Transaction-Translator is involved, it essentially fulfills the speed translation from host (when reading from downstream device Transaction Translator does keep issuing IN until the device responds with data or stalls the endpoint; as long as NAKs are received Transaction Translator will keep responding to the host SPLIT COMPLETE with NYET).
--- End Message ---
_______________________________________________ tcpdump-workers mailing list tcpdump-workers () lists tcpdump org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers
Current thread:
- Speed specific Link-Layer Header Types for USB 2.0 Tomasz Moń via tcpdump-workers (May 08)
- Re: Speed specific Link-Layer Header Types for USB 2.0 Guy Harris via tcpdump-workers (May 08)
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Guy Harris via tcpdump-workers (May 08)
- Message not available
- Message not available
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Tomasz Moń via tcpdump-workers (May 08)
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Tomasz Moń via tcpdump-workers (May 09)
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Tomasz Moń via tcpdump-workers (May 09)
- Re: Speed specific Link-Layer Header Types for USB 2.0 Guy Harris via tcpdump-workers (May 08)
- Message not available
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Guy Harris via tcpdump-workers (May 09)
- Message not available
- Message not available
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Tomasz Moń via tcpdump-workers (May 09)
- Message not available
- Message not available
- Message not available
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Guy Harris via tcpdump-workers (May 09)
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Tomasz Moń via tcpdump-workers (May 09)
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Guy Harris via tcpdump-workers (May 09)
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Tomasz Moń via tcpdump-workers (May 09)
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Guy Harris via tcpdump-workers (May 09)
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Re: Speed specific Link-Layer Header Types for USB 2.0 Tomasz Moń via tcpdump-workers (May 09)
