[alsa-devel] VT1705 : Mic not working with power_save
Takashi Iwai
tiwai at suse.de
Mon Feb 13 15:08:03 CET 2012
At Mon, 13 Feb 2012 14:59:16 +0100,
Anisse Astier wrote:
>
> On Mon, 13 Feb 2012 11:31:52 +0100, Takashi Iwai <tiwai at suse.de> wrote :
>
> > At Mon, 13 Feb 2012 11:06:53 +0100,
> > Anisse Astier wrote:
> > >
> > > On Mon, 13 Feb 2012 17:30:57 +0800, <LydiaWang at viatech.com.cn> wrote :
> > >
> > > > > -----邮件原件-----
> > > > > 发件人: Anisse Astier [mailto:anisse at astier.eu]
> > > > > 发送时间: 2012年2月13日 17:20
> > > > > 收件人: Lydia Wang
> > > > > 抄送: tiwai at suse.de; alsa-devel at alsa-project.org
> > > > > 主题: Re: VT1705 : Mic not working with power_save
> > > > >
> > > > > (adding back list in Cc, it was lost)
> > > > >
> > > > > On Mon, 13 Feb 2012 10:02:27 +0800, <LydiaWang at viatech.com.cn> wrote :
> > > > >
> > > > > >
> > > > > > Hi,
> > > > > >
> > > > > > The log showed that your machine had two microphones, one is an internal mic,
> > > > > > and the other is a rear mic. Which microphone did you use? The log showed
> > > > > > currently used mic is the internal mic. The rear mic was not plugged in a
> > > > > jack.
> > > > > >
> > > > > > Lydia
> > > > >
> > > > > On this hardware, there's only an internal mic, and no physical jack to
> > > > > plug another input.
> > > >
> > > > So " mic doesn't work " means recording fail or playback as aa-path fail?
> > > > And could you mail me log file when power_saver=1? Thanks.
> > >
> > > Mic doesn't work means recording fails. Except if, during the recording,
> > > I use the "Input Source" control to change to another input, *and then
> > > back* to "Internal Mic".
> > > If I start another recording, it will still be silent unless I repeat the
> > > previous sequence.
> > >
> > > I don't use mic directly for playback (with hardware a-a path)
> > >
> > > Please find the full log and alsa-info in attachment with power_save=1.
> >
> > Thanks.
> >
> > I found the culprit. It's because VT1705 has a secondary ADC that has
> > no input-mux while the primary ADC has one. At the initialization,
> > the secondary ADC overwrites the MUX value always to zero because of
> > it.
> >
> > The patch below should fix the problem. Let me know if it works (at
> > best give your tested-by line).
> >
> >
> > thanks,
> >
> > Takashi
> >
> > ---
> > diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
> > index e5842fe..afeb3e19 100644
> > --- a/sound/pci/hda/patch_via.c
> > +++ b/sound/pci/hda/patch_via.c
> > @@ -666,6 +666,8 @@ static void via_auto_init_analog_input(struct hda_codec *codec)
> > /* init input-src */
> > for (i = 0; i < spec->num_adc_nids; i++) {
> > int adc_idx = spec->inputs[spec->cur_mux[i]].adc_idx;
> > + if (i > 0 && !spec->mux_nids[i])
> > + break;
> > if (spec->mux_nids[adc_idx]) {
> > int mux_idx = spec->inputs[spec->cur_mux[i]].mux_idx;
> > snd_hda_codec_write(codec, spec->mux_nids[adc_idx], 0,
>
> It works!
> Tested-by: Anisse Astier <anisse at astier.eu>
>
> I wouldn't mind a Cc: stable too.
Yes, definitely. I applied the patch now to the sound git tree.
thanks,
Takashi
More information about the Alsa-devel
mailing list