[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