[alsa-devel] Boss GT-001
Ricard Wanderlof
ricard.wanderlof at axis.com
Wed Oct 7 17:20:39 CEST 2015
On Wed, 7 Oct 2015, Keith A. Milner wrote:
> The data I'm getting from Wireshark via USBMon seems OK from my initial
> viewing. Incidentally, Wireshark can sniff directly from usbmon interfaces and
> exposes them as capture interfaces (at least with the version I have).
Same here. I might have been unclear in my previous message, but that is
what I meant.
> The isochronous data appears as follows:
>
> "54","24.767751000","host","7.14","USB","192","URB_ISOCHRONOUS
Yes, these are the isochronous packet headers.
> in","eeffffff 00000000 70000000 00000000 eeffffff 70000000...",""
-------- -------- -------- --------
tag ? offset length status and again (next header)
My understanding is that the isochronous data is sent one packet per frame
on the wire (interval: 1 ms for full speed, 125 µs (actually called a
microframe) for high speed) but delivering the data one packet at a time
to the USB application would result in a lot of packet transfers, so
isochronous data is lumped together and delivered at some more or less
regular interval to the higher layers. So at USB API (or Wireshark) layer
you get these 'isochronous' packets which list a bunch of headers followed
by the corresponding data as a single 'packet', even though it's been
assembled from several distinct ones. The 'offset' fields are relative to
the end of the headers in the resulting packet, where the actual
isochronous data starts.
> Wireshark also appears to decode them quite nicely. I've pasted one of the
> GET DESCRIPTOR responses below.
> ...
> DESCRIPTOR Response CONFIGURATION
>
> Frame 9: 240 bytes on wire (1920 bits), 240 bytes captured (1920 bits) on
> interface 0
> ...
> iInterface: 0
> UNKNOWN DESCRIPTOR
> bLength: 6
> bDescriptorType: 0x24 (unknown)
> INTERFACE DESCRIPTOR (1.1): class Vendor Specific
> bLength: 9
> bDescriptorType: 0x04 (INTERFACE)
> ...
Actually, you should be able to get the configuration information directly
in Linux by using 'lsusb -v'. It lists the 'Unknown descriptors' in their
entirety in hex (prefixed by 'UNRECOGNIZED:') so that you can decode them
separately without having to examine the actual binary packet content in
Wireshark.
/Ricard
--
Ricard Wolf Wanderlöf ricardw(at)axis.com
Axis Communications AB, Lund, Sweden www.axis.com
Phone +46 46 272 2016 Fax +46 46 13 61 30
More information about the Alsa-devel
mailing list