I have a problem with usb audio on 2.4 where the driver doesn't detect the device capabilities right. I've tested two usb audio devices on my target computer (see info) and they report in dmesg and with ioctls that they don't support any other sample rates than 44100 and 48000. On my host (x86 kernel 2.6) computer they report that the device does indeed support both 8000 and 16000 sample rates (which I'm after) and another format, AFMT_MU_LAW.
Does anyone have a clue how I can around this? Below are detailed sections with output from my soundinfo program (both computers), dmesg (2.4 mipsel only) and lsusb -v (2.4 mipsel only). General Info about "faulty" machine: ------------------------------------ Linux version 2.4.30 ARCH: mipsel USB is in PIO mode General Info about "ok" machine: ------------------------------------ Linux version 2.6.18 ARCH: x86 USB is in DMA mode Soundinfo output: ---------------- I've written a small program to determine what the capabilities are on sounddevices and the output on the 2.4.30 (mipsel) is: sinfo: Gathering info about /dev/audio1 Formats (0x0007f9f8) supported: AFMT_U8 AFMT_S8 AFMT_S16_LE AFMT_S16_BE AFMT_U16_LE AFMT_U16_BE SNDCTL_DSP_GETCAPS (0x00003700) supported: DSP_CAP_DUPLEX DSP_CAP_REATIME DSP_CAP_BATCH DSP_CAP_TRIGGER DSP_CAP_MMAP SNDCTL_DSP_SPEED supporting: 4000 not supported 8000 not supported 11025 not supported 16000 not supported 22050 not supported 32000 not supported 44100 48000 96000 not supported 192000 not supported SNDCTL_DSP_SAMPLESIZE supporting: 8 16 32 64 The same device on x86 linux 2.6 is: sinfo: Gathering info about /dev/audio2 Formats (0x000001f9) supported: AFMT_MU_LAW AFMT_U8 AFMT_S8 AFMT_S16_LE AFMT_S16_BE AFMT_U16_LE AFMT_U16_BE SNDCTL_DSP_GETCAPS (0x00003301) supported: DSP_CAP_DUPLEX DSP_CAP_REATIME DSP_CAP_TRIGGER DSP_CAP_MMAP SNDCTL_DSP_SPEED supporting: 4000 8000 11025 16000 22050 32000 44100 48000 96000 192000 SNDCTL_DSP_SAMPLESIZE supporting: 8 16 32 64 Output of dmesg: ---------------- usbaudio: device 3 audiocontrol interface 0 has 1 input and 1 output AudioStreaming interfaces usbaudio: device 3 interface 2 altsetting 1 channels 1 framesize 2 configured usbaudio: valid input sample rate 48000 usbaudio: valid input sample rate 44100 usbaudio: device 3 interface 2 altsetting 1: format 0x00000010 sratelo 44100 sratehi 48000 attributes 0x01 usbaudio: device 3 interface 1 altsetting 0 does not have an endpoint usbaudio: device 3 interface 1 altsetting 1 channels 2 framesize 2 configured usbaudio: valid output sample rate 48000 usbaudio: valid output sample rate 44100 usbaudio: device 3 interface 1 altsetting 1: format 0x01000010 sratelo 44100 sratehi 48000 attributes 0x01 usbaudio: registered dsp 14,19 usbaudio: constructing mixer for Terminal 6 type 0x0301 usbaudio: registered mixer 14,16 usbaudio: constructing mixer for Terminal 7 type 0x0101 usbaudio: registered mixer 14,32 usb_audio_parsecontrol: usb_audio_state at 87f8aca0 Output of lsusb: ---------------- Bus 001 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0000 idProduct 0x0000 bcdDevice 0.00 iManufacturer 0 iProduct 2 USB OHCI Root Hub iSerial 1 b4020000 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x40 (Missing must-be-set bit!) Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 2 wHubCharacteristic 0x0010 Ganged power switching No overcurrent protection bPwrOn2PwrGood 2 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0103 power enable connect Port 2: 0000.0100 power Device Status: 0x0001 Self Powered Bus 001 Device 003: ID 026a:9001 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x026a idProduct 0x9001 bcdDevice 1.00 iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 224 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 10 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 71 bInCollection 2 baInterfaceNr( 0) 1 baInterfaceNr( 1) 2 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0201 Microphone bAssocTerminal 0 bNrChannels 1 wChannelConfig 0x0001 Left Front (L) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 6 wTerminalType 0x0301 Speaker bAssocTerminal 0 bSourceID 9 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 7 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 10 iTerminal 0 AudioControl Interface Descriptor: bLength 10 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 9 bSourceID 1 bControlSize 1 bmaControls( 0) 0x01 Mute bmaControls( 1) 0x02 Volume bmaControls( 2) 0x02 Volume iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 10 bSourceID 2 bControlSize 1 bmaControls( 0) 0x43 Mute Volume Automatic Gain bmaControls( 1) 0x00 iFeature 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 1 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 14 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 2 Discrete tSamFreq[ 0] 48000 tSamFreq[ 1] 44100 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data wMaxPacketSize 0x00c8 1x 200 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 1 Milliseconds wLockDelay 1 Milliseconds Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 7 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 14 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 1 bSubframeSize 2 bBitResolution 16 bSamFreqType 2 Discrete tSamFreq[ 0] 48000 tSamFreq[ 1] 44100 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0064 1x 100 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Devices bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 50 Report Descriptor: (length is 50) Item(Global): Usage Page, data= [ 0x0c ] 12 Consumer Item(Local ): Usage, data= [ 0x01 ] 1 Consumer Control Item(Main ): Collection, data= [ 0x01 ] 1 Application Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0x01 ] 1 Item(Local ): Usage, data= [ 0xe9 ] 233 Volume Increment Item(Local ): Usage, data= [ 0xea ] 234 Volume Decrement Item(Global): Report Size, data= [ 0x01 ] 1 Item(Global): Report Count, data= [ 0x02 ] 2 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0xe2 ] 226 Mute Item(Local ): Usage, data= [ 0x00 ] 0 Unassigned Item(Main ): Input, data= [ 0x06 ] 6 Data Variable Relative No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0x00 ] 0 Unassigned Item(Global): Report Count, data= [ 0x04 ] 4 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 Item(Local ): Usage, data= [ 0x00 ] 0 Unassigned Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x03 ] 3 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0x00 ] 0 Unassigned Item(Global): Report Count, data= [ 0x04 ] 4 Item(Main ): Output, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 32 Device Status: 0x0000 (Bus Powered) ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users