USB Microphone
I'm trying to send a Audio data from MEMS microphone to Device through USB. I had defined a configured a descriptors accordingly. But I'm facing Error message that is *!*ERROR: No open pipes!.
[Port1] : USB Composite Device
Is Port User Connectable: yes
Is Port Debug Capable: no
Companion Port Number: 13
Companion Hub Symbolic Link Name: USB#ROOT_HUB30#4&1bb9c172&1&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Protocols Supported:
USB 1.1: yes
USB 2.0: yes
USB 3.0: no
Device Power State: PowerDeviceD0
---===>Device Information<===---
English product name: "STM32 Audio Class"
ConnectionStatus:
Current Config Value: 0x01 -> Device Bus Speed: Full (is not SuperSpeed or higher capable)
Device Address: 0x07
Open Pipes: 0
*!*ERROR: No open pipes!
===>Device Descriptor<===
bLength: 0x12
bDescriptorType: 0x01
bcdUSB: 0x0200
bDeviceClass: 0x00 -> This is an Interface Class Defined Device
bDeviceSubClass: 0x00
bDeviceProtocol: 0x00
bMaxPacketSize0: 0x40 = (64) Bytes
idVendor: 0x0483 = STMicroelectronics
idProduct: 0x5740
bcdDevice: 0x0200
iManufacturer: 0x01
English (United States) "STMicroelectronics"
iProduct: 0x02
English (United States) "STM32 Audio Class"
iSerialNumber: 0x03
English (United States) "205F30963556"
bNumConfigurations: 0x01
---===>Full Configuration Descriptor<===---
===>Configuration Descriptor<===
bLength: 0x09
bDescriptorType: 0x02
wTotalLength: 0x006D -> Validated
bNumInterfaces: 0x02
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0x80 -> Bus Powered
MaxPower: 0x32 = 100 mA
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x00
bAlternateSetting: 0x00
bNumEndpoints: 0x00
bInterfaceClass: 0x01 -> Audio Interface Class
bInterfaceSubClass: 0x01 -> Audio Control Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Audio Control Interface Header Descriptor<===
bLength: 0x09
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x01 (HEADER)
bcdADC: 0x0100
wTotalLength: 0x0026
bInCollection: 0x01
baInterfaceNr[1]: 0x01
===>Audio Control Input Terminal Descriptor<===
bLength: 0x0C
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x02 (INPUT_TERMINAL)
bTerminalID: 0x01
wTerminalType: 0x0201 (Microphone)
bAssocTerminal: 0x00
bNrChannels: 0x01
wChannelConfig: 0x0000
iChannelNames: 0x00
iTerminal: 0x00
===>Audio Control Feature Unit Descriptor<===
bLength: 0x09
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x06 (FEATURE_UNIT)
bUnitID: 0x02
bSourceID: 0x01
bControlSize: 0x01
bmaControls[master]: 02
(Volume)
bmaControls[channel 0]: 00
iFeature: 0x00
===>Audio Control Output Terminal Descriptor<===
bLength: 0x09
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x03 (OUTPUT_TERMINAL)
bTerminalID: 0x03
wTerminalType: 0x0101 (USB streaming)
bAssocTerminal: 0x00
bSourceID: 0x02
iTerminal: 0x00
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x00
bNumEndpoints: 0x00
bInterfaceClass: 0x01 -> Audio Interface Class
bInterfaceSubClass: 0x02 -> Audio Streaming Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x01
bNumEndpoints: 0x01
bInterfaceClass: 0x01 -> Audio Interface Class
bInterfaceSubClass: 0x02 -> Audio Streaming Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Audio Streaming Class Specific Interface Descriptor<===
bLength: 0x07
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x01 (AS_GENERAL)
bTerminalLink: 0x03
bDelay: 0x01
wFormatTag: 0x0001 (PCM)
===>Audio Streaming Format Type Descriptor<===
bLength: 0x0B
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x02 (FORMAT_TYPE)
bFormatType: 0x01 (FORMAT_TYPE_I)
bNrChannels: 0x01
bSubframeSize: 0x02
bBitResolution: 0x10 (16)
bSamFreqType: 0x01 (Discrete)
tSamFreq[1]: 0x00BB80 (48000 Hz)
===>Endpoint Descriptor<===
bLength: 0x09
bDescriptorType: 0x05
bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1
bmAttributes: 0x05 -> Isochronous Transfer Type, Synchronization Type = Asynchronous, Usage Type = Data Endpoint
wMaxPacketSize: 0x0064 = 0x64 bytes
wInterval: 0x0001
bSyncAddress: 0x00
===>Audio Streaming Class Specific Audio Data Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x25 (CS_ENDPOINT)
bDescriptorSubtype: 0x01 (EP_GENERAL)
bmAttributes: 0x00
bLockDelayUnits: 0x00 (Undefined)
wLockDelay: 0x0000
