When starting /etc/init.d/alsasound, it checks for /etc/asound.state to restore mixer settings. But this file won't exist if alsasound is started for the first time, so /etc/init.d/alsasound will fail. The mixer settings aren't saved on shutdown then, because rc will complain, that alsasound is not started.
Can't reproduce this with both - alsa-utils 1.0.6 - alsa-utils 1.0.8 on amd64. What's your version? Maybe alsasound doesn't start for other reasons (sound card not configured?)
I'm using alsa-utils-1.0.6, it fails because /etc/alsasound.state doesn't exist, i created it via alsactl store and now everything works fine.
from /etc/init.d/alsasound ----- if [ ! -r $asoundcfg ]; then ewarn "No mixer config in $asoundcfg, you have to unmute your card!" return 1 ----- If alsasoundcfg doesn't exist, a warning is raised, but an error returned, so rc will mark the init script as failed. removing the return 1 should be enough.
I have seen this, but at restore_mixer() there is only ewarn (not eerror) and the return value of that function is not used. What do you get back to shell: ferrari etc # /etc/init.d/alsasound start * Loading ALSA drivers... * Using ALSA OSS emulation * Loading: snd-mixer-oss * Loading: snd-pcm-oss * Loading: snd-via82xx * Loading: snd-seq * Running card-dependent scripts * Restoring Mixer Levels * No mixer config in /etc/asound.state, you have to unmute your card! [ ok ] ferrari etc # echo $? 0 ferrari etc #
it returns 1, maybe the problem is here: elif [ -x $alsactl ]; then CARDS="$(cat /proc/asound/cards | awk '/: / { print $1 }')" for CARDNUM in ${CARDS} CARDS will be empty, my /proc/asound/cards :0 [V8237 ]: VIA8237 - VIA 8237 VIA 8237 with AD1980 at 0xc800, irq 22
fixed in cvs. pleasse copy over the new /usr/portage/media-sound/alsa-utils/files/alsasound init script.