[alsa-devel] snd-hda-intel, AD 1988b: SPDIF output not working correctly, volume low for analog output
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.
More information about the Alsa-devel