Re: ALC883 recording troubles...

From: Takashi Iwai
Date: Thu Jun 12 2008 - 06:49:27 EST


At Wed, 11 Jun 2008 20:00:17 +0100,
Daniel J Blueman wrote:
>
> On Tue, Jun 10, 2008 at 6:59 AM, Takashi Iwai <tiwai@xxxxxxx> wrote:
> > At Mon, 9 Jun 2008 20:59:00 +0100,
> > Daniel J Blueman wrote:
> >>
> >> Hi Takashi-san,
> >>
> >> I'm experiencing DC offset with the microphone on 2.6.24 (Ubuntu 8.04
> >> LTS x86-64). I can see on Audacity that the DC offset that varies with
> >> the recording capture level.
> >
> > Could you elaborate? The mic bias level could be changed via the pin
> > control value. Usually, it's set as VREF 80%.
>
> When the recording->capture level is set to 0, the mic has no DC
> offset as expected. Maxing the recording->capture level, the mic input
> is saturated, in between, we see a linear connection.
>
> >> Plus, the mixer playback->mic-boost
> >> muting enables/disables mic-boost in recording.
> >
> > This is a known bug in alsa-lib mixer abstraction. No kernel issue.
>
> >> It feels like the ALC883 pins aren't configured quite right. The mobo
> >> is an Asus P5E-VM with current BIOS [1]
> >>
> >> What's the routine to debug this? Would it help to install windows,
> >> dump the register space and compare?
> >
> > You can find *.INI file that contains the default pin configuration
> > in Windows. This might be useful in the case BIOS is broken but
> > Windows does a black magic.
>
> That'll be these defaults stashed in the INF file [2]. Let me know if
> it's not what you expected and I'll publish the complete INF file.
>
> > Anyway, please run alsa-info.sh with --no-upload option and show the
> > generated file here. It contains the codec information and mixer
> > setup.
> > http://hg.alsa-project.org/alsa/raw-file/tip/alsa-info.sh
>
> See [3].
>
> > Also, you can adjust the pin setting on the fly via hda-verb utility
> > below:
> > http://ftp.suse.com/pub/people/tiwai/misc/hda-verb-0.2.tar.bz2
> >
> > Don't forget to build snd-hda-intel module with
> > CONFIG_SND_HDA_HWDEP=y to use this command.
>
> I'll give this a shot if I get time.

You can try to adjust VREF value of mic pins.
For example, the node 0x18 and 0x19 correspond to the rear and front
mics, respectively. Then run the following as root:

# ./hda-verb /dev/snd/hwC0D0 0x18 SET_PIN_WID 0x21

which will change the widget 0x18 (rear mic) to input-VREF 50%
(0x21). The original value is input-VREF 80% (0x24).


Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/