* 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: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: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: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: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: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 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
* 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
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.