[alsa-devel] snd-hda-intel, AD 1988b: SPDIF output not working correctly, volume low for analog output

Takashi Iwai tiwai at suse.de
Fri Jul 20 15:47:55 CEST 2007


At Fri, 20 Jul 2007 08:29:02 +0200,
Matthias Dahl wrote:
> 
> On Thursday 19 July 2007 15:50:19 Takashi Iwai wrote:
> 
> > So, the primary problem is rather the 6stack-dig preset doesn't match
> > with your device.  The SPDIF problem seems independent, though, but
> > we'd better to fix the stuff first.
> >
> > With auto model, do you get louder output from the analog out?
> 
> Just tested it and as far as I can tell, only spdif seems a lot louder, analog 
> output is equal to 6stack-dig.

OK.  You may be able to figure out what influences on the volume by
comparing /proc/asound/card0/codec#* file on both models.

> Reminds me what also a bit strange: the PCM mixer control only appears after I 
> have played back something.
> 
> On detail: - unload alsa, rm asound.state, load alsa, alsamixer (no pcm vol)
>            - play back something, alsamixer (pcm volume is there)
> 
> From there on, it'll always be visible, even after restarts. I also do not 
> have any channel configuration control (2/4/6 channels). It's just not there. 
> No matter if I use auto or 6stack-dig.

This is expected behavior.  The PCM volume is implemented via softvol
plugin, and it creates dynamically at the first run.  But, usually,
it's restored via alsactl at the next boot.

> > The first thing to do is to check which pin widget corresponds to the
> > real I/O jacks.  It's a guess work and trial-and-error.
> 
> Sounds a lot like digging into patch_analog.c (a long change/recompile/test 
> cycle) or is there a way to figure this stuff out during runtime...? Could 
> you please elobrate on what I should do? Thanks.

Yes, it'll involve with patch_analog.c deeply.  Basically you need to
modify init verb table and the mixer element table.  Check the AD1988B
datasheet, and try to assign the different PIN (and corresponding
mixer / selector widgets) in init verb and mixer tables.  Then,
rebuild driver, and try the driver until you get the complete mapping
of pin widgets.


Takashi


More information about the Alsa-devel mailing list