Just rebooted my computer after some time, and I seem to have developed a problem with alsactrl. During the uptime, I ran pacman -Syu several times and only restarted the needed services like apache and mysql.
During boot, I get the error:
alsactrl: load_state:1267 No soundcards found
when the alsamixer startup script is run.
If I run the alsamixer script after I log in, it runs successfully.
its because udev hasn't finished populating the devices by the time the script is run. Try moving the alsamixer call to the end of the Daemon's array to give it a bit more time, or edit the alsamixer script to include a sleep call such as this:
start) stat_busy "Restoring Alsa mixer volumes" sleep 10 alsactl restore . . .
I think there was discussion somewhere about some script that would load the sound device statically instead of using udev, but I don't know how it worked or where it went. The sleep call is a dirty hack but it works... if you're worried about boot time, you can use the fastboot patches (user contrib forum) to background the task.
I don't know if there were any cleaner solutions to the problem.
Thanks, that works. I moved alsamixer after httpd and mysqld.
For the longest time this DAEMON list worked just fine.
DAEMONS=(syslogd klogd !pcmcia portmap network netfs crond cups sshd samba alsamixer)
Now after several upgrades to cups and samba, it doesn't seem to work. Very strange.
Currently my new list is:
DAEMONS=(syslogd klogd !pcmcia portmap network netfs crond cups sshd samba httpd mysqld alsamixer)
which works fine. Not sure if the upgrades really caused the problem, but I just thought I would throw this out for the next person who runs into this.