I have a devil of time getting my ALSA mixer settings to be saved on reboot. First, here's the relevant hardware:
Pentium 4 3.2ghz
i875P-based Motherboard
Onboard sound: AD1980, though ALSA identifies it as an "intel8x0"
What I did:
I did a stock Red Hat install (Workstation). Now, this gives me 2 kernels, 2.4.20-6 and 2.4.20-6smp, so I removed the uniproc kernel. I also added the kernel-source. Then I ftp'ed to updates.redhat.com and grabbed the up2date rpms (because I can't use the stock up2date with the SSL certificates being expired). I up2date everything; I also up2dated the kernel and the source to 2.4.20-27.9.
Then I went to shrike.freshrpms.net, since I still have RH9 and not FC1. Unfortunately, among the ALSA rpm's, there isn't one for my kernel. So I got the alsa-driver source rpm and rebuilt it for my kernel:
Code:
rpmbuild --rebuild --target i686 --define 'kernel 2.4.20-27.9smp'
It spitted out an alsa-driver rpm and a kernel-modules-alsa rpm. So far so good. I went back to freshrpms.net and got the alsa-lib and the alsa-util rpms. I followed the directions to the letter at the freshrpms.net website.
As I said, the problem is that the mixer settings aren't being saved on shutdown/reboot. Here's the contents of my modules.conf:
Code:
alias eth0 e1000
alias usb-controller ehci-hcd
alias usb-controller1 usb-uhci
# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-intel8x0
# module options should go here
# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-intel8x0
# card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
post-install snd-card-0 /usr/sbin/alsactl restore >/dev/null 2>&1 || :
pre-remove snd-card-0 /usr/sbin/alsactl store >/dev/null 2>&1 || :
I will mention that the first time I rebooted, I noticed that something added two more lines to the modules.conf file. They resembled the post-install/pre-remove lines mentioned above, but both referenced an /etc/.aumixrc file. I removed those lines, but kept the lines that reference the alsactl script.
After a reboot, I would see that the settings weren't saved. But if I manually ran "alsactl restore" in Terminal, the settings get restored. Sound in general seems to be working. I only tested playing a music CD and playing an mp3 (via xmms, it's mp3 plugin, and it's alsa plugin).
I should also mention that alsamixer gives much more options than aumix. One of the more important ones is "Surround". If "Surround" is muted, there is no sound.
Another curious thing is the following from /var/log/messages:
Code:
Dec 29 15:10:55 localhost modprobe: modprobe: Can't locate module snd-card-1
Dec 29 15:10:55 localhost modprobe: modprobe: Can't locate module snd-card-1
Dec 29 15:10:55 localhost modprobe: modprobe: Can't locate module snd-card-2
Dec 29 15:10:55 localhost modprobe: modprobe: Can't locate module snd-card-2
Dec 29 15:10:55 localhost modprobe: modprobe: Can't locate module snd-card-3
Dec 29 15:10:55 localhost modprobe: modprobe: Can't locate module snd-card-3
This occured on looks like every startup since ALSA was installed. Why is modprobe looking for snd-card-1, 2 & 3? I see no mention of it under modules.conf (only snd-card-0). Is there any other file that Red Hat is looking at?
So that's my puzzle. Any help appreciated.
BP
001B