At Tue, 20 Nov 2007 01:51:51 +0100, Lennart Poettering wrote: > > A second question: > > aplay -L suggest to use "surround71:" (and *only* that) as plugin for my > usb webcam that only has a single mono channel. What's going wrong? > Any idea where I should be looking? Since it's a USB device, maybe Clemens has a better clue... > To: Takashi Iwai <tiwai@xxxxxxx> > Subject: Re: Status of ALSA "simple" mixer interface > From: Lennart Poettering <lennart@xxxxxxxxxxxxxx> > Date: Tue, 13 Nov 2007 17:56:46 +0100 > Message-ID: <20071113165646.GA735@xxxxxxxxxxxxxxxxx> > MIME-Version: 1.0 > Content-Disposition: inline > In-Reply-To: <s5habpiv0z2.wl%tiwai@xxxxxxx> > Organization: Red Hat, Inc. > User-Agent: Leviathan/19.8.0 zh (Cray 3; I; Solaris 4.711; Console) > > On Tue, 13.11.07 12:28, Takashi Iwai (tiwai@xxxxxxx) wrote: > > Hi! > > > > aplay -L suggest to use "surround71:" (and *only* that) as plugin for my > > > usb webcam that only has a single mono channel. What's going wrong? > > > Any idea where I should be looking? > > > > I guess it's C-Media one? Its controller accepts only 8-channel > > interleaved output even if the hardware supports only less channels. > > Perhaps to save a few cent for the controller chip. > > It's a cheap Philips webcam which really has only a single channel. If > I try to open the device with "arecord", i get: > > <snip> > $ arecord -D surround71:CARD=U0x4710x311,DEV=0 -r 44100 -c 8 -f s16_le > Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Channels 8 > arecord: set_params:879: Broken configuration for this PCM: no configurations available > </snip> > > i.e. the device string that arecord -L lists for the device is not > working at all. Actually, speaking of it, on my machine with 5 sound > devices "aplay/arecord -L" generate almost exclusively total > rubbish -- only for one device the list makes sense. Here's the > full list: > > <snip> > $ aplay -L | grep -v "^ " > front:CARD=AudioPCI,DEV=0 > surround40:CARD=AudioPCI,DEV=0 > iec958:CARD=AudioPCI,DEV=0 > null > front:CARD=V8237,DEV=0 > surround40:CARD=V8237,DEV=0 > surround41:CARD=V8237,DEV=0 > surround50:CARD=V8237,DEV=0 > surround51:CARD=V8237,DEV=0 > iec958:CARD=V8237,DEV=0 > surround41:CARD=U0x4710x311,DEV=0 > surround50:CARD=U0x4710x311,DEV=0 > surround51:CARD=U0x4710x311,DEV=0 > surround71:CARD=U0x4710x311,DEV=0 > surround41:CARD=Audio,DEV=0 > surround50:CARD=Audio,DEV=0 > surround51:CARD=Audio,DEV=0 > surround71:CARD=Audio,DEV=0 > </snip> > > And this is the output of "arecord -L": > > <snip> > $ arecord -L | grep -v "^ " > front:CARD=AudioPCI,DEV=0 > rear:CARD=AudioPCI,DEV=0 > surround40:CARD=AudioPCI,DEV=0 > iec958:CARD=AudioPCI,DEV=0 > null > front:CARD=V8237,DEV=0 > surround40:CARD=V8237,DEV=0 > surround41:CARD=V8237,DEV=0 > surround50:CARD=V8237,DEV=0 > surround51:CARD=V8237,DEV=0 > iec958:CARD=V8237,DEV=0 > surround41:CARD=Audio,DEV=0 > surround50:CARD=Audio,DEV=0 > surround51:CARD=Audio,DEV=0 > surround71:CARD=Audio,DEV=0 > </snip> > > For comparison, here's what /proc/asound/pcm contains: > > <snip> > 00-01: ES1371/2 : ES1371 DAC1 : playback 1 > 00-00: ES1371/1 : ES1371 DAC2/ADC : playback 1 : capture 1 > 01-01: VIA 8237 : VIA 8237 : playback 1 : capture 1 > 01-00: VIA 8237 : VIA 8237 : playback 4 : capture 1 > 02-01: Bt87x Analog : Bt87x Analog : capture 1 > 02-00: Bt87x Digital : Bt87x Digital : capture 1 > 03-00: USB Audio : USB Audio : capture 1 > 04-00: USB Audio : USB Audio : playback 1 : capture 1 > </snip> > > First of all, the -L lists miss one device: my Bt878 tv card. It's > hwoever shown properly in /proc/asound/pcm, and works fine if > accessed. > > Then, as mentioned above, it lists the mono-only webcam (U0x4710x311) > with the four surround suggestions -- which doesn't make any sense at > all. And only on "aplay -L" -- although it is a record only > channel. If I try to open the audio device with any of the four > suggestions I just get the "configuration error" back that is shown > above. The way to open it is "hw:CARD=U0x4710x311,DEV=0" -- and > of course only with arecord. > > Then, it doesn't list either "front:" nor "iec958" for my USB surround > sound card (The one listed as "Audio") -- both of which happen to work > fine. However, it does list "surround71:", which is quite surprising, > since the sound card doesn't have that many output ports -- but I > guess that is one of the cases where the hardware just doesn't have > soldered all outputs the device theoretically supports. Opening the > device as surround71: works fine, BTW. > > Then, for the "AudioPCI" card, it lists a "surround40:" device, which > when opened just yields: > > <snip> > $ aplay -D surround40:CARD=AudioPCI,DEV=0 > ALSA lib setup.c:555:(add_elem) Cannot obtain info for CTL elem (MIXER,'AC97 2ch->4ch Copy Switch',0,0,0): No such file or directory > aplay: main:546: audio open error: No such file or directory > </snip> > > And it also lists a "iec958" device for the same "AudioPCI", which > just yields this: > > <snip> > $ aplay -D iec958:CARD=AudioPCI,DEV=0 > ALSA lib setup.c:555:(add_elem) Cannot obtain info for CTL elem (PCM,'IEC958 Playback PCM Stream',0,0,0): No such file or directory > aplay: main:546: audio open error: No such file or directory > </snip> > > The hardware has no SPDIF and is stereo only. > > And then, surprisingly it lists a "rear:" device -- but only for > recording (!). Not surprisingly, this one doesn't work either. > > The devices listed for the V8237 are the only ones which fully work > and are complete. > > So, in summary. For the five audio cards I have connected to my > machine, "aplay -L" and "arecord -L" show 11 device hints that don't > work at all. And it misses 6 device hints that are important. > > I am not sure what to make of this, besides that the name hinting > system is just badly broken. > > This is alsa-lib 1.0.15 on kernel 2.6.22, btw. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel