[alsa-devel] Problems with ALC882

Takashi Iwai tiwai at suse.de
Mon Jan 21 12:47:46 CET 2008

At Mon, 21 Jan 2008 12:27:18 +0100,
Christophe Osuna wrote:
> Tobin, thanks for all the information you provided.
> 2008/1/18, Tobin Davis <tdavis at dsl-only.net>:
> >   Yes, it "should".  But it also depends on the physical wiring of your system.  If you have a system with only 3 audio jacks in the back, it is very difficult to have surround sound & 3 inputs at the same time.
> I have plenty of jacks, including one "Mic", one "Front Mic" and one "Line In".
> 2008/1/18, Takashi Iwai <tiwai at suse.de>:
> > Just deeper looking at the code, I found it's indeed buggy for the
> > secondary ADCs.  The patch below should fix it.
> >
> > The second and third ADCs are assigned to PCM#2 while the first ADC is
> > to PCM#0.  This is for avoiding the confusion of dsnoop and
> > multi-streams.
> >
> > Give it a try and check whether it doesn't break, at least, for
> > recording the first ADC.  If it's OK, I'll apply it to the HG tree
> > later.
> Thanks for the patch. Applying it did seem to solve the problem; now I
> can use the three ADC that are mapped to hw:0,0,0 hw:0,2,0 and
> hw:0,2,1. I have successfully tested the following commands
>   arecord -f dat -D hw:0,0,0 | aplay -f dat -D hw:0,0,0
>   arecord -f dat -D hw:0,2,0 | aplay -f dat -D hw:0,0,0
>   arecord -f dat -D hw:0,2,1 | aplay -f dat -D hw:0,0,0
> It wasn't necessary to override the "substream" value in
> "alc880_pcm_analog_alt_capture" (I suppose that both analog_capture
> and analog_alt_capture are used).

Just because it's two coindentally :)

> Now I need to check that I can open
> the three at the same time but I am rather confident on this.

Thanks.  Please let me know if it works.  Then I'll apply the patch to
HG tree.

> Could you also tell me where I have to change code in order to force
> the 8 kHz sampling rate? I will try to add an ugly change to
> snd_hda_query_supported_pcm() but I am not sure on whether this is the
> right place.

You can override the info->streams[SNDRV_PCM_STREAM_CAPTURE].rates in 
alc_build_pcms().  It's zero as default, which means to probe the
value from the codec.


More information about the Alsa-devel mailing list