* status of usb audio driver @ 2002-06-04 16:57 Takashi Iwai 2002-06-12 5:16 ` Patrick Shirkey 0 siblings, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2002-06-04 16:57 UTC (permalink / raw) To: alsa-devel Hi, snd-usb-audio is a bit updated. i borrowed a usb microphone and found that there was a deadlock at exit of capture. now it's fixed. the source codes have more comments and readable (hopefully). most of debug messages have been moved to snd_printdd(). that is, to show such debug messages, you'll need to configure alsa-driver with --with-debug=detect. if your usb device doesn't work try this, and send me the output of kernel messages together with the output of lsusb. the co-existence problem with oss audio module can be fixed by adding an entry to /etc/hotplug/blacklist. the file would be dependent on the distribution, though. 18/20/24bit formats are not supported yet (if 3-byte format). so far, i have no plan to port the usb midi driver for alsa, since there is already a usb midi daemon (see alsa-devel archive). not like an audio device, the access timing to a midi device is not so critical. in the case of audio device, we have to send continuous packets at each 1ms, sometimes even with a sync pipe. unfortunately, this is fairly difficult to be implemented on the current framework of usbdevfs. on the contrary, midi can be relatively easily done on usbdevfs. however, i'm not sure about the latency over usbdevfs. if the latency is too bad, i have to change my mind... btw, from tomorrow i'll be at LinuxTag at Karlsruhe. answers will be delayed until the next week. ciao, Takashi _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-04 16:57 status of usb audio driver Takashi Iwai @ 2002-06-12 5:16 ` Patrick Shirkey 2002-06-12 13:24 ` Takashi Iwai 0 siblings, 1 reply; 22+ messages in thread From: Patrick Shirkey @ 2002-06-12 5:16 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel [-- Attachment #1: Type: text/plain, Size: 3100 bytes --] Takashi Iwai wrote: > > most of debug messages have been moved to snd_printdd(). that is, > to show such debug messages, you'll need to configure alsa-driver with > --with-debug=detect. if your usb device doesn't work try this, and > send me the output of kernel messages together with the output of > lsusb. > Using the latest code this is all the info I can get for this card. To refresh your memory. It appears that the card is being correctly found and registered but that alsa cannot set up the pcm devices. There are two obvious things that are possibly directly related. One is that the card is created in /proc/asound three times and the other is the AS_GENERAL descriptor not found error. ---- #cat: /proc/asound/dev/controlC2: File descriptor in bad state ---- #more /var/log/messages Jun 12 13:52:27 mahine kernel: usb.c: registered new driver snd-usb-audio Jun 12 13:52:27 mahine kernel: ALSA usbaudio.c:1718: adding an output interface 3:0:%%j Jun 12 13:52:27 mahine kernel: ALSA usbaudio.c:1712: adding an input interface 3 :0:%%j Jun 12 13:52:27 mahine kernel: ALSA usbaudio.c:1718: adding an output interface 3:3:%%j Jun 12 13:52:27 mahine kernel: ALSA usbaudio.c:1712: adding an input interface 3 :3:%%j Jun 12 13:52:27 mahine kernel: ALSA usbaudio.c:1718: adding an output interface 3:6:%%j Jun 12 13:52:27 mahine kernel: ALSA usbaudio.c:1712: adding an input interface 3 :6:%%j ----- usb.c: registered new driver snd-usb-audio ALSA usbaudio.c:1718: adding an output interface 3:0:%j ALSA usbaudio.c:1712: adding an input interface 3:0:%j ALSA usbaudio.c:1296: 3:1:1 : AS_GENERAL descriptor not found ALSA usbaudio.c:1296: 3:2:1 : AS_GENERAL descriptor not found devfs_register(unknown): could not append to parent, err: -17 ALSA usbaudio.c:1718: adding an output interface 3:3:%j ALSA usbaudio.c:1712: adding an input interface 3:3:%j ALSA usbaudio.c:1381: 3:4:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1296: 3:4:2 : AS_GENERAL descriptor not found ALSA usbaudio.c:1381: 3:4:3 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1381: 3:5:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1296: 3:5:2 : AS_GENERAL descriptor not found ALSA usbaudio.c:1381: 3:5:3 : non-supported sample bit 1 in 3 bytes devfs_register(unknown): could not append to parent, err: -17 ALSA usbaudio.c:1718: adding an output interface 3:6:%j ALSA usbaudio.c:1712: adding an input interface 3:6:%j ALSA usbaudio.c:1381: 3:7:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1296: 3:7:2 : AS_GENERAL descriptor not found ALSA usbaudio.c:1381: 3:7:3 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1381: 3:8:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1296: 3:8:2 : AS_GENERAL descriptor not found ALSA usbaudio.c:1381: 3:8:3 : non-supported sample bit 1 in 3 bytes devfs_register(unknown): could not append to parent, err: -17 ---- -- Patrick Shirkey - Boost Hardware Ltd. For the discerning hardware connoisseur Http://www.boosthardware.com Http://www.boosthardware.com/LAU/guide/ ======================================== [-- Attachment #2: lsusb-120602.txt --] [-- Type: text/plain, Size: 40970 bytes --] Bus 002 Device 001: ID 0000:0000 Virtual Hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 9 Hub bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0000 Virtual idProduct 0x0000 Hub bcdDevice 0.00 iManufacturer 0 iProduct 2 USB UHCI-alt Root Hub iSerial 1 d400 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x40 Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type none wMaxPacketSize 8 bInterval 255 Language IDs: (length=4) 0000 (null)((null)) Bus 001 Device 001: ID 0000:0000 Virtual Hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 9 Hub bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0000 Virtual idProduct 0x0000 Hub bcdDevice 0.00 iManufacturer 0 iProduct 2 USB UHCI-alt Root Hub iSerial 1 cc00 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x40 Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type none wMaxPacketSize 8 bInterval 255 Language IDs: (length=4) 0000 (null)((null)) Bus 001 Device 002: ID 09da:0006 A4 Tech Co., Ltd. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 Interface bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x09da A4 Tech Co., Ltd. idProduct 0x0006 bcdDevice 1.00 iManufacturer 1 A4Tech iProduct 2 USB Optical Mouse iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Devices bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 54 cannot get report descriptor Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type none wMaxPacketSize 4 bInterval 10 Language IDs: (length=4) 0409 English(US) Bus 001 Device 003: ID 0763:2001 Midiman Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 0 Interface bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0763 Midiman idProduct 0x2001 bcdDevice 1.01 iManufacturer 1 M Audio iProduct 2 USB AudioSport Quattro (tm) iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 974 bNumInterfaces 10 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x40 Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 2 USB AudioSport Quattro (tm) AudioControl Interface Descriptor: bLength 10 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 52 bInCollection 2 baInterfaceNr( 0) 1 baInterfaceNr( 1) 2 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 5 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 6 wTerminalType 0x0601 Analog Connector bAssocTerminal 0 bSourceID 5 iTerminal 0 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0601 Analog Connector bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 1 iTerminal 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 4 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 5 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 17 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 3 Discrete tSamFreq[ 0] 11025 tSamFreq[ 1] 22050 tSamFreq[ 2] 44100 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive wMaxPacketSize 192 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 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 2 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 17 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 3 Discrete tSamFreq[ 0] 11025 tSamFreq[ 1] 22050 tSamFreq[ 2] 44100 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 13 Transfer Type Isochronous Synch Type Synchronous wMaxPacketSize 192 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 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 2 USB AudioSport Quattro (tm) AudioControl Interface Descriptor: bLength 10 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 52 bInCollection 2 baInterfaceNr( 0) 4 baInterfaceNr( 1) 5 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 5 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 6 wTerminalType 0x0601 Analog Connector bAssocTerminal 0 bSourceID 5 iTerminal 0 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0601 Analog Connector bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 1 iTerminal 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 5 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 14 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 2 Discrete tSamFreq[ 0] 88200 tSamFreq[ 1] 96000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive wMaxPacketSize 576 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 4 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 5 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 20 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 4 Discrete tSamFreq[ 0] 11025 tSamFreq[ 1] 22050 tSamFreq[ 2] 44100 tSamFreq[ 3] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive wMaxPacketSize 288 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 4 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 5 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 20 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 4 Discrete tSamFreq[ 0] 11025 tSamFreq[ 1] 22050 tSamFreq[ 2] 44100 tSamFreq[ 3] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive wMaxPacketSize 192 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 5 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 5 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 2 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 14 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 2 Discrete tSamFreq[ 0] 88200 tSamFreq[ 1] 96000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 13 Transfer Type Isochronous Synch Type Synchronous wMaxPacketSize 576 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 5 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 2 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 20 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 4 Discrete tSamFreq[ 0] 11025 tSamFreq[ 1] 22050 tSamFreq[ 2] 44100 tSamFreq[ 3] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 13 Transfer Type Isochronous Synch Type Synchronous wMaxPacketSize 288 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 5 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 2 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 20 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 4 Discrete tSamFreq[ 0] 11025 tSamFreq[ 1] 22050 tSamFreq[ 2] 44100 tSamFreq[ 3] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 13 Transfer Type Isochronous Synch Type Synchronous wMaxPacketSize 192 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 6 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 2 USB AudioSport Quattro (tm) AudioControl Interface Descriptor: bLength 10 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 52 bInCollection 2 baInterfaceNr( 0) 7 baInterfaceNr( 1) 8 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 7 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 8 wTerminalType 0x0601 Analog Connector bAssocTerminal 0 bSourceID 7 iTerminal 0 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0601 Analog Connector bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 4 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 3 iTerminal 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 7 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 7 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 7 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 14 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 2 Discrete tSamFreq[ 0] 88200 tSamFreq[ 1] 96000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive wMaxPacketSize 576 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 7 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 7 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 20 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 4 Discrete tSamFreq[ 0] 11025 tSamFreq[ 1] 22050 tSamFreq[ 2] 44100 tSamFreq[ 3] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive wMaxPacketSize 288 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 7 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 7 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 20 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 4 Discrete tSamFreq[ 0] 11025 tSamFreq[ 1] 22050 tSamFreq[ 2] 44100 tSamFreq[ 3] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive wMaxPacketSize 192 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 8 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 8 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 4 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 14 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 2 Discrete tSamFreq[ 0] 88200 tSamFreq[ 1] 96000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 13 Transfer Type Isochronous Synch Type Synchronous wMaxPacketSize 576 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 8 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 4 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 20 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 4 Discrete tSamFreq[ 0] 11025 tSamFreq[ 1] 22050 tSamFreq[ 2] 44100 tSamFreq[ 3] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 13 Transfer Type Isochronous Synch Type Synchronous wMaxPacketSize 288 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 8 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 4 bDelay 1 frames wFormatTag 1 PCM AudioControl Interface Descriptor: bLength 20 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 4 Discrete tSamFreq[ 0] 11025 tSamFreq[ 1] 22050 tSamFreq[ 2] 44100 tSamFreq[ 3] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 13 Transfer Type Isochronous Synch Type Synchronous wMaxPacketSize 192 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 9 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type none wMaxPacketSize 32 bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type none wMaxPacketSize 32 bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type none wMaxPacketSize 32 bInterval 0 Language IDs: (length=4) 0409 English(US) [-- Attachment #3: descr.txt --] [-- Type: text/plain, Size: 3249 bytes --] M Audio USB AudioSport Quattro (tm) 00: 09 02 ce 03 0a 01 00 40 00 09 04 00 00 00 01 01 10: 00 02 0a 24 01 00 01 34 00 02 01 02 0c 24 02 05 20: 01 01 00 02 03 00 00 00 09 24 03 06 01 06 00 05 30: 00 0c 24 02 01 01 06 00 02 03 00 00 00 09 24 03 40: 02 01 01 00 01 00 09 04 01 00 00 01 02 00 00 09 50: 04 01 04 01 01 02 00 00 07 24 01 05 01 01 00 11 60: 24 02 01 02 02 10 03 11 2b 00 22 56 00 44 ac 00 70: 09 05 03 09 c0 00 01 00 00 07 25 01 01 00 00 00 80: 09 04 02 00 00 01 02 00 00 09 04 02 04 01 01 02 90: 00 00 07 24 01 02 01 01 00 11 24 02 01 02 02 10 a0: 03 11 2b 00 22 56 00 44 ac 00 09 05 85 0d c0 00 b0: 01 00 00 07 25 01 01 00 00 00 09 04 03 00 00 01 c0: 01 00 02 0a 24 01 00 01 34 00 02 04 05 0c 24 02 d0: 05 01 01 00 02 03 00 00 00 09 24 03 06 01 06 00 e0: 05 00 0c 24 02 01 01 06 00 02 03 00 00 00 09 24 f0: 03 02 01 01 00 01 00 09 04 04 00 00 01 02 00 00 100: 09 04 04 01 01 01 02 00 00 07 24 01 05 01 01 00 110: 0e 24 02 01 02 03 18 02 88 58 01 00 77 01 09 05 120: 03 09 40 02 01 00 00 07 25 01 01 00 00 00 09 04 130: 04 03 01 01 02 00 00 07 24 01 05 01 01 00 14 24 140: 02 01 02 03 18 04 11 2b 00 22 56 00 44 ac 00 80 150: bb 00 09 05 03 09 20 01 01 00 00 07 25 01 01 00 160: 00 00 09 04 04 04 01 01 02 00 00 07 24 01 05 01 170: 01 00 14 24 02 01 02 02 10 04 11 2b 00 22 56 00 180: 44 ac 00 80 bb 00 09 05 03 09 c0 00 01 00 00 07 190: 25 01 01 00 00 00 09 04 05 00 00 01 02 00 00 09 1a0: 04 05 01 01 01 02 00 00 07 24 01 02 01 01 00 0e 1b0: 24 02 01 02 03 18 02 88 58 01 00 77 01 09 05 85 1c0: 0d 40 02 01 00 00 07 25 01 01 00 00 00 09 04 05 1d0: 03 01 01 02 00 00 07 24 01 02 01 01 00 14 24 02 1e0: 01 02 03 18 04 11 2b 00 22 56 00 44 ac 00 80 bb 1f0: 00 09 05 85 0d 20 01 01 00 00 07 25 01 01 00 00 200: 00 09 04 05 04 01 01 02 00 00 07 24 01 02 01 01 210: 00 14 24 02 01 02 02 10 04 11 2b 00 22 56 00 44 220: ac 00 80 bb 00 09 05 85 0d c0 00 01 00 00 07 25 230: 01 01 00 00 00 09 04 06 00 00 01 01 00 02 0a 24 240: 01 00 01 34 00 02 07 08 0c 24 02 07 01 01 00 02 250: 03 00 00 00 09 24 03 08 01 06 00 07 00 0c 24 02 260: 03 01 06 00 02 03 00 00 00 09 24 03 04 01 01 00 270: 03 00 09 04 07 00 00 01 02 00 00 09 04 07 01 01 280: 01 02 00 00 07 24 01 07 01 01 00 0e 24 02 01 02 290: 03 18 02 88 58 01 00 77 01 09 05 04 09 40 02 01 2a0: 00 00 07 25 01 01 00 00 00 09 04 07 03 01 01 02 2b0: 00 00 07 24 01 07 01 01 00 14 24 02 01 02 03 18 2c0: 04 11 2b 00 22 56 00 44 ac 00 80 bb 00 09 05 04 2d0: 09 20 01 01 00 00 07 25 01 01 00 00 00 09 04 07 2e0: 04 01 01 02 00 00 07 24 01 07 01 01 00 14 24 02 2f0: 01 02 02 10 04 11 2b 00 22 56 00 44 ac 00 80 bb 300: 00 09 05 04 09 c0 00 01 00 00 07 25 01 01 00 00 310: 00 09 04 08 00 00 01 02 00 00 09 04 08 01 01 01 320: 02 00 00 07 24 01 04 01 01 00 0e 24 02 01 02 03 330: 18 02 88 58 01 00 77 01 09 05 86 0d 40 02 01 00 340: 00 07 25 01 01 00 00 00 09 04 08 03 01 01 02 00 350: 00 07 24 01 04 01 01 00 14 24 02 01 02 03 18 04 360: 11 2b 00 22 56 00 44 ac 00 80 bb 00 09 05 86 0d 370: 20 01 01 00 00 07 25 01 01 00 00 00 09 04 08 04 380: 01 01 02 00 00 07 24 01 04 01 01 00 14 24 02 01 390: 02 02 10 04 11 2b 00 22 56 00 44 ac 00 80 bb 00 3a0: 09 05 86 0d c0 00 01 00 00 07 25 01 01 00 00 00 3b0: 09 04 09 00 03 ff 00 00 00 07 05 81 03 20 00 01 3c0: 07 05 82 02 20 00 00 07 05 02 02 20 00 00 ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 5:16 ` Patrick Shirkey @ 2002-06-12 13:24 ` Takashi Iwai 2002-06-12 14:10 ` Patrick Shirkey 0 siblings, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2002-06-12 13:24 UTC (permalink / raw) To: Patrick Shirkey; +Cc: alsa-devel At Wed, 12 Jun 2002 14:16:13 +0900, Patrick Shirkey wrote: > > Takashi Iwai wrote: > > > > most of debug messages have been moved to snd_printdd(). that is, > > to show such debug messages, you'll need to configure alsa-driver with > > --with-debug=detect. if your usb device doesn't work try this, and > > send me the output of kernel messages together with the output of > > lsusb. > > > > Using the latest code this is all the info I can get for this card. > > To refresh your memory. > > It appears that the card is being correctly found and registered but > that alsa cannot set up the pcm devices. > > There are two obvious things that are possibly directly related. One is > that the card is created in /proc/asound three times and the other is > the AS_GENERAL descriptor not found error. it seems that this device has discontinuous alternate setting numbers. the bAlternateSetting jumps from 0 to 4 or 3, while usual devices have the suceeding numbers from 0. > > > ---- > #cat: /proc/asound/dev/controlC2: File descriptor in bad state that's not wrong. your device has apparently no mixer controls... together with the problem above, i fixed / improved the usb audio driver. now all interfaces on the same usb device will be merged into one card, so you'll get only one card now. it's on cvs. please give a try. btw, now descriptor proc was removed (one can use lsusb anyway). instead you'll see formats supported on each stream. Takashi _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 13:24 ` Takashi Iwai @ 2002-06-12 14:10 ` Patrick Shirkey 2002-06-12 14:13 ` Takashi Iwai 0 siblings, 1 reply; 22+ messages in thread From: Patrick Shirkey @ 2002-06-12 14:10 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel Takashi Iwai wrote: > it's on cvs. please give a try. > btw, now descriptor proc was removed (one can use lsusb anyway). > instead you'll see formats supported on each stream. > Excellent work. I haven't tested the output yet but will soon. One thing that isn't correct is that this card has 4 channels. Is it me or does the following only find 3? --- # cat /proc/asound/card card0 card1 card2 cards # cat /proc/asound/card2/ id pcm0p pcm1p pcm2p stream1 pcm0c pcm1c pcm2c stream0 stream2 # cat /proc/asound/card2/id card2 # cat /proc/asound/cards 0 [first ]: CMI8738 - C-Media PCI CMI8738 C-Media PCI CMI8738 (model 37) at 0xa800, irq 5 1 [second ]: ICH - Intel 82801BA-ICH2 Intel 82801BA-ICH2 at 0xdc00, irq 3 2 [card2 ]: USB-Audio - USB Audio Driver M Audio USB AudioSport Quattro (tm) # cat /proc/asound/card2/stream0 M Audio USB AudioSport Quattro (tm) : USB Audio Playback: Format: S16_LE Channels: 2 Rates: 11025, 22050, 44100 Capture: Format: S16_LE Channels: 2 Rates: 11025, 22050, 44100 # cat /proc/asound/card2/stream1 M Audio USB AudioSport Quattro (tm) : USB Audio #1 Playback: Format: S16_LE Channels: 2 Rates: 11025, 22050, 44100, 48000 Capture: Format: S16_LE Channels: 2 Rates: 11025, 22050, 44100, 48000 # cat /proc/asound/card2/stream2 M Audio USB AudioSport Quattro (tm) : USB Audio #2 Playback: Format: S16_LE Channels: 2 Rates: 11025, 22050, 44100, 48000 Capture: Format: S16_LE Channels: 2 Rates: 11025, 22050, 44100, 48000 --- -- Patrick Shirkey - Boost Hardware Ltd. For the discerning hardware connoisseur Http://www.boosthardware.com Http://www.boosthardware.com/LAU/guide/ ======================================== _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 14:10 ` Patrick Shirkey @ 2002-06-12 14:13 ` Takashi Iwai 2002-06-12 14:19 ` Niklas Werner 2002-06-12 14:55 ` Patrick Shirkey 0 siblings, 2 replies; 22+ messages in thread From: Takashi Iwai @ 2002-06-12 14:13 UTC (permalink / raw) To: Patrick Shirkey; +Cc: alsa-devel At Wed, 12 Jun 2002 23:10:19 +0900, Patrick Shirkey wrote: > > Takashi Iwai wrote: > > it's on cvs. please give a try. > > btw, now descriptor proc was removed (one can use lsusb anyway). > > instead you'll see formats supported on each stream. > > > > Excellent work. I haven't tested the output yet but will soon. One thing > that isn't correct is that this card has 4 channels. Is it me or does > the following only find 3? can you check kernel debug (detection) messages? perhaps it skipps an audio stream by some reason. Takashi _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 14:13 ` Takashi Iwai @ 2002-06-12 14:19 ` Niklas Werner 2002-06-12 14:36 ` Takashi Iwai 2002-06-12 14:55 ` Patrick Shirkey 1 sibling, 1 reply; 22+ messages in thread From: Niklas Werner @ 2002-06-12 14:19 UTC (permalink / raw) To: alsa-devel Am Wednesday, 12. June 2002 16:13, wurde geschrieben: > At Wed, 12 Jun 2002 23:10:19 +0900, > > Patrick Shirkey wrote: > > Takashi Iwai wrote: > > > it's on cvs. please give a try. > > > btw, now descriptor proc was removed (one can use lsusb anyway). > > > instead you'll see formats supported on each stream. OK, in stream0 now my emi26 is recognised as being capable of 6 outs @ 44.1 or 48 k and 2 out @ 96 kHz, but still I only get /proc/asound/card0/: id pcm0p pcm0c stream0 so I still cant' access the other 4 outs. Or is there a way to use stream0 directly ? Have fun* Niklas _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 14:19 ` Niklas Werner @ 2002-06-12 14:36 ` Takashi Iwai 2002-06-12 16:00 ` Niklas Werner 0 siblings, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2002-06-12 14:36 UTC (permalink / raw) To: Niklas Werner; +Cc: alsa-devel At Wed, 12 Jun 2002 16:19:57 +0200, Niklas Werner wrote: > > Am Wednesday, 12. June 2002 16:13, wurde geschrieben: > > At Wed, 12 Jun 2002 23:10:19 +0900, > > > > Patrick Shirkey wrote: > > > Takashi Iwai wrote: > > > > it's on cvs. please give a try. > > > > btw, now descriptor proc was removed (one can use lsusb anyway). > > > > instead you'll see formats supported on each stream. > > > OK, in stream0 now my emi26 is recognised as being capable of 6 outs @ > 44.1 or 48 k and 2 out @ 96 kHz, but still I only get /proc/asound/card0/: > id pcm0p pcm0c stream0 it's ok. a stream can support different formats and channels. if you find "Channels: 6" in stream0 proc file, then it means that the pcm device 'hw:0,0' (or hw:X,0 where X is the card number) can accept 6 channels playback/capture. if so, you can just feed 6-channels interleaved data to the device. well, this means also, that you have to access all 6 channels at the same time. Takashi _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 14:36 ` Takashi Iwai @ 2002-06-12 16:00 ` Niklas Werner 0 siblings, 0 replies; 22+ messages in thread From: Niklas Werner @ 2002-06-12 16:00 UTC (permalink / raw) To: alsa-devel > > OK, in stream0 now my emi26 is recognised as being capable of 6 outs > > @ 44.1 or 48 k and 2 out @ 96 kHz, but still I only get > > /proc/asound/card0/: id pcm0p pcm0c stream0 > > it's ok. a stream can support different formats and channels. > if you find "Channels: 6" in stream0 proc file, then it means that the > pcm device 'hw:0,0' (or hw:X,0 where X is the card number) can accept > 6 channels playback/capture. if so, you can just feed 6-channels > interleaved data to the device. > well, this means also, that you have to access all 6 channels at the > same time. bugger! Well, OK, at least that gives me an idea... but the much discussed ("multiple cards"-thread on jackit-devel) .asoundrc-fiddling for getting more than one app to do the playback should work ok then, shouldn't it? I'll give it a try :-) Have fun* Niklas _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 14:13 ` Takashi Iwai 2002-06-12 14:19 ` Niklas Werner @ 2002-06-12 14:55 ` Patrick Shirkey 2002-06-12 16:12 ` Patrick Shirkey 1 sibling, 1 reply; 22+ messages in thread From: Patrick Shirkey @ 2002-06-12 14:55 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel Takashi Iwai wrote: > At Wed, 12 Jun 2002 23:10:19 +0900, > Patrick Shirkey wrote: > >>Takashi Iwai wrote: >> >>>it's on cvs. please give a try. >>>btw, now descriptor proc was removed (one can use lsusb anyway). >>>instead you'll see formats supported on each stream. >>> >> >>Excellent work. I haven't tested the output yet but will soon. One thing >>that isn't correct is that this card has 4 channels. Is it me or does >>the following only find 3? > > > can you check kernel debug (detection) messages? > perhaps it skipps an audio stream by some reason. > > i have been testing the sound and I am getting playback although at this point I can get sound out of hw:2,0 and hw:2,2 they are both the left channels. The sound is scratchy but it is there :) This is from the kernel. It seems to be loading the devices unusually. ----- #dmesg devfs_register(unknown): could not append to parent, err: -17 devfs_register(unknown): could not append to parent, err: -17 usb.c: registered new driver snd-usb-audio ALSA usbaudio.c:1756: adding an output interface 3:0:1 ALSA usbaudio.c:1750: adding an input interface 3:0:2 devfs_register(unknown): could not append to parent, err: -17 devfs_register(unknown): could not append to parent, err: -17 devfs_register(unknown): could not append to parent, err: -17 ALSA usbaudio.c:1756: adding an output interface 3:3:4 ALSA usbaudio.c:1750: adding an input interface 3:3:5 ALSA usbaudio.c:1391: 3:4:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1391: 3:4:3 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1391: 3:5:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1391: 3:5:3 : non-supported sample bit 1 in 3 bytes devfs_register(unknown): could not append to parent, err: -17 ALSA usbaudio.c:1756: adding an output interface 3:6:7 ALSA usbaudio.c:1750: adding an input interface 3:6:8 ALSA usbaudio.c:1391: 3:7:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1391: 3:7:3 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1391: 3:8:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1391: 3:8:3 : non-supported sample bit 1 in 3 bytes ----- /var/log/messages Jun 12 23:44:24 mahine kernel: usb.c: registered new driver snd-usb-audio Jun 12 23:44:24 mahine kernel: ALSA usbaudio.c:1756: adding an output interface 3:0:1 Jun 12 23:44:24 mahine kernel: ALSA usbaudio.c:1750: adding an input interface 3:0:2 Jun 12 23:44:24 mahine kernel: ALSA usbaudio.c:1756: adding an output interface 3:3:4 Jun 12 23:44:24 mahine kernel: ALSA usbaudio.c:1750: adding an input interface 3:3:5 Jun 12 23:44:24 mahine kernel: ALSA usbaudio.c:1756: adding an output interface 3:6:7 Jun 12 23:44:24 mahine kernel: ALSA usbaudio.c:1750: adding an input interface 3:6:8 ----- > Takashi > > -- Patrick Shirkey - Boost Hardware Ltd. For the discerning hardware connoisseur Http://www.boosthardware.com Http://www.boosthardware.com/LAU/guide/ ======================================== _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 14:55 ` Patrick Shirkey @ 2002-06-12 16:12 ` Patrick Shirkey 2002-06-12 16:48 ` Patrick Shirkey 0 siblings, 1 reply; 22+ messages in thread From: Patrick Shirkey @ 2002-06-12 16:12 UTC (permalink / raw) Cc: Takashi Iwai, alsa-devel Patrick Shirkey wrote: > > i have been testing the sound and I am getting playback although at this > point I can get sound out of hw:2,0 and hw:2,2 they are both the left > channels. The sound is scratchy but it is there :) > The sound is actually coming through output 2 and 4 on the sound card even though I'm using hw:2,0 or hw:2,2. -- Patrick Shirkey - Boost Hardware Ltd. For the discerning hardware connoisseur Http://www.boosthardware.com Http://www.boosthardware.com/LAU/guide/ ======================================== _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 16:12 ` Patrick Shirkey @ 2002-06-12 16:48 ` Patrick Shirkey 2002-06-12 16:59 ` Takashi Iwai 0 siblings, 1 reply; 22+ messages in thread From: Patrick Shirkey @ 2002-06-12 16:48 UTC (permalink / raw) Cc: Takashi Iwai, alsa-devel Patrick Shirkey wrote: > Patrick Shirkey wrote: > >> >> i have been testing the sound and I am getting playback although at >> this point I can get sound out of hw:2,0 and hw:2,2 they are both the >> left channels. The sound is scratchy but it is there :) >> > > The sound is actually coming through output 2 and 4 on the sound card > even though I'm using hw:2,0 or hw:2,2. > When I use the first two pcm devices the sound is sent through output 2 on the card and when I use the third the sound is sent through output 4. I have also tested capture and the card is not working with that yet. It will attempt to record for a few seconds but will not write to a file or produce any noise either with direct monitoring enabled or not. Also recording locks the mouse until either it has finished or is ctrl+c'd. -- Patrick Shirkey - Boost Hardware Ltd. For the discerning hardware connoisseur Http://www.boosthardware.com Http://www.boosthardware.com/LAU/guide/ ======================================== _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 16:48 ` Patrick Shirkey @ 2002-06-12 16:59 ` Takashi Iwai 2002-06-12 17:31 ` Patrick Shirkey 0 siblings, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2002-06-12 16:59 UTC (permalink / raw) To: Patrick Shirkey; +Cc: alsa-devel At Thu, 13 Jun 2002 01:48:33 +0900, Patrick Shirkey wrote: > > Patrick Shirkey wrote: > > Patrick Shirkey wrote: > > > >> > >> i have been testing the sound and I am getting playback although at > >> this point I can get sound out of hw:2,0 and hw:2,2 they are both the > >> left channels. The sound is scratchy but it is there :) > >> > > > > The sound is actually coming through output 2 and 4 on the sound card > > even though I'm using hw:2,0 or hw:2,2. > > > > When I use the first two pcm devices the sound is sent through output 2 > on the card and when I use the third the sound is sent through output 4. i committed a minor change to cvs. now endpoints will be shown in each proc file. could you apply and send me the output of each proc file? i'd like to know whether really endpoints are parsed correctly. > I have also tested capture and the card is not working with that yet. > > It will attempt to record for a few seconds but will not write to a file > or produce any noise either with direct monitoring enabled or not. Also > recording locks the mouse until either it has finished or is ctrl+c'd. hmm, this sounds bad. i'm not sure whether this is a general capture problem on usb audio. i'll borrow a usb mic tomorrow and test with it. ciao, Takashi _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 16:59 ` Takashi Iwai @ 2002-06-12 17:31 ` Patrick Shirkey 2002-06-13 10:39 ` Takashi Iwai 0 siblings, 1 reply; 22+ messages in thread From: Patrick Shirkey @ 2002-06-12 17:31 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel Takashi Iwai wrote: > At Thu, 13 Jun 2002 01:48:33 +0900, > Patrick Shirkey wrote: > >>Patrick Shirkey wrote: >> >>>Patrick Shirkey wrote: >>> >>> >>>>i have been testing the sound and I am getting playback although at >>>>this point I can get sound out of hw:2,0 and hw:2,2 they are both the >>>>left channels. The sound is scratchy but it is there :) >>>> >>> >>>The sound is actually coming through output 2 and 4 on the sound card >>>even though I'm using hw:2,0 or hw:2,2. >>> >> >>When I use the first two pcm devices the sound is sent through output 2 >>on the card and when I use the third the sound is sent through output 4. > > > i committed a minor change to cvs. > now endpoints will be shown in each proc file. > could you apply and send me the output of each proc file? > i'd like to know whether really endpoints are parsed correctly. > > From the looks of things they are not. ------ # cat /proc/asound/card2/stream0 M Audio USB AudioSport Quattro (tm) : USB Audio Playback: Format: S16_LE Channels: 2 Endpoint: 3 OUT Rates: 11025, 22050, 44100 Capture: Format: S16_LE Channels: 2 Endpoint: 5 IN Rates: 11025, 22050, 44100 # cat /proc/asound/card2/stream1 M Audio USB AudioSport Quattro (tm) : USB Audio #1 Playback: Format: S16_LE Channels: 2 Endpoint: 3 OUT Rates: 11025, 22050, 44100, 48000 Capture: Format: S16_LE Channels: 2 Endpoint: 5 IN Rates: 11025, 22050, 44100, 48000 # cat /proc/asound/card2/stream2 M Audio USB AudioSport Quattro (tm) : USB Audio #2 Playback: Format: S16_LE Channels: 2 Endpoint: 4 OUT Rates: 11025, 22050, 44100, 48000 Capture: Format: S16_LE Channels: 2 Endpoint: 6 IN Rates: 11025, 22050, 44100, 48000 ------ > >>I have also tested capture and the card is not working with that yet. >> >>It will attempt to record for a few seconds but will not write to a file >>or produce any noise either with direct monitoring enabled or not. Also >> recording locks the mouse until either it has finished or is ctrl+c'd. > > > hmm, this sounds bad. > i'm not sure whether this is a general capture problem on usb audio. > i'll borrow a usb mic tomorrow and test with it. > > > ciao, > > Takashi > > -- Patrick Shirkey - Boost Hardware Ltd. For the discerning hardware connoisseur Http://www.boosthardware.com Http://www.boosthardware.com/LAU/guide/ ======================================== _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-12 17:31 ` Patrick Shirkey @ 2002-06-13 10:39 ` Takashi Iwai 2002-06-13 12:54 ` Patrick Shirkey 0 siblings, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2002-06-13 10:39 UTC (permalink / raw) To: Patrick Shirkey; +Cc: alsa-devel [-- Attachment #1: Type: text/plain, Size: 2126 bytes --] At Thu, 13 Jun 2002 02:31:12 +0900, Patrick Shirkey wrote: > > Takashi Iwai wrote: > > At Thu, 13 Jun 2002 01:48:33 +0900, > > Patrick Shirkey wrote: > > > >>Patrick Shirkey wrote: > >> > >>>Patrick Shirkey wrote: > >>> > >>> > >>>>i have been testing the sound and I am getting playback although at > >>>>this point I can get sound out of hw:2,0 and hw:2,2 they are both the > >>>>left channels. The sound is scratchy but it is there :) > >>>> > >>> > >>>The sound is actually coming through output 2 and 4 on the sound card > >>>even though I'm using hw:2,0 or hw:2,2. > >>> > >> > >>When I use the first two pcm devices the sound is sent through output 2 > >>on the card and when I use the third the sound is sent through output 4. actually the endpoints of the first two pcm streams are identical. is the sound only mono? on the description, it's defined as stereo streams. so i guess quattro has two stereo streams, corresponding #0 (or #1) and #2. it seems that the stream #0 has only 16bit 44.1kHz at most, while the stream #1 supports 16/24bit 48kHz (although 24bit-3bytes format is not supported on alsa yet). > > i committed a minor change to cvs. > > now endpoints will be shown in each proc file. > > could you apply and send me the output of each proc file? > > i'd like to know whether really endpoints are parsed correctly. > > > > > > From the looks of things they are not. well, it looks ok. the stream corresponds correctly to the description. > > > > >>I have also tested capture and the card is not working with that yet. > >> > >>It will attempt to record for a few seconds but will not write to a file > >>or produce any noise either with direct monitoring enabled or not. Also > >> recording locks the mouse until either it has finished or is ctrl+c'd. > > > > > > hmm, this sounds bad. > > i'm not sure whether this is a general capture problem on usb audio. > > i'll borrow a usb mic tomorrow and test with it. i've tested usb mic from Labtec, and it works. so the problem is specific to the hardware, or multi-channels... anyway, could you try the attached patch? Takashi [-- Attachment #2: usb-fix2.dif --] [-- Type: application/octet-stream, Size: 10786 bytes --] Index: alsa-driver/usb/usbaudio.c =================================================================== RCS file: /suse/tiwai/cvs/alsa/alsa-driver/usb/usbaudio.c,v retrieving revision 1.11 diff -u -r1.11 usbaudio.c --- alsa-driver/usb/usbaudio.c 12 Jun 2002 16:56:40 -0000 1.11 +++ alsa-driver/usb/usbaudio.c 13 Jun 2002 10:36:04 -0000 @@ -42,7 +42,7 @@ #include "usbaudio.h" -EXPORT_NO_SYMBOLS; +EXPORT_NO_SYMBOLS; /* for kernels < 2.5 */ MODULE_AUTHOR("Takashi Iwai <tiwai@suse.de>"); MODULE_DESCRIPTION("USB Audio"); @@ -84,6 +84,7 @@ unsigned char altset_idx; /* array index of altenate setting */ unsigned char attributes; /* corresponding attributes of cs endpoint */ unsigned char endpoint; /* endpoint */ + unsigned char ep_attr; /* endpoint attributes */ unsigned int rates; /* rate bitmasks */ int rate_min, rate_max; /* min/max rates */ int nr_rates; /* number of rate table entries */ @@ -257,7 +258,7 @@ { unsigned long flags; unsigned char *cp; - int stride, i, len; + int stride, i, len, oldptr; stride = runtime->frame_bits >> 3; @@ -268,20 +269,25 @@ len = urb->iso_frame_desc[i].actual_length / stride; if (! len) continue; + /* update the current pointer */ spin_lock_irqsave(&subs->lock, flags); + oldptr = subs->hwptr_done; + subs->hwptr_done += len; + if (subs->hwptr_done >= runtime->buffer_size) + subs->hwptr_done -= runtime->buffer_size; + subs->transfer_done += len; + spin_unlock_irqrestore(&subs->lock, flags); /* copy a data chunk */ - if (subs->hwptr_done + len >= runtime->buffer_size) { - int cnt = runtime->buffer_size - subs->hwptr_done; + if (oldptr + len >= runtime->buffer_size) { + int cnt = runtime->buffer_size - oldptr; int blen = cnt * stride; - memcpy(runtime->dma_area + subs->hwptr_done * stride, cp, blen); + memcpy(runtime->dma_area + oldptr * stride, cp, blen); memcpy(runtime->dma_area, cp + blen, len * stride - blen); - subs->hwptr_done = len - cnt; } else { memcpy(runtime->dma_area + subs->hwptr_done * stride, cp, len * stride); - subs->hwptr_done += len; } /* update the pointer, call callback if necessary */ - subs->transfer_done += len; + spin_lock_irqsave(&subs->lock, flags); if (subs->transfer_done >= runtime->period_size) { subs->transfer_done -= runtime->period_size; spin_unlock_irqrestore(&subs->lock, flags); @@ -727,8 +733,8 @@ /* calculate the max. size of packet */ maxsize = ((subs->freqmax + 0x3fff) * (runtime->frame_bits >> 3)) >> 14; if (subs->maxpacksize && maxsize > subs->maxpacksize) { - snd_printd(KERN_DEBUG "maxsize %d is greater than defined size %d\n", - maxsize, subs->maxpacksize); + //snd_printd(KERN_DEBUG "maxsize %d is greater than defined size %d\n", + // maxsize, subs->maxpacksize); maxsize = subs->maxpacksize; } @@ -851,6 +857,63 @@ return NULL; } + +/* FIXME: stolen from usb/message.c + * alternate setting value doesn't match always with the array index. + * let's see whether this works... + */ +static void hack_usb_set_maxpacket(struct usb_device *dev) +{ + int i, b; + + for (i=0; i<dev->actconfig->bNumInterfaces; i++) { + struct usb_interface *ifp = dev->actconfig->interface + i; + struct usb_interface_descriptor *as = ifp->altsetting + ifp->act_altsetting; + struct usb_endpoint_descriptor *ep = as->endpoint; + int e; + + for (e=0; e<as->bNumEndpoints; e++) { + b = ep[e].bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; + if (usb_endpoint_out(ep[e].bEndpointAddress)) { + if (ep[e].wMaxPacketSize > dev->epmaxpacketout[b]) + dev->epmaxpacketout[b] = ep[e].wMaxPacketSize; + } + else { + if (ep[e].wMaxPacketSize > dev->epmaxpacketin [b]) + dev->epmaxpacketin [b] = ep[e].wMaxPacketSize; + } + } + } +} + +static int hack_usb_set_interface(struct usb_device *dev, int interface, int alt_idx, int alternate) +{ + struct usb_interface *iface; + struct usb_interface_descriptor *iface_as; + int i, ret; + + iface = usb_ifnum_to_if(dev, interface); + if (!iface) + return -EINVAL; + if (iface->num_altsetting == 1) + return 0; + + if ((ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), + USB_REQ_SET_INTERFACE, USB_RECIP_INTERFACE, + alternate, + interface, NULL, 0, HZ * 5)) < 0) + return ret; + + iface->act_altsetting = alt_idx; + iface_as = &iface->altsetting[alt_idx]; + for (i = 0; i < iface_as->bNumEndpoints; i++) { + u8 ep = iface_as->endpoint[i].bEndpointAddress; + usb_settoggle(dev, ep&USB_ENDPOINT_NUMBER_MASK, usb_endpoint_out(ep), 0); + } + hack_usb_set_maxpacket(dev); + return 0; +} + /* * find a matching format and set up the interface */ @@ -868,8 +931,8 @@ fmt = find_format(subs, runtime); if (! fmt) { - snd_printd(KERN_DEBUG "cannot set format: format = %d, rate = %d, channels = %d\n", - runtime->format, runtime->rate, runtime->channels); + snd_printd(KERN_DEBUG "cannot set format: format = %s, rate = %d, channels = %d\n", + snd_pcm_format_name(runtime->format), runtime->rate, runtime->channels); return -EINVAL; } @@ -916,7 +979,7 @@ } /* set interface */ - if (usb_set_interface(dev, iface->altsetting->bInterfaceNumber, fmt->altset_idx) < 0) { + if (hack_usb_set_interface(dev, subs->interface, fmt->altset_idx, fmt->altsetting) < 0) { snd_printk(KERN_ERR "%d:%d:%d: usb_set_interface failed\n", dev->devnum, subs->interface, fmt->altsetting); return -EIO; @@ -926,7 +989,8 @@ /* if endpoint has pitch control, enable it */ if (fmt->attributes & EP_CS_ATTR_PITCH_CONTROL) { data[0] = 1; - if ((err = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), SET_CUR, USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, + if ((err = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), SET_CUR, + USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, PITCH_CONTROL << 8, ep, data, 1, HZ)) < 0) { snd_printk(KERN_ERR "%d:%d:%d: cannot set enable PITCH\n", dev->devnum, subs->interface, ep); @@ -938,16 +1002,18 @@ data[0] = runtime->rate; data[1] = runtime->rate >> 8; data[2] = runtime->rate >> 16; - if ((err = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), SET_CUR, USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, + if ((err = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), SET_CUR, + USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, SAMPLING_FREQ_CONTROL << 8, ep, data, 3, HZ)) < 0) { - snd_printk(KERN_ERR "%d:%d:%d: cannot set freq %d\n", - dev->devnum, subs->interface, ep, runtime->rate); + snd_printk(KERN_ERR "%d:%d:%d: cannot set freq %d to ep 0x%x\n", + dev->devnum, subs->interface, fmt->altsetting, runtime->rate, ep); return err; } - if ((err = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), GET_CUR, USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_IN, + if ((err = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), GET_CUR, + USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_IN, SAMPLING_FREQ_CONTROL << 8, ep, data, 3, HZ)) < 0) { - snd_printk(KERN_ERR "%d:%d:%d: cannot get freq\n", - dev->devnum, subs->interface, ep); + snd_printk(KERN_ERR "%d:%d:%d: cannot get freq at ep 0x%x\n", + dev->devnum, subs->interface, fmt->altsetting, ep); return err; } runtime->rate = data[0] | (data[1] << 8) | (data[2] << 16); @@ -1091,9 +1157,7 @@ { snd_usb_stream_t *as = snd_pcm_substream_chip(substream); snd_usb_substream_t *subs = &as->substream[direction]; - struct usb_interface *iface; - iface = &subs->dev->actconfig->interface[subs->interface]; - usb_set_interface(subs->dev, iface->altsetting->bInterfaceNumber, 0); + usb_set_interface(subs->dev, subs->interface, 0); release_substream_urbs(subs); subs->pcm_substream = NULL; return 0; @@ -1223,7 +1287,8 @@ static struct usb_device_id usb_audio_ids [] = { { match_flags: (USB_DEVICE_ID_MATCH_INT_CLASS | USB_DEVICE_ID_MATCH_INT_SUBCLASS), - bInterfaceClass: USB_CLASS_AUDIO, bInterfaceSubClass: 1}, + bInterfaceClass: USB_CLASS_AUDIO, + bInterfaceSubClass: USB_SUBCLASS_AUDIO_CONTROL }, { } /* Terminating entry */ }; @@ -1284,7 +1349,7 @@ alts = &iface->altsetting[i]; /* skip invalid one */ if (alts->bInterfaceClass != USB_CLASS_AUDIO || - alts->bInterfaceSubClass != 2 || + alts->bInterfaceSubClass != USB_SUBCLASS_AUDIO_STREAMING || alts->bNumEndpoints < 1) continue; /* must be isochronous */ @@ -1460,6 +1525,7 @@ fp->altsetting = altno; fp->altset_idx = i; fp->endpoint = alts->endpoint[0].bEndpointAddress; + fp->ep_attr = alts->endpoint[0].bmAttributes; fp->channels = channels; fp->attributes = csep[3]; @@ -1538,15 +1604,19 @@ static void proc_dump_substream_formats(snd_usb_substream_t *subs, snd_info_buffer_t *buffer) { struct list_head *p; + static char *sync_types[4] = { + "NONE", "ASYNC", "ADAPTIVE", "SYNC" + }; list_for_each(p, &subs->fmt_list) { struct audioformat *fp; fp = list_entry(p, struct audioformat, list); snd_iprintf(buffer, " Format: %s\n", snd_pcm_format_name(fp->format)); snd_iprintf(buffer, " Channels: %d\n", fp->channels); - snd_iprintf(buffer, " Endpoint: %d %s\n", + snd_iprintf(buffer, " Endpoint: %d %s (%s)\n", fp->endpoint & USB_ENDPOINT_NUMBER_MASK, - fp->endpoint & USB_DIR_IN ? "IN" : "OUT"); + fp->endpoint & USB_DIR_IN ? "IN" : "OUT", + sync_types[(fp->ep_attr & EP_ATTR_MASK) >> 2]); if (fp->rates & SNDRV_PCM_RATE_CONTINUOUS) { snd_iprintf(buffer, " Rates: %d - %d (continous)\n", fp->rate_min, fp->rate_max); @@ -1724,7 +1794,7 @@ } iface = &config->interface[j]; if (iface->altsetting[0].bInterfaceClass != USB_CLASS_AUDIO || - iface->altsetting[0].bInterfaceSubClass != 2) { + iface->altsetting[0].bInterfaceSubClass != USB_SUBCLASS_AUDIO_STREAMING) { snd_printdd(KERN_ERR "%d:%u:%d: skipping non-supported interface %d\n", dev->devnum, ctrlif, j, iface->altsetting[0].bInterfaceClass); /* skip non-supported classes */ continue; @@ -1787,7 +1857,6 @@ static int snd_usb_audio_free(snd_usb_audio_t *chip) { - //snd_usb_proc_done(chip); down(®ister_mutex); usb_chip[chip->index] = NULL; up(®ister_mutex); Index: alsa-driver/usb/usbaudio.h =================================================================== RCS file: /suse/tiwai/cvs/alsa/alsa-driver/usb/usbaudio.h,v retrieving revision 1.6 diff -u -r1.6 usbaudio.h --- alsa-driver/usb/usbaudio.h 12 Jun 2002 12:56:14 -0000 1.6 +++ alsa-driver/usb/usbaudio.h 13 Jun 2002 09:31:24 -0000 @@ -27,6 +27,9 @@ /* */ +#define USB_SUBCLASS_AUDIO_CONTROL 0x01 +#define USB_SUBCLASS_AUDIO_STREAMING 0x02 + #define USB_DT_CS_DEVICE 0x21 #define USB_DT_CS_CONFIG 0x22 #define USB_DT_CS_STRING 0x23 ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-13 10:39 ` Takashi Iwai @ 2002-06-13 12:54 ` Patrick Shirkey 2002-06-13 13:05 ` Takashi Iwai 0 siblings, 1 reply; 22+ messages in thread From: Patrick Shirkey @ 2002-06-13 12:54 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel Takashi Iwai wrote: > > actually the endpoints of the first two pcm streams are identical. > is the sound only mono? Yes it *was* just through output 2 or 4 on the card. > on the description, it's defined as stereo streams. > so i guess quattro has two stereo streams, corresponding #0 (or #1) > and #2. > it seems that the stream #0 has only 16bit 44.1kHz at most, while the > stream #1 supports 16/24bit 48kHz (although 24bit-3bytes format is not > supported on alsa yet). > This card is supposed to be 24bit/96Khz. In windows it works like this: 4 i/o channels(2 in, 2 out) at 16bit/48Khz or less 3 i/o channels(2 in, 1 out or 1 in, 2 out) at 24bit/48Khz or less 1 channel at 24bit/96Khz I understand why the 24 bit is not being registered, is that also the probable reason why 96Khz is not being found? > > i've tested usb mic from Labtec, and it works. > so the problem is specific to the hardware, or multi-channels... > I just remembered that my mouse is a usb mouse too so that is not unexpected. > > anyway, could you try the attached patch? > Excellent work. That has enabled stereo playback in hw:2,0 hw:2,1 and hw:2,2. I am unsure about a couple of things though. hw:2,0 and hw 2,1 seem to be doing the same thing. #dmesg --- usb.c: registered new driver snd-usb-audio ALSA usbaudio.c:1833: adding an output interface 3:0:1 ALSA usbaudio.c:1827: adding an input interface 3:0:2 devfs_register(unknown): could not append to parent, err: -17 devfs_register(unknown): could not append to parent, err: -17 devfs_register(unknown): could not append to parent, err: -17 ALSA usbaudio.c:1833: adding an output interface 3:3:4 ALSA usbaudio.c:1827: adding an input interface 3:3:5 ALSA usbaudio.c:1459: 3:4:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1459: 3:4:3 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1459: 3:5:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1459: 3:5:3 : non-supported sample bit 1 in 3 bytes devfs_register(unknown): could not append to parent, err: -17 ALSA usbaudio.c:1833: adding an output interface 3:6:7 ALSA usbaudio.c:1827: adding an input interface 3:6:8 ALSA usbaudio.c:1459: 3:7:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1459: 3:7:3 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1459: 3:8:1 : non-supported sample bit 1 in 3 bytes ALSA usbaudio.c:1459: 3:8:3 : non-supported sample bit 1 in 3 bytes --- -- Patrick Shirkey - Boost Hardware Ltd. For the discerning hardware connoisseur Http://www.boosthardware.com Http://www.boosthardware.com/LAU/guide/ ======================================== _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas - http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-13 12:54 ` Patrick Shirkey @ 2002-06-13 13:05 ` Takashi Iwai 2002-06-13 13:21 ` Niklas Werner 2002-06-13 13:35 ` Patrick Shirkey 0 siblings, 2 replies; 22+ messages in thread From: Takashi Iwai @ 2002-06-13 13:05 UTC (permalink / raw) To: Patrick Shirkey; +Cc: alsa-devel At Thu, 13 Jun 2002 21:54:08 +0900, Patrick Shirkey wrote: > > Takashi Iwai wrote: > > > > actually the endpoints of the first two pcm streams are identical. > > is the sound only mono? > > Yes it *was* just through output 2 or 4 on the card. > > > on the description, it's defined as stereo streams. > > so i guess quattro has two stereo streams, corresponding #0 (or #1) > > and #2. > > it seems that the stream #0 has only 16bit 44.1kHz at most, while the > > stream #1 supports 16/24bit 48kHz (although 24bit-3bytes format is not > > supported on alsa yet). > > > > This card is supposed to be 24bit/96Khz. In windows it works like this: > > 4 i/o channels(2 in, 2 out) at 16bit/48Khz or less > 3 i/o channels(2 in, 1 out or 1 in, 2 out) at 24bit/48Khz or less > 1 channel at 24bit/96Khz interesting. i don't find any mono channel on the descriptions. well, more investigations are necessary. > I understand why the 24 bit is not being registered, is that also the > probable reason why 96Khz is not being found? yes, it's because 88.2 and 96kHz are supported only with 24bit format. i'll work on the extension of more formats, so that 24bit on usb can work. > > > > i've tested usb mic from Labtec, and it works. > > so the problem is specific to the hardware, or multi-channels... > > > > I just remembered that my mouse is a usb mouse too so that is not > unexpected. too much bandwidth? > > > > anyway, could you try the attached patch? > > > > Excellent work. That has enabled stereo playback in hw:2,0 hw:2,1 and > hw:2,2. good! then it was a bug of linux usb core stuff. well, we may call it a bug of hardware :) the quattro has insuccessive alternate settings, jumping from 0 to 4. and linux usb core implicitly assumes the successive numbers. anyway i'll commit this version to cvs now. > I am unsure about a couple of things though. hw:2,0 and hw 2,1 > seem to be doing the same thing. that's also a question to me :) as written in my previous mail, hw:2,1 supports 24bit, while hw:2,0 doesn't. perhaps this is only difference. Takashi _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas - http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-13 13:05 ` Takashi Iwai @ 2002-06-13 13:21 ` Niklas Werner 2002-06-13 14:05 ` Takashi Iwai 2002-06-13 13:35 ` Patrick Shirkey 1 sibling, 1 reply; 22+ messages in thread From: Niklas Werner @ 2002-06-13 13:21 UTC (permalink / raw) To: alsa-devel <SNIP> Well, now comes the ugly things: Using the usb-audio-driver leads to system-lockups: No matter whether I access my emi26 via aplay or via oss-emulation, after some time or (more probable) some amount of data my System locks up (hard reset ;-() or at least the usb-bus locks absoulety thight up. I can't reload the driver, not even reconnecting the device helps it always gives a timeout message: Jun 13 12:26:19 Schlumpfine kernel: 0: [cd2c01e0] link (0d2c0210) e0 Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=2, PID=2d(SETUP) (buf=0d0222c0) Jun 13 12:26:19 Schlumpfine kernel: 1: [cd2c0210] link (0d2c0240) e3 SPD Active Length=0 MaxLen=11 DT1 EndPt=0 Dev=2, PID=69(IN) (buf=08a9c000) Jun 13 12:26:19 Schlumpfine kernel: 2: [cd2c0240] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=2, PID=e1(OUT) (buf=00000000) Jun 13 12:25:03 Schlumpfine kernel: usb_control/bulk_msg: timeout Jun 13 12:25:03 Schlumpfine kernel: emi26_load_firmware - error loading firmware : error = -110<6>IPv6 v0.8 for NET4.0 Jun 13 12:25:28 Schlumpfine kernel: usb_control/bulk_msg: timeout Jun 13 12:25:43 Schlumpfine last message repeated 149 times Jun 13 12:26:06 Schlumpfine kernel: emi26: set_reset (1) failed<3>emi26_load_fir mware - error loading firmware: error = -110<7>uhci.c: root-hub INT complete: po rt1: 580 port2: 48a data: 4 This doesn't happen with the kernel module (audio). Unfortunately I can't find any clues in the logfiles, maybe you can... At least I can reproduce this easily using xmms to playback some 7 minutes or so of 48kHz mp3s.... Using aplay and waves this effect tends to appear later. Using xmms' alsa-plugin crashes the sound-driver at once... right, have fun* Niklas _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas - http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-13 13:21 ` Niklas Werner @ 2002-06-13 14:05 ` Takashi Iwai 2002-06-14 8:58 ` Niklas Werner 0 siblings, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2002-06-13 14:05 UTC (permalink / raw) To: Niklas Werner; +Cc: alsa-devel At Thu, 13 Jun 2002 15:21:05 +0200, Niklas Werner wrote: > > Well, now comes the ugly things: > > Using the usb-audio-driver leads to system-lockups: > > No matter whether I access my emi26 via aplay or via oss-emulation, after > some time or (more probable) some amount of data my System locks up (hard > reset ;-() or at least the usb-bus locks absoulety thight up. > I can't reload the driver, not even reconnecting the device helps it > always gives a timeout message: > > Jun 13 12:26:19 Schlumpfine kernel: 0: [cd2c01e0] link (0d2c0210) e0 > Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=2, PID=2d(SETUP) > (buf=0d0222c0) > Jun 13 12:26:19 Schlumpfine kernel: 1: [cd2c0210] link (0d2c0240) e3 > SPD Active Length=0 MaxLen=11 DT1 EndPt=0 Dev=2, PID=69(IN) (buf=08a9c000) > Jun 13 12:26:19 Schlumpfine kernel: 2: [cd2c0240] link (00000001) e3 > IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=2, PID=e1(OUT) > (buf=00000000) > Jun 13 12:25:03 Schlumpfine kernel: usb_control/bulk_msg: timeout > Jun 13 12:25:03 Schlumpfine kernel: emi26_load_firmware - error loading > firmware > : error = -110<6>IPv6 v0.8 for NET4.0 > Jun 13 12:25:28 Schlumpfine kernel: usb_control/bulk_msg: timeout > Jun 13 12:25:43 Schlumpfine last message repeated 149 times > Jun 13 12:26:06 Schlumpfine kernel: emi26: set_reset (1) > failed<3>emi26_load_fir > mware - error loading firmware: error = -110<7>uhci.c: root-hub INT > complete: po > rt1: 580 port2: 48a data: 4 > > This doesn't happen with the kernel module (audio). > Unfortunately I can't find any clues in the logfiles, maybe you can... which kernel version are you using? i can see the error of firmware downloading above. can it be related with the lock-up of alsa driver? > At least I can reproduce this easily using xmms to playback some 7 > minutes or so of 48kHz mp3s.... > > Using aplay and waves this effect tends to appear later. > Using xmms' alsa-plugin crashes the sound-driver at once... then perhps difference is the period / buffer size. my driver allows very small period size up to 1msec, while oss driver uses always 10msec (5ms x 2). could you check the files under /proc/asound/cardX/pcm0p/sub0 directory during playback? they show the running set-up of pcm. Takashi _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas - http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-13 14:05 ` Takashi Iwai @ 2002-06-14 8:58 ` Niklas Werner 0 siblings, 0 replies; 22+ messages in thread From: Niklas Werner @ 2002-06-14 8:58 UTC (permalink / raw) To: alsa-devel Am Thursday, 13. June 2002 16:05, wurde geschrieben: > > which kernel version are you using? > i can see the error of firmware downloading above. can it be related > with the lock-up of alsa driver? 2.4.18 vanilla with emi26-patch Well, using the oss-driver this doesn't happen (Well, the firmware-error remains, but nevertheless, after reconnecting the device all is fine and the firmware gets loaded) > > > At least I can reproduce this easily using xmms to playback some 7 > > minutes or so of 48kHz mp3s.... > > > > Using aplay and waves this effect tends to appear later. > > Using xmms' alsa-plugin crashes the sound-driver at once... > > then perhps difference is the period / buffer size. > my driver allows very small period size up to 1msec, while oss driver > uses always 10msec (5ms x 2). > > could you check the files under /proc/asound/cardX/pcm0p/sub0 > directory during playback? they show the running set-up of pcm. aplay: Schlumpfine:~ # cat /proc/asound/card0/pcm0p/sub0/hw_params access: RW_INTERLEAVED format: S16_LE subformat: STD channels: 2 rate: 44100 (44100/1) period_size: 4096 buffer_size: 16384 tick_time: 10000 play (ie sox->/dev/dsp): Schlumpfine:~ # cat /proc/asound/card0/pcm0p/sub0/hw_params access: RW_INTERLEAVED format: S16_LE subformat: STD channels: 2 rate: 44100 (44100/1) period_size: 5638 buffer_size: 11276 tick_time: 10000 OSS format: U8 OSS channels: 1 OSS rate: 8000 OSS period bytes: 1024 OSS periods: 2 xmms: Schlumpfine:~ # cat /proc/asound/card0/pcm0p/sub0/hw_params access: RW_INTERLEAVED format: S16_LE subformat: STD channels: 2 rate: 48000 (48000/1) period_size: 1024 buffer_size: 16384 tick_time: 10000 OSS format: S16_LE OSS channels: 2 OSS rate: 48000 OSS period bytes: 4096 OSS periods: 16 aplay 96KHz: Schlumpfine:~ # cat /proc/asound/card0/pcm0p/sub0/hw_params access: RW_INTERLEAVED format: S16_LE subformat: STD channels: 2 rate: 96000 (96000/1) period_size: 4096 buffer_size: 16384 tick_time: 10000 obviously, I now can't get the system to lock up,... demonstration effect... I'll get back to you, when I find other hints (the odd buffer/period size when accessing /dev/dsp directly seems strange...) Have fun* Niklas BTW.: regarding the powermac-driver: I think I didn't answer your question with mic-sliders: It doesn't matter where to put the value of the mic-slider to get the sound, simply moving it gets the sound out of the screamer. _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas - http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-13 13:05 ` Takashi Iwai 2002-06-13 13:21 ` Niklas Werner @ 2002-06-13 13:35 ` Patrick Shirkey 2002-06-13 13:43 ` Takashi Iwai 1 sibling, 1 reply; 22+ messages in thread From: Patrick Shirkey @ 2002-06-13 13:35 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel Takashi Iwai wrote: >>This card is supposed to be 24bit/96Khz. In windows it works like this: >> >>4 i/o channels(2 in, 2 out) at 16bit/48Khz or less >>3 i/o channels(2 in, 1 out or 1 in, 2 out) at 24bit/48Khz or less >>1 channel at 24bit/96Khz > > > interesting. i don't find any mono channel on the descriptions. > well, more investigations are necessary. > It is confusing to me also. From reading their docs I thought that the card was all seperate mono channels lsusb has changed my opinion. I now belive that Quattro stands for 2 stereo i/o devices not 4 mono i/o devices. By saying in the docs that it supports 1 channel at 24bit/96Khz I guess they mean 1 stereo in or 1 stereo out. that is good news to me becasue I was under the impression that I had bought a turkey with only one mono i/o channel at 24/96. >>>i've tested usb mic from Labtec, and it works. >>>so the problem is specific to the hardware, or multi-channels... >>> >> >>I just remembered that my mouse is a usb mouse too so that is not >>unexpected. > > > too much bandwidth? > Testing again with the new code didn't lock up my mouse and this time the file actually recorded data although I still cannot capture noise. Do you have any ideas on how I can adjust the input levels internally seeing as the card has no apparent internal mixer? Is this a case of having to write our own mixer device? Does this part of lsusb have anything to do with mixer controls? ---- wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 ---- -- Patrick Shirkey - Boost Hardware Ltd. For the discerning hardware connoisseur Http://www.boosthardware.com Http://www.boosthardware.com/LAU/guide/ ======================================== _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas - http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-13 13:35 ` Patrick Shirkey @ 2002-06-13 13:43 ` Takashi Iwai 2002-06-13 14:58 ` Patrick Shirkey 0 siblings, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2002-06-13 13:43 UTC (permalink / raw) To: Patrick Shirkey; +Cc: alsa-devel At Thu, 13 Jun 2002 22:35:44 +0900, Patrick Shirkey wrote: > > Takashi Iwai wrote: > >>This card is supposed to be 24bit/96Khz. In windows it works like this: > >> > >>4 i/o channels(2 in, 2 out) at 16bit/48Khz or less > >>3 i/o channels(2 in, 1 out or 1 in, 2 out) at 24bit/48Khz or less > >>1 channel at 24bit/96Khz > > > > > > interesting. i don't find any mono channel on the descriptions. > > well, more investigations are necessary. > > > > It is confusing to me also. From reading their docs I thought that the > card was all seperate mono channels lsusb has changed my opinion. I now > belive that Quattro stands for 2 stereo i/o devices not 4 mono i/o devices. > > By saying in the docs that it supports 1 channel at 24bit/96Khz I guess > they mean 1 stereo in or 1 stereo out. that is good news to me becasue I > was under the impression that I had bought a turkey with only one mono > i/o channel at 24/96. i remember a guy from midiman told me that they support two channels 24/96 i/o. well, we have to try whether he's right :) > >>>i've tested usb mic from Labtec, and it works. > >>>so the problem is specific to the hardware, or multi-channels... > >>> > >> > >>I just remembered that my mouse is a usb mouse too so that is not > >>unexpected. > > > > > > too much bandwidth? > > > > Testing again with the new code didn't lock up my mouse and this time > the file actually recorded data although I still cannot capture noise. > Do you have any ideas on how I can adjust the input levels internally > seeing as the card has no apparent internal mixer? how is the windows driver? do they have such one? > Is this a case of having to write our own mixer device? > > Does this part of lsusb have anything to do with mixer controls? > > ---- > wChannelConfig 0x0003 > Left Front (L) > Right Front (R) > iChannelNames 0 > iTerminal 0 > ---- no, this defines only the configuration of speaker positions. apparently on all streams, the input terminal is directly connected to the output terminal. there is no volume/switch control found at all (at least on usb device descriptions). about the capture, it might be a problem of usb audio driver. right now i cannot test the capture again, because usb mic was already returned to the owner. possibly i can test tomorrow... BTW, the new version is already on cvs. i again modified (clean up) a bit since the version you have, so please check whether it still works for you (i believe it must do, though). Takashi _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas - http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: status of usb audio driver 2002-06-13 13:43 ` Takashi Iwai @ 2002-06-13 14:58 ` Patrick Shirkey 0 siblings, 0 replies; 22+ messages in thread From: Patrick Shirkey @ 2002-06-13 14:58 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel Takashi Iwai wrote: > BTW, the new version is already on cvs. > i again modified (clean up) a bit since the version you have, so > please check whether it still works for you (i believe it must do, > though). > Yes it does. -- Patrick Shirkey - Boost Hardware Ltd. For the discerning hardware connoisseur Http://www.boosthardware.com Http://www.boosthardware.com/LAU/guide/ ======================================== _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas - http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2002-06-14 8:58 UTC | newest] Thread overview: 22+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2002-06-04 16:57 status of usb audio driver Takashi Iwai 2002-06-12 5:16 ` Patrick Shirkey 2002-06-12 13:24 ` Takashi Iwai 2002-06-12 14:10 ` Patrick Shirkey 2002-06-12 14:13 ` Takashi Iwai 2002-06-12 14:19 ` Niklas Werner 2002-06-12 14:36 ` Takashi Iwai 2002-06-12 16:00 ` Niklas Werner 2002-06-12 14:55 ` Patrick Shirkey 2002-06-12 16:12 ` Patrick Shirkey 2002-06-12 16:48 ` Patrick Shirkey 2002-06-12 16:59 ` Takashi Iwai 2002-06-12 17:31 ` Patrick Shirkey 2002-06-13 10:39 ` Takashi Iwai 2002-06-13 12:54 ` Patrick Shirkey 2002-06-13 13:05 ` Takashi Iwai 2002-06-13 13:21 ` Niklas Werner 2002-06-13 14:05 ` Takashi Iwai 2002-06-14 8:58 ` Niklas Werner 2002-06-13 13:35 ` Patrick Shirkey 2002-06-13 13:43 ` Takashi Iwai 2002-06-13 14:58 ` Patrick Shirkey
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.