[wdmaudiodev] Re: Raspberry Pi OTG Audio

  • From: Robert Bielik <Robert.Bielik@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Sat, 3 Feb 2018 12:21:05 +0000

Dear Genadi,

As I wrote, Win10 doesn't load the device at all (as shown in Device Manager). 
A logical step to make it appear at all in control panel, would be to make the 
device load in the first place, don't you think ? 😉

USB descriptor dump for the device is attached.

Regards
/R
Information for device Linux USB Audio Gadget (VID=0x1D6B PID=0x0101):

*** ERROR: Descriptor has errors! ***

Connection Information:
------------------------------
Device current bus speed: HighSpeed
Device supports USB 1.1 specification
Device supports USB 2.0 specification
Device address: 0x003B
Current configuration value: 0x01
Number of open pipes: 0

Device Descriptor:
------------------------------
0x12    bLength
0x01    bDescriptorType
0x0200  bcdUSB
0xEF    bDeviceClass   (Miscellaneous device)
0x02    bDeviceSubClass   
0x01    bDeviceProtocol   
0x40    bMaxPacketSize0   (64 bytes)
0x1D6B  idVendor
0x0101  idProduct
0x0409  bcdDevice
0x01    iManufacturer   "Linux 4.9.68-rt60 with 20980000.usb"
0x02    iProduct   "Linux USB Audio Gadget"
0x00    iSerialNumber
0x01    bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A    bLength
0x06    bDescriptorType
0x0200  bcdUSB
0xEF    bDeviceClass   (Miscellaneous device)
0x02    bDeviceSubClass   
0x01    bDeviceProtocol   
0x40    bMaxPacketSize0   (64 bytes)
0x01    bNumConfigurations 
0x00    bReserved 

Configuration Descriptor:
------------------------------
0x09    bLength
0x02    bDescriptorType
0x00DB  wTotalLength   (219 bytes)
0x03    bNumInterfaces
0x01    bConfigurationValue
0x00    iConfiguration
0xC0    bmAttributes   (Self-powered Device)
0x01    bMaxPower      (2 mA)

Interface Association Descriptor:
------------------------------
0x08    bLength
0x0B    bDescriptorType
0x00    bFirstInterface
0x03    bInterfaceCount
0x01    bFunctionClass   (Audio Device Class)
0x00    bFunctionSubClass   
0x20    bFunctionProtocol   
0x04    iFunction   "Source/Sink"

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x00    bInterfaceNumber
0x00    bAlternateSetting
0x00    bNumEndPoints
0x01    bInterfaceClass      (Audio Device Class)
0x01    bInterfaceSubClass   (Audio Control Interface)
0x20    bInterfaceProtocol   
0x05    iInterface   "Topology Control"

AC Interface Header Descriptor:
------------------------------
0x09    bLength
0x24    bDescriptorType
0x01    bDescriptorSubtype
0x0200  bcdADC
0x08    bCategory   (IO_BOX)
0x004A  wTotalLength   (74 bytes)
*** ERROR: Invalid wTotalLength 0x004A, should be 0x0053.
0x00    bmControls

AC Clock Source Descriptor:
------------------------------
0x08    bLength
0x24    bDescriptorType
0x0A    bDescriptorSubtype
0x06    bClockID
0x01    bmAttributes
0x01    bmControls
0x00    bAssocTerminal
0x06    iClockSource   "48000Hz"

AC Clock Source Descriptor:
------------------------------
0x08    bLength
0x24    bDescriptorType
0x0A    bDescriptorSubtype
0x05    bClockID
0x01    bmAttributes
0x01    bmControls
0x00    bAssocTerminal
0x07    iClockSource   "64000Hz"

AC Input Terminal Descriptor:
------------------------------
0x11    bLength
0x24    bDescriptorType
0x02    bDescriptorSubtype
0x01    bTerminalID
0x0101  wTerminalType   (USB Streaming)
0x00    bAssocTerminal
0x05    bCSourceID
0x02    bNrChannels   (2 channels)
0x00000003      bmChannelConfig
0x00    iChannelNames
0x03    bmControls
0x08    iTerminal   "USBH Out"

AC Input Terminal Descriptor:
------------------------------
0x11    bLength
0x24    bDescriptorType
0x02    bDescriptorSubtype
0x02    bTerminalID
0x0200  wTerminalType   (Input Undefined)
0x00    bAssocTerminal
0x06    bCSourceID
0x02    bNrChannels   (2 channels)
0x00000003      bmChannelConfig
0x00    iChannelNames
0x03    bmControls
0x09    iTerminal   "USBD Out"

AC Output Terminal Descriptor:
------------------------------
0x0C    bLength
0x24    bDescriptorType
0x03    bDescriptorSubtype
0x04    bTerminalID
0x0101  wTerminalType   (USB Streaming)
0x00    bAssocTerminal
0x02    bSourceID
0x06    bCSourceID
0x0003  bmControls
0x0A    iTerminal   "USBH In"

AC Output Terminal Descriptor:
------------------------------
0x0C    bLength
0x24    bDescriptorType
0x03    bDescriptorSubtype
0x03    bTerminalID
0x0300  wTerminalType   (Output Undefined)
0x00    bAssocTerminal
0x01    bSourceID
0x05    bCSourceID
0x0003  bmControls
0x0B    iTerminal   "USBD In"

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x01    bInterfaceNumber
0x00    bAlternateSetting
0x00    bNumEndPoints
0x01    bInterfaceClass      (Audio Device Class)
0x02    bInterfaceSubClass   (Audio Streaming Interface)
0x20    bInterfaceProtocol   
0x0C    iInterface   "Playback Inactive"

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x01    bInterfaceNumber
0x01    bAlternateSetting
0x01    bNumEndPoints
0x01    bInterfaceClass      (Audio Device Class)
0x02    bInterfaceSubClass   (Audio Streaming Interface)
0x20    bInterfaceProtocol   
0x0D    iInterface   "Playback Active"

AS Interface Descriptor:
------------------------------
0x10    bLength
0x24    bDescriptorType
0x01    bDescriptorSubtype
0x01    bTerminalLink
0x00    bmControls
0x01    bFormatType   (FORMAT_TYPE_1)
0x00000001      bmFormats
0x02    bNrChannels   (2 channels)
0x00000003      bmChannelConfig
0x00    iChannelNames

AS Format Type 1 Descriptor:
------------------------------
0x06    bLength
0x24    bDescriptorType
0x02    bDescriptorSubtype
0x01    bFormatType   (FORMAT_TYPE_1)
0x02    bSubslotSize
0x10    bBitResolution   (16 bits per sample)

Endpoint Descriptor:
------------------------------
0x07    bLength
0x05    bDescriptorType
0x01    bEndpointAddress  (OUT endpoint 1)
0x05    bmAttributes      (Transfer: Isochronous / Synch: Asynchronous / Usage: 
Data)
0x0100  wMaxPacketSize    (1 x 256 bytes) 
0x04    bInterval

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x08    bLength
0x25    bDescriptorType
0x01    bDescriptorSubtype
0x00    bmAttributes
0x00    bmControls
0x00    bLockDelayUnits   (undefined)
0x0000  wLockDelay

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x02    bInterfaceNumber
0x00    bAlternateSetting
0x00    bNumEndPoints
0x01    bInterfaceClass      (Audio Device Class)
0x02    bInterfaceSubClass   (Audio Streaming Interface)
0x20    bInterfaceProtocol   
0x0E    iInterface   "Capture Inactive"

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x02    bInterfaceNumber
0x01    bAlternateSetting
0x01    bNumEndPoints
0x01    bInterfaceClass      (Audio Device Class)
0x02    bInterfaceSubClass   (Audio Streaming Interface)
0x20    bInterfaceProtocol   
0x0F    iInterface   "Capture Active"

AS Interface Descriptor:
------------------------------
0x10    bLength
0x24    bDescriptorType
0x01    bDescriptorSubtype
0x04    bTerminalLink
0x00    bmControls
0x01    bFormatType   (FORMAT_TYPE_1)
0x00000001      bmFormats
0x02    bNrChannels   (2 channels)
0x00000003      bmChannelConfig
0x00    iChannelNames

AS Format Type 1 Descriptor:
------------------------------
0x06    bLength
0x24    bDescriptorType
0x02    bDescriptorSubtype
0x01    bFormatType   (FORMAT_TYPE_1)
0x02    bSubslotSize
0x10    bBitResolution   (16 bits per sample)

Endpoint Descriptor:
------------------------------
0x07    bLength
0x05    bDescriptorType
0x81    bEndpointAddress  (IN endpoint 1)
0x05    bmAttributes      (Transfer: Isochronous / Synch: Asynchronous / Usage: 
Data)
0x00C0  wMaxPacketSize    (1 x 192 bytes) 
0x04    bInterval

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x08    bLength
0x25    bDescriptorType
0x01    bDescriptorSubtype
0x00    bmAttributes
0x00    bmControls
0x00    bLockDelayUnits   (undefined)
0x0000  wLockDelay

Other Speed Configuration Descriptor:
------------------------------
0x09    bLength
0x07    bDescriptorType
0x00DB  wTotalLength   (219 bytes)
0x03    bNumInterfaces
0x01    bConfigurationValue
0x00    iConfiguration
0xC0    bmAttributes   (Self-powered Device)
0x01    bMaxPower      (2 mA)

Interface Association Descriptor:
------------------------------
0x08    bLength
0x0B    bDescriptorType
0x00    bFirstInterface
0x03    bInterfaceCount
0x01    bFunctionClass   (Audio Device Class)
0x00    bFunctionSubClass   
0x20    bFunctionProtocol   
0x04    iFunction   "Source/Sink"

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x00    bInterfaceNumber
0x00    bAlternateSetting
0x00    bNumEndPoints
0x01    bInterfaceClass      (Audio Device Class)
0x01    bInterfaceSubClass   (Audio Control Interface)
0x20    bInterfaceProtocol   
0x05    iInterface   "Topology Control"

AC Interface Header Descriptor:
------------------------------
0x09    bLength
0x24    bDescriptorType
0x01    bDescriptorSubtype
0x0200  bcdADC
0x08    bCategory   (IO_BOX)
0x004A  wTotalLength   (74 bytes)
*** ERROR: Invalid wTotalLength 0x004A, should be 0x0053.
0x00    bmControls

AC Clock Source Descriptor:
------------------------------
0x08    bLength
0x24    bDescriptorType
0x0A    bDescriptorSubtype
0x06    bClockID
0x01    bmAttributes
0x01    bmControls
0x00    bAssocTerminal
0x06    iClockSource   "48000Hz"

AC Clock Source Descriptor:
------------------------------
0x08    bLength
0x24    bDescriptorType
0x0A    bDescriptorSubtype
0x05    bClockID
0x01    bmAttributes
0x01    bmControls
0x00    bAssocTerminal
0x07    iClockSource   "64000Hz"

AC Input Terminal Descriptor:
------------------------------
0x11    bLength
0x24    bDescriptorType
0x02    bDescriptorSubtype
0x01    bTerminalID
0x0101  wTerminalType   (USB Streaming)
0x00    bAssocTerminal
0x05    bCSourceID
0x02    bNrChannels   (2 channels)
0x00000003      bmChannelConfig
0x00    iChannelNames
0x03    bmControls
0x08    iTerminal   "USBH Out"

AC Input Terminal Descriptor:
------------------------------
0x11    bLength
0x24    bDescriptorType
0x02    bDescriptorSubtype
0x02    bTerminalID
0x0200  wTerminalType   (Input Undefined)
0x00    bAssocTerminal
0x06    bCSourceID
0x02    bNrChannels   (2 channels)
0x00000003      bmChannelConfig
0x00    iChannelNames
0x03    bmControls
0x09    iTerminal   "USBD Out"

AC Output Terminal Descriptor:
------------------------------
0x0C    bLength
0x24    bDescriptorType
0x03    bDescriptorSubtype
0x04    bTerminalID
0x0101  wTerminalType   (USB Streaming)
0x00    bAssocTerminal
0x02    bSourceID
0x06    bCSourceID
0x0003  bmControls
0x0A    iTerminal   "USBH In"

AC Output Terminal Descriptor:
------------------------------
0x0C    bLength
0x24    bDescriptorType
0x03    bDescriptorSubtype
0x03    bTerminalID
0x0300  wTerminalType   (Output Undefined)
0x00    bAssocTerminal
0x01    bSourceID
0x05    bCSourceID
0x0003  bmControls
0x0B    iTerminal   "USBD In"

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x01    bInterfaceNumber
0x00    bAlternateSetting
0x00    bNumEndPoints
0x01    bInterfaceClass      (Audio Device Class)
0x02    bInterfaceSubClass   (Audio Streaming Interface)
0x20    bInterfaceProtocol   
0x0C    iInterface   "Playback Inactive"

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x01    bInterfaceNumber
0x01    bAlternateSetting
0x01    bNumEndPoints
0x01    bInterfaceClass      (Audio Device Class)
0x02    bInterfaceSubClass   (Audio Streaming Interface)
0x20    bInterfaceProtocol   
0x0D    iInterface   "Playback Active"

AS Interface Descriptor:
------------------------------
0x10    bLength
0x24    bDescriptorType
0x01    bDescriptorSubtype
0x01    bTerminalLink
0x00    bmControls
0x01    bFormatType   (FORMAT_TYPE_1)
0x00000001      bmFormats
0x02    bNrChannels   (2 channels)
0x00000003      bmChannelConfig
0x00    iChannelNames

AS Format Type 1 Descriptor:
------------------------------
0x06    bLength
0x24    bDescriptorType
0x02    bDescriptorSubtype
0x01    bFormatType   (FORMAT_TYPE_1)
0x02    bSubslotSize
0x10    bBitResolution   (16 bits per sample)

Endpoint Descriptor:
------------------------------
0x07    bLength
0x05    bDescriptorType
0x01    bEndpointAddress  (OUT endpoint 1)
0x05    bmAttributes      (Transfer: Isochronous / Synch: Asynchronous / Usage: 
Data)
0x0100  wMaxPacketSize    (1 x 256 bytes) 
0x01    bInterval

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x08    bLength
0x25    bDescriptorType
0x01    bDescriptorSubtype
0x00    bmAttributes
0x00    bmControls
0x00    bLockDelayUnits   (undefined)
0x0000  wLockDelay

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x02    bInterfaceNumber
0x00    bAlternateSetting
0x00    bNumEndPoints
0x01    bInterfaceClass      (Audio Device Class)
0x02    bInterfaceSubClass   (Audio Streaming Interface)
0x20    bInterfaceProtocol   
0x0E    iInterface   "Capture Inactive"

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x02    bInterfaceNumber
0x01    bAlternateSetting
0x01    bNumEndPoints
0x01    bInterfaceClass      (Audio Device Class)
0x02    bInterfaceSubClass   (Audio Streaming Interface)
0x20    bInterfaceProtocol   
0x0F    iInterface   "Capture Active"

AS Interface Descriptor:
------------------------------
0x10    bLength
0x24    bDescriptorType
0x01    bDescriptorSubtype
0x04    bTerminalLink
0x00    bmControls
0x01    bFormatType   (FORMAT_TYPE_1)
0x00000001      bmFormats
0x02    bNrChannels   (2 channels)
0x00000003      bmChannelConfig
0x00    iChannelNames

AS Format Type 1 Descriptor:
------------------------------
0x06    bLength
0x24    bDescriptorType
0x02    bDescriptorSubtype
0x01    bFormatType   (FORMAT_TYPE_1)
0x02    bSubslotSize
0x10    bBitResolution   (16 bits per sample)

Endpoint Descriptor:
------------------------------
0x07    bLength
0x05    bDescriptorType
0x81    bEndpointAddress  (IN endpoint 1)
0x05    bmAttributes      (Transfer: Isochronous / Synch: Asynchronous / Usage: 
Data)
0x00C0  wMaxPacketSize    (1 x 192 bytes) 
0x01    bInterval

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x08    bLength
0x25    bDescriptorType
0x01    bDescriptorSubtype
0x00    bmAttributes
0x00    bmControls
0x00    bLockDelayUnits   (undefined)
0x0000  wLockDelay

Microsoft OS Descriptor is not available. Error code: 0x0000001F

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409 
0x01   0x0409  "Linux 4.9.68-rt60 with 20980000.usb"
0x02   0x0409  "Linux USB Audio Gadget"
0x04   0x0409  "Source/Sink"
0x05   0x0409  "Topology Control"
0x06   0x0409  "48000Hz"
0x07   0x0409  "64000Hz"
0x08   0x0409  "USBH Out"
0x09   0x0409  "USBD Out"
0x0A   0x0409  "USBH In"
0x0B   0x0409  "USBD In"
0x0C   0x0409  "Playback Inactive"
0x0D   0x0409  "Playback Active"
0x0E   0x0409  "Capture Inactive"
0x0F   0x0409  "Capture Active"

------------------------------

Connection path for device: 
USB xHCI Compliant Host Controller
Root Hub
Generic USB Hub
Generic USB Hub
Linux USB Audio Gadget (VID=0x1D6B PID=0x0101) Port: 4

Running on: Windows 10 or greater

Brought to you by TDD v2.10.0, Feb  2 2018, 10:25:51

Other related posts: