[alsa-devel] Problem setting mixer switch with amixer/alsactl.

Oliver Ford ipaqlinux at oliford.co.uk
Wed Oct 22 20:47:20 CEST 2008


I have a system with a wm9713 ac97 codec. It has a single speaker 
connected to SPKL and OUT4 in BTL config.

Currently I'm setting up the audio path with a small script using amixer:
amixer cset numid=90 2        # Out4 Mux = Inv2
amixer cset numid=95 3        # Left Speaker Out Mux = Speaker
amixer cset numid=88 2        # DAC Inv Mux 2  = Speaker
amixer cset numid=31 1        # Out4 Playback Switch = on
amixer cset numid=2  1,0      # Speaker Playback Switch = L:on, R:off

and also:
amixer cset numid=62 1        # Speaker Mixer PCM Playback Switch = on

If I do all of the above except for setting 'Speaker Mixer PCM Playback 
Switch' and then un-mute that in the full alsamixer program, the audio 
works through the speaker.  If I run the 'Speaker Mixer PCM Playback 
Switch' amixer command (either before or after setting it with 
alsamixer), the audio stops working. Once that's happened I can't get it 
back at all without a full reboot (even suspend/resume doesn't help).

Setting it with alsamixer so it works and then using alsactl to save and 
restore the config also breaks it.

I'm not sure how to go about debugging this one, can anyone help?

Also, is there a way to (and should I) set the DAC -> SPKMIX -> INV2 -> 
OUT4 etc in my platform definition in the kernel code, rather than doing 
it with amixer?

Oliver Ford

More information about the Alsa-devel mailing list