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