This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

WDM/KS does not detect 6-channel USB audio recorder

Hello! I am a computer science studant from Brazil.

I am developing a 6-channel(16 bit, 48khz) USB audio recording interface, that is UAA compliant, so I do not need to write a specific driver, I can use the default Audio Driver from my testing OS (Windows 7).

Things works good when I set my USB Descriptors to 1 channel at 48khz, I can use this interface in any recording software that support WDM/KS.

When I change descriptors to 6ch, my recording software says that my interface is not compatible with the audio format selected. However, if I install "ASIO4All" driver and use the same recording application with ASIO driver it works fine.

The problem is that I wanna use my USB audio interface in softwares that does not support ASIO, only WDM/KS.

I believe that I am making a mistake with USB Descriptors so that the default audio driver cannot work as expected. OR the default driver does not support 6-channel inputs. I Don't know.

Anyone can help me with this?

Here is my current USB Descriptor:

Device Descriptor:
bcdUSB:             0x0100
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x40 (64)
idVendor:           0x1CBE
idProduct:          0x0036
bcdDevice:          0x0100
iManufacturer:        0x01
0x0409: "Texas Instruments Inc."
iProduct:             0x02
0x0409: "HMCR Audio Recorder"
iSerialNumber:        0x03
0x0409: "0001.000"
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Full
Device Address:       0x02
Open Pipes:              0

Configuration Descriptor:
wTotalLength:       0x0064
bNumInterfaces:       0x02
bConfigurationValue:  0x01
iConfiguration:       0x00
bmAttributes:         0x80 (Bus Powered )
MaxPower:             0x0A (20 Ma)

Interface Descriptor:
bInterfaceNumber:     0x00
bAlternateSetting:    0x00
bNumEndpoints:        0x00
bInterfaceClass:      0x01 (Audio)
bInterfaceSubClass:   0x01 (Audio Control)
bInterfaceProtocol:   0x00
iInterface:           0x00

Audio Control Interface Header Descriptor:
bLength:              0x09
bDescriptorType:      0x24
bDescriptorSubtype:   0x01
bcdADC:             0x0100
wTotalLength:       0x001E
bInCollection:        0x01
baInterfaceNr[1]:     0x01

Audio Control Input Terminal Descriptor:
bLength:              0x0C
bDescriptorType:      0x24
bDescriptorSubtype:   0x02
bTerminalID:          0x01
wTerminalType:      0x0603 (Line connector)
bAssocTerminal:       0x00
bNrChannels:          0x06
wChannelConfig:     0x0000
iChannelNames:        0x06
iTerminal:            0x0E

Audio Control Output Terminal Descriptor:
bLength:              0x09
bDescriptorType:      0x24
bDescriptorSubtype:   0x03
bTerminalID:          0x02
wTerminalType:      0x0101 (USB streaming)
bAssocTerminal:       0x00
bSoruceID:            0x01
iTerminal:            0x00

Interface Descriptor:
bInterfaceNumber:     0x01
bAlternateSetting:    0x00
bNumEndpoints:        0x00
bInterfaceClass:      0x01 (Audio)
bInterfaceSubClass:   0x02 (Audio Streaming)
bInterfaceProtocol:   0x00
iInterface:           0x00

Interface Descriptor:
bInterfaceNumber:     0x01
bAlternateSetting:    0x01
bNumEndpoints:        0x01
bInterfaceClass:      0x01 (Audio)
bInterfaceSubClass:   0x02 (Audio Streaming)
bInterfaceProtocol:   0x00
iInterface:           0x00

Audio Streaming Class Specific Interface Descriptor:
bLength:              0x07
bDescriptorType:      0x24
bDescriptorSubtype:   0x01
bTerminalLink:        0x02
bDelay:               0x00
wFormatTag:         0x0001 (PCM)

Audio Streaming Format Type Descriptor:
bLength:              0x0B
bDescriptorType:      0x24
bDescriptorSubtype:   0x02
bFormatType:          0x01
bNrChannels:          0x06
bSubframeSize:        0x02
bBitResolution:       0x10
bSamFreqType:         0x01
tSamFreq[1]:      0x00BB80 (48000 Hz)

Endpoint Descriptor:
bEndpointAddress:     0x81  IN
Transfer Type: Isochronous
wMaxPacketSize:     0x0240 (576)
wInterval:          0x0001
bSyncAddress:         0x00

Audio Streaming Class Specific Audio Data Endpoint Descriptor:
bLength:              0x07
bDescriptorType:      0x25
bDescriptorSubtype:   0x01
bmAttributes:         0x80
bLockDelayUnits:      0x00
wLockDelay:         0x0000

Thank you!