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!