kern/152622: [pcm] uaudio recording problem

Thierry Thomas thierry at FreeBSD.org
Sun Apr 10 12:50:12 UTC 2011


The following reply was made to PR kern/152622; it has been noted by GNATS.

From: Thierry Thomas <thierry at FreeBSD.org>
To: Hans Petter Selasky <hselasky at c2i.net>
Cc: freebsd-multimedia at freebsd.org, FreeBSD-gnats-submit at freebsd.org
Subject: Re: kern/152622: [pcm] uaudio recording problem
Date: Sun, 10 Apr 2011 14:38:58 +0200

 On sun 10 apr 11 at 13:17:16 +0200, Hans Petter Selasky <hselasky at c2i.net>
  wrote:
 
 > > Could you show dmesg with USB debugging on for USB audio while doing this.
 > > Maybe the webcam needs to be running before you get audio.
 > > 
 > 
 > Also dump the configuration descriptor for your device using:
 > 
 > usbconfig -d X.Y dump_curr_config_desc
 
 Here is it:
 
 Apr 10 14:31:40 graf kernel: ugen4.3: <vendor 0x046d> at usbus4
 Apr 10 14:31:40 graf kernel: uaudio0: <vendor 0x046d product 0x0825, class 239/2, rev 2.00/0.10, addr 3> on usbus4
 Apr 10 14:31:40 graf kernel: uaudio0: No playback!
 Apr 10 14:31:40 graf kernel: uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format
 Apr 10 14:31:40 graf kernel: uaudio0: No midi sequencer
 Apr 10 14:31:40 graf kernel: pcm1: <USB audio> on uaudio0
 Apr 10 14:32:16 graf su: thierry to root on /dev/pts/1
 Apr 10 14:32:46 graf kernel: uaudio_chan_record_callback: transferred 0 bytes
 Apr 10 14:32:51 graf last message repeated 623 times
 Apr 10 14:32:51 graf kernel: pcm1: chn_read(): pcm1:virtual:dsp1.vr0: record interrupt timeout, channel dead
 Apr 10 14:33:00 graf kernel: uaudio_chan_record_callback: transferred 0 bytes
 Apr 10 14:33:05 graf last message repeated 623 times
 Apr 10 14:33:05 graf kernel: pcm1: chn_read(): pcm1:virtual:dsp1.vr0: record interrupt timeout, channel dead
 
 # usbconfig -d 4.3 dump_curr_config_desc
 
 ugen4.3: <product 0x0825 vendor 0x046d> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
 
 
  Configuration index 0
 
     bLength = 0x0009 
     bDescriptorType = 0x0002 
     wTotalLength = 0x09a5 
     bNumInterfaces = 0x0004 
     bConfigurationValue = 0x0001 
     iConfiguration = 0x0000  <no string>
     bmAttributes = 0x0080 
     bMaxPower = 0x00fa 
 
     Additional Descriptor
 
     bLength = 0x08
     bDescriptorType = 0x0b
     bDescriptorSubType = 0x00
      RAW dump: 
      0x00 | 0x08, 0x0b, 0x00, 0x02, 0x0e, 0x03, 0x00, 0x00
 
 
     Interface 0
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0000 
       bAlternateSetting = 0x0000 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0001 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
       Additional Descriptor
 
       bLength = 0x0d
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump: 
        0x00 | 0x0d, 0x24, 0x01, 0x00, 0x01, 0x9f, 0x00, 0x00, 
        0x08 | 0x6c, 0xdc, 0x02, 0x01, 0x01
 
 
       Additional Descriptor
 
       bLength = 0x12
       bDescriptorType = 0x24
       bDescriptorSubType = 0x02
        RAW dump: 
        0x00 | 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 
        0x08 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0e, 
        0x10 | 0x00, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x0b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x0b, 0x24, 0x05, 0x02, 0x01, 0x00, 0x40, 0x02, 
        0x08 | 0x5b, 0x17, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x1b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x06
        RAW dump: 
        0x00 | 0x1b, 0x24, 0x06, 0x03, 0xe4, 0x8e, 0x67, 0x69, 
        0x08 | 0x0f, 0x41, 0xdb, 0x40, 0xa8, 0x50, 0x74, 0x20, 
        0x10 | 0xd7, 0xd8, 0x24, 0x0e, 0x08, 0x01, 0x02, 0x02, 
        0x18 | 0x3f, 0x03, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x1a
       bDescriptorType = 0x24
       bDescriptorSubType = 0x06
        RAW dump: 
        0x00 | 0x1a, 0x24, 0x06, 0x04, 0x15, 0x02, 0xe4, 0x49, 
        0x08 | 0x34, 0xf4, 0xfe, 0x47, 0xb1, 0x58, 0x0e, 0x88, 
        0x10 | 0x50, 0x23, 0xe5, 0x1b, 0x00, 0x01, 0x02, 0x01, 
        0x18 | 0x00, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x1c
       bDescriptorType = 0x24
       bDescriptorSubType = 0x06
        RAW dump: 
        0x00 | 0x1c, 0x24, 0x06, 0x06, 0xa9, 0x4c, 0x5d, 0x1f, 
        0x08 | 0x11, 0xde, 0x87, 0x44, 0x84, 0x0d, 0x50, 0x93, 
        0x10 | 0x3c, 0x8e, 0xc8, 0xd1, 0x12, 0x01, 0x04, 0x03, 
        0x18 | 0xff, 0xff, 0x03, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x1b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x06
        RAW dump: 
        0x00 | 0x1b, 0x24, 0x06, 0x07, 0x21, 0x2d, 0xe5, 0xff, 
        0x08 | 0x30, 0x80, 0x2c, 0x4e, 0x82, 0xd9, 0xf5, 0x87, 
        0x10 | 0xd0, 0x05, 0x40, 0xbd, 0x02, 0x01, 0x04, 0x02, 
        0x18 | 0x00, 0x03, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x09
       bDescriptorType = 0x24
       bDescriptorSubType = 0x03
        RAW dump: 
        0x00 | 0x09, 0x24, 0x03, 0x05, 0x01, 0x01, 0x00, 0x04, 
        0x08 | 0x00
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0087  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0010 
         bInterval = 0x0008 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
       Additional Descriptor
 
       bLength = 0x05
       bDescriptorType = 0x25
       bDescriptorSubType = 0x03
        RAW dump: 
        0x00 | 0x05, 0x25, 0x03, 0x10, 0x00
 
 
 
     Interface 1
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x0000 
       bNumEndpoints = 0x0000 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
       Additional Descriptor
 
       bLength = 0x10
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump: 
        0x00 | 0x10, 0x24, 0x01, 0x03, 0x3a, 0x07, 0x81, 0x00, 
        0x08 | 0x05, 0x01, 0x00, 0x00, 0x01, 0x00, 0x04, 0x04
 
 
       Additional Descriptor
 
       bLength = 0x1b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x04
        RAW dump: 
        0x00 | 0x1b, 0x24, 0x04, 0x01, 0x13, 0x59, 0x55, 0x59, 
        0x08 | 0x32, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 
        0x10 | 0xaa, 0x00, 0x38, 0x9b, 0x71, 0x10, 0x01, 0x00, 
        0x18 | 0x00, 0x00, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x32, 0x24, 0x05, 0x01, 0x01, 0x80, 0x02, 0xe0, 
        0x08 | 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0xca, 
        0x10 | 0x08, 0x00, 0x60, 0x09, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x32, 0x24, 0x05, 0x02, 0x01, 0xa0, 0x00, 0x78, 
        0x08 | 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0xa0, 0x8c, 
        0x10 | 0x00, 0x00, 0x96, 0x00, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x32, 0x24, 0x05, 0x03, 0x01, 0xb0, 0x00, 0x90, 
        0x08 | 0x00, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0xa0, 0xb9, 
        0x10 | 0x00, 0x00, 0xc6, 0x00, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x32, 0x24, 0x05, 0x04, 0x01, 0x40, 0x01, 0xb0, 
        0x08 | 0x00, 0x00, 0xc0, 0x44, 0x00, 0x00, 0x80, 0x9c, 
        0x10 | 0x01, 0x00, 0xb8, 0x01, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x32, 0x24, 0x05, 0x05, 0x01, 0x40, 0x01, 0xf0, 
        0x08 | 0x00, 0x00, 0xc0, 0x5d, 0x00, 0x00, 0x80, 0x32, 
        0x10 | 0x02, 0x00, 0x58, 0x02, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x32, 0x24, 0x05, 0x06, 0x01, 0x60, 0x01, 0x20, 
        0x08 | 0x01, 0x00, 0xc0, 0x7b, 0x00, 0x00, 0x80, 0xe6, 
        0x10 | 0x02, 0x00, 0x18, 0x03, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x32, 0x24, 0x05, 0x07, 0x01, 0xb0, 0x01, 0xf0, 
        0x08 | 0x00, 0x00, 0x90, 0x7e, 0x00, 0x00, 0x60, 0xf7, 
        0x10 | 0x02, 0x00, 0x2a, 0x03, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x32, 0x24, 0x05, 0x08, 0x01, 0x20, 0x02, 0x20, 
        0x08 | 0x01, 0x00, 0x40, 0xbf, 0x00, 0x00, 0x80, 0x7b, 
        0x10 | 0x04, 0x00, 0xc8, 0x04, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x32, 0x24, 0x05, 0x09, 0x01, 0x80, 0x02, 0x68, 
        0x08 | 0x01, 0x00, 0x40, 0x19, 0x01, 0x00, 0x80, 0x97, 
        0x10 | 0x06, 0x00, 0x08, 0x07, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x2e
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x2e, 0x24, 0x05, 0x0a, 0x01, 0xf0, 0x02, 0xa0, 
        0x08 | 0x01, 0x00, 0xe0, 0x7d, 0x01, 0x00, 0x60, 0x75, 
        0x10 | 0x07, 0x00, 0x8c, 0x09, 0x00, 0x80, 0x1a, 0x06, 
        0x18 | 0x00, 0x05, 0x80, 0x1a, 0x06, 0x00, 0x20, 0xa1, 
        0x20 | 0x07, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 
        0x28 | 0x0f, 0x00, 0x80, 0x84, 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x2e
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x2e, 0x24, 0x05, 0x0b, 0x01, 0x20, 0x03, 0xc0, 
        0x08 | 0x01, 0x00, 0x80, 0xb5, 0x01, 0x00, 0x80, 0x8b, 
        0x10 | 0x08, 0x00, 0xf0, 0x0a, 0x00, 0x80, 0x1a, 0x06, 
        0x18 | 0x00, 0x05, 0x80, 0x1a, 0x06, 0x00, 0x20, 0xa1, 
        0x20 | 0x07, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 
        0x28 | 0x0f, 0x00, 0x80, 0x84, 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x2a
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x2a, 0x24, 0x05, 0x0c, 0x01, 0x20, 0x03, 0x58, 
        0x08 | 0x02, 0x00, 0xf0, 0x49, 0x02, 0x00, 0xc0, 0x27, 
        0x10 | 0x09, 0x00, 0xa6, 0x0e, 0x00, 0x20, 0xa1, 0x07, 
        0x18 | 0x00, 0x04, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x20 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x28 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x2a
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x2a, 0x24, 0x05, 0x0d, 0x01, 0x60, 0x03, 0xe0, 
        0x08 | 0x01, 0x00, 0x40, 0xfa, 0x01, 0x00, 0x00, 0xe9, 
        0x10 | 0x07, 0x00, 0xa8, 0x0c, 0x00, 0x20, 0xa1, 0x07, 
        0x18 | 0x00, 0x04, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x20 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x28 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x26
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x26, 0x24, 0x05, 0x0e, 0x01, 0xc0, 0x03, 0x20, 
        0x08 | 0x02, 0x00, 0x80, 0x7d, 0x02, 0x00, 0x80, 0x78, 
        0x10 | 0x07, 0x00, 0xf0, 0x0f, 0x00, 0x2a, 0x2c, 0x0a, 
        0x18 | 0x00, 0x03, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 
        0x20 | 0x0f, 0x00, 0x80, 0x84, 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x22
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x22, 0x24, 0x05, 0x0f, 0x01, 0xc0, 0x03, 0xd0, 
        0x08 | 0x02, 0x00, 0xc0, 0x4b, 0x03, 0x00, 0x80, 0x97, 
        0x10 | 0x06, 0x00, 0x18, 0x15, 0x00, 0x40, 0x42, 0x0f, 
        0x18 | 0x00, 0x02, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x20 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x22
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x22, 0x24, 0x05, 0x10, 0x01, 0x00, 0x04, 0x40, 
        0x08 | 0x02, 0x00, 0x00, 0xd0, 0x02, 0x00, 0x00, 0xa0, 
        0x10 | 0x05, 0x00, 0x00, 0x12, 0x00, 0x40, 0x42, 0x0f, 
        0x18 | 0x00, 0x02, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x20 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x22
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x22, 0x24, 0x05, 0x11, 0x01, 0xa0, 0x04, 0x90, 
        0x08 | 0x02, 0x00, 0x20, 0xb4, 0x03, 0x00, 0x40, 0x68, 
        0x10 | 0x07, 0x00, 0xb4, 0x17, 0x00, 0x40, 0x42, 0x0f, 
        0x18 | 0x00, 0x02, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x20 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x22
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x22, 0x24, 0x05, 0x12, 0x01, 0x00, 0x05, 0xd0, 
        0x08 | 0x02, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0xca, 
        0x10 | 0x08, 0x00, 0x20, 0x1c, 0x00, 0x40, 0x42, 0x0f, 
        0x18 | 0x00, 0x02, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x20 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x22
       bDescriptorType = 0x24
       bDescriptorSubType = 0x05
        RAW dump: 
        0x00 | 0x22, 0x24, 0x05, 0x13, 0x01, 0x00, 0x05, 0xc0, 
        0x08 | 0x03, 0x00, 0x00, 0xdc, 0x05, 0x00, 0x00, 0xb8, 
        0x10 | 0x0b, 0x00, 0x80, 0x25, 0x00, 0x80, 0x84, 0x1e, 
        0x18 | 0x00, 0x02, 0x55, 0x58, 0x14, 0x00, 0x80, 0x84, 
        0x20 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x06
       bDescriptorType = 0x24
       bDescriptorSubType = 0x0d
        RAW dump: 
        0x00 | 0x06, 0x24, 0x0d, 0x01, 0x01, 0x04
 
 
       Additional Descriptor
 
       bLength = 0x0b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x06
        RAW dump: 
        0x00 | 0x0b, 0x24, 0x06, 0x02, 0x13, 0x01, 0x01, 0x00, 
        0x08 | 0x00, 0x00, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x01, 0x01, 0x80, 0x02, 0xe0, 
        0x08 | 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0xca, 
        0x10 | 0x08, 0x00, 0x60, 0x09, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x02, 0x01, 0xa0, 0x00, 0x78, 
        0x08 | 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0xa0, 0x8c, 
        0x10 | 0x00, 0x00, 0x96, 0x00, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x03, 0x01, 0xb0, 0x00, 0x90, 
        0x08 | 0x00, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0xa0, 0xb9, 
        0x10 | 0x00, 0x00, 0xc6, 0x00, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x04, 0x01, 0x40, 0x01, 0xb0, 
        0x08 | 0x00, 0x00, 0xc0, 0x44, 0x00, 0x00, 0x80, 0x9c, 
        0x10 | 0x01, 0x00, 0xb8, 0x01, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x05, 0x01, 0x40, 0x01, 0xf0, 
        0x08 | 0x00, 0x00, 0xc0, 0x5d, 0x00, 0x00, 0x80, 0x32, 
        0x10 | 0x02, 0x00, 0x58, 0x02, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x06, 0x01, 0x60, 0x01, 0x20, 
        0x08 | 0x01, 0x00, 0xc0, 0x7b, 0x00, 0x00, 0x80, 0xe6, 
        0x10 | 0x02, 0x00, 0x18, 0x03, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x07, 0x01, 0xb0, 0x01, 0xf0, 
        0x08 | 0x00, 0x00, 0x90, 0x7e, 0x00, 0x00, 0x60, 0xf7, 
        0x10 | 0x02, 0x00, 0x2a, 0x03, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x08, 0x01, 0x20, 0x02, 0x20, 
        0x08 | 0x01, 0x00, 0x40, 0xbf, 0x00, 0x00, 0x80, 0x7b, 
        0x10 | 0x04, 0x00, 0xc8, 0x04, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x09, 0x01, 0x80, 0x02, 0x68, 
        0x08 | 0x01, 0x00, 0x40, 0x19, 0x01, 0x00, 0x80, 0x97, 
        0x10 | 0x06, 0x00, 0x08, 0x07, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x0a, 0x01, 0xf0, 0x02, 0xa0, 
        0x08 | 0x01, 0x00, 0xe0, 0x7d, 0x01, 0x00, 0x40, 0xf3, 
        0x10 | 0x08, 0x00, 0x8c, 0x09, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x0b, 0x01, 0x20, 0x03, 0xc0, 
        0x08 | 0x01, 0x00, 0x80, 0xb5, 0x01, 0x00, 0x00, 0x41, 
        0x10 | 0x0a, 0x00, 0xf0, 0x0a, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x0c, 0x01, 0x20, 0x03, 0x58, 
        0x08 | 0x02, 0x00, 0xf0, 0x49, 0x02, 0x00, 0xa0, 0xbb, 
        0x10 | 0x0d, 0x00, 0xa6, 0x0e, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x0d, 0x01, 0x60, 0x03, 0xe0, 
        0x08 | 0x01, 0x00, 0x40, 0xfa, 0x01, 0x00, 0x80, 0xdd, 
        0x10 | 0x0b, 0x00, 0xa8, 0x0c, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x0e, 0x01, 0xc0, 0x03, 0x20, 
        0x08 | 0x02, 0x00, 0x80, 0x7d, 0x02, 0x00, 0x00, 0xf1, 
        0x10 | 0x0e, 0x00, 0xf0, 0x0f, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x0f, 0x01, 0xc0, 0x03, 0xd0, 
        0x08 | 0x02, 0x00, 0xc0, 0x4b, 0x03, 0x00, 0x80, 0xc6, 
        0x10 | 0x13, 0x00, 0x18, 0x15, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x10, 0x01, 0x00, 0x04, 0x40, 
        0x08 | 0x02, 0x00, 0x00, 0xd0, 0x02, 0x00, 0x00, 0xe0, 
        0x10 | 0x10, 0x00, 0x00, 0x12, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x11, 0x01, 0xa0, 0x04, 0x90, 
        0x08 | 0x02, 0x00, 0x20, 0xb4, 0x03, 0x00, 0xc0, 0x38, 
        0x10 | 0x16, 0x00, 0xb4, 0x17, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x12, 0x01, 0x00, 0x05, 0xd0, 
        0x08 | 0x02, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0x5e, 
        0x10 | 0x1a, 0x00, 0x20, 0x1c, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x32
       bDescriptorType = 0x24
       bDescriptorSubType = 0x07
        RAW dump: 
        0x00 | 0x32, 0x24, 0x07, 0x13, 0x01, 0x00, 0x05, 0xc0, 
        0x08 | 0x03, 0x00, 0x00, 0xdc, 0x05, 0x00, 0x00, 0x28, 
        0x10 | 0x23, 0x00, 0x80, 0x25, 0x00, 0x15, 0x16, 0x05, 
        0x18 | 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 
        0x20 | 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 
        0x28 | 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 
        0x30 | 0x1e, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x06
       bDescriptorType = 0x24
       bDescriptorSubType = 0x0d
        RAW dump: 
        0x00 | 0x06, 0x24, 0x0d, 0x01, 0x01, 0x04
 
 
 
     Interface 1 Alt 1
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x0001 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x00c0 
         bInterval = 0x0001 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
 
     Interface 1 Alt 2
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x0002 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x0180 
         bInterval = 0x0001 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
 
     Interface 1 Alt 3
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x0003 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x0200 
         bInterval = 0x0001 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
 
     Interface 1 Alt 4
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x0004 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x0280 
         bInterval = 0x0001 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
 
     Interface 1 Alt 5
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x0005 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x0320 
         bInterval = 0x0001 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
 
     Interface 1 Alt 6
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x0006 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x03b0 
         bInterval = 0x0001 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
 
     Interface 1 Alt 7
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x0007 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x0a80 
         bInterval = 0x0001 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
 
     Interface 1 Alt 8
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x0008 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x0b20 
         bInterval = 0x0001 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
 
     Interface 1 Alt 9
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x0009 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x0be0 
         bInterval = 0x0001 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
 
     Interface 1 Alt 10
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x000a 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x1380 
         bInterval = 0x0001 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
 
     Interface 1 Alt 11
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0001 
       bAlternateSetting = 0x000b 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x000e 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
      Endpoint 0
         bLength = 0x0007 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x13fc 
         bInterval = 0x0001 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
       Additional Descriptor
 
       bLength = 0x08
       bDescriptorType = 0x0b
       bDescriptorSubType = 0x02
        RAW dump: 
        0x00 | 0x08, 0x0b, 0x02, 0x02, 0x01, 0x02, 0x00, 0x00
 
 
 
     Interface 2
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0002 
       bAlternateSetting = 0x0000 
       bNumEndpoints = 0x0000 
       bInterfaceClass = 0x0001 
       bInterfaceSubClass = 0x0001 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
       Additional Descriptor
 
       bLength = 0x09
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump: 
        0x00 | 0x09, 0x24, 0x01, 0x00, 0x01, 0x26, 0x00, 0x01, 
        0x08 | 0x03
 
       Additional Descriptor
 
       bLength = 0x0c
       bDescriptorType = 0x24
       bDescriptorSubType = 0x02
        RAW dump: 
        0x00 | 0x0c, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 
        0x08 | 0x00, 0x00, 0x00, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x09
       bDescriptorType = 0x24
       bDescriptorSubType = 0x03
        RAW dump: 
        0x00 | 0x09, 0x24, 0x03, 0x03, 0x01, 0x01, 0x01, 0x05, 
        0x08 | 0x00
 
       Additional Descriptor
 
       bLength = 0x09
       bDescriptorType = 0x24
       bDescriptorSubType = 0x06
        RAW dump: 
        0x00 | 0x09, 0x24, 0x06, 0x05, 0x01, 0x01, 0x03, 0x00, 
        0x08 | 0x00
 
 
     Interface 3
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0003 
       bAlternateSetting = 0x0000 
       bNumEndpoints = 0x0000 
       bInterfaceClass = 0x0001 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
 
     Interface 3 Alt 1
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0003 
       bAlternateSetting = 0x0001 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x0001 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
       Additional Descriptor
 
       bLength = 0x07
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump: 
        0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x0b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x02
        RAW dump: 
        0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 
        0x08 | 0x80, 0x3e, 0x00
 
 
      Endpoint 0
         bLength = 0x0009 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0086  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x0044 
         bInterval = 0x0004 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
       Additional Descriptor
 
       bLength = 0x07
       bDescriptorType = 0x25
       bDescriptorSubType = 0x01
        RAW dump: 
        0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00
 
 
 
     Interface 3 Alt 2
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0003 
       bAlternateSetting = 0x0002 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x0001 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
       Additional Descriptor
 
       bLength = 0x07
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump: 
        0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x0b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x02
        RAW dump: 
        0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 
        0x08 | 0xc0, 0x5d, 0x00
 
 
      Endpoint 0
         bLength = 0x0009 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0086  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x0064 
         bInterval = 0x0004 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
       Additional Descriptor
 
       bLength = 0x07
       bDescriptorType = 0x25
       bDescriptorSubType = 0x01
        RAW dump: 
        0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00
 
 
 
     Interface 3 Alt 3
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0003 
       bAlternateSetting = 0x0003 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x0001 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
       Additional Descriptor
 
       bLength = 0x07
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump: 
        0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x0b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x02
        RAW dump: 
        0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 
        0x08 | 0x00, 0x7d, 0x00
 
 
      Endpoint 0
         bLength = 0x0009 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0086  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x0084 
         bInterval = 0x0004 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
       Additional Descriptor
 
       bLength = 0x07
       bDescriptorType = 0x25
       bDescriptorSubType = 0x01
        RAW dump: 
        0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00
 
 
 
     Interface 3 Alt 4
       bLength = 0x0009 
       bDescriptorType = 0x0004 
       bInterfaceNumber = 0x0003 
       bAlternateSetting = 0x0004 
       bNumEndpoints = 0x0001 
       bInterfaceClass = 0x0001 
       bInterfaceSubClass = 0x0002 
       bInterfaceProtocol = 0x0000 
       iInterface = 0x0000  <no string>
 
       Additional Descriptor
 
       bLength = 0x07
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump: 
        0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00
 
 
       Additional Descriptor
 
       bLength = 0x0b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x02
        RAW dump: 
        0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 
        0x08 | 0x80, 0xbb, 0x00
 
 
      Endpoint 0
         bLength = 0x0009 
         bDescriptorType = 0x0005 
         bEndpointAddress = 0x0086  <IN>
         bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
         wMaxPacketSize = 0x00c4 
         bInterval = 0x0004 
         bRefresh = 0x0000 
         bSynchAddress = 0x0000 
 
       Additional Descriptor
 
       bLength = 0x07
       bDescriptorType = 0x25
       bDescriptorSubType = 0x01
        RAW dump: 
        0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00
 
 Best regards,
 -- 
 Th. Thomas.


More information about the freebsd-multimedia mailing list