[alsa-devel] Strange findings about the microphone in SigmaTel STAC9221 A1

Takashi Iwai tiwai at suse.de
Tue May 15 17:06:22 CEST 2007


At Tue, 15 May 2007 15:41:40 +0100,
Ivan N. Zlatev wrote:
> 
> On 5/15/07, Takashi Iwai <tiwai at suse.de> wrote:
> > If this is 100% reproducible, you'll see likely a difference in
> > /proc/asound/card0/codec#* file between working and non-working
> > states.  Could you attach codec files in both states?
> >
> 
> I have to do 4 things to enable the microphone (a built-in one) as
> follows (with diffs of codec between steps)
> 
> 1) Turn on capture and mux on and set them on max
> 
>  Node 0x12 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
>    Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
> -  Amp-Out vals:  [0x00 0x00]
> +  Amp-Out vals:  [0x04 0x04]
>    Connection: 7
>       0x0e* 0x15 0x0f 0x0b 0x0c 0x0d 0x0a
> 
>  Node 0x17 [Audio Selector] wcaps 0x300903: Stereo Amp-In
>    Amp-In caps: N/A
> -  Amp-In vals:  [0x80 0x80]
> +  Amp-In vals:  [0x0e 0x0e]
>    Connection: 1
>       0x12
> 
> 2) Switch from Mic to Front Mic - no changes
> 3) Switch from Front Mic back to Mic
> 
> Node 0x12 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
>    Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
>    Amp-Out vals:  [0x04 0x04]
>    Connection: 7
> -     0x0e* 0x15 0x0f 0x0b 0x0c 0x0d 0x0a
> +     0x0e 0x15 0x0f 0x0b* 0x0c 0x0d 0x0a
> 
> 4) Put Capture on minimum and the mic will start recording with dodgy quality.
> 
> Node 0x17 [Audio Selector] wcaps 0x300903: Stereo Amp-In
>    Amp-In caps: N/A
> -  Amp-In vals:  [0x0e 0x0e]
> +  Amp-In vals:  [0x00 0x00]

Perhaps the crutial point is "Input Source".  The value currently
shown there and the value the hardware is set are different.
Could you check the connection of node 0x12 at the very beginning?
I guess it's not 0x0b.

The other actions seem just for volume / mute controls.
What happens if you use different values for "Capture Volume" and
"Capture Mux Volume"?


> On 5/15/07, Takashi Iwai <tiwai at suse.de> wrote:
> > The quality problem is perhaps because of the wrong pin setting.
> > It's set in Hi-Z without vref.  But it's a bit strange because
> > stac92xx_get_vref() should return the proper vref value.  Could you
> > check whether this really gets called and which value is returned,
> > e.g. by adding printk() there?
> 
> It doesn't get called according to my tests.

Hmm strange.  This should be called from stac92xx_init(), line 1695.


> I've also tested with Alsa HG, but I can no longer make the mic work
> with the steps descrived, not to mention that with imac-intel model I
> get no sound.

Then try to add model=macbook or model=macbook-pro-v2.  Now iMac has
its own pin setting (corresponding to model=imac-intel).


Takashi


More information about the Alsa-devel mailing list