FedoraThis forum is for the discussion of the Fedora Project.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Sound finally works, but mixer settings are not saved after shut down and alsactl command returns error message as above. Similar error with amixer. I can control mixer with aumix.
The error always lists the following:
ALSA lib control.c:654:
and a function after that, depending on what option I use in alactl or amixer.
My system is fully updated with
alsa-lib 1.0.6-8.FC3
alsa-lib-devel 1.0.6-8.FC3
alsa-utils 1.0.6-3
Compile and install all alsa manually, using the latest release.
Then type alsaconf as root. Do settings with alsamixer. Store them with alsactl store. Put alsactl restore in your rc.local.
You don't need alsactl restore if you use the service alsasound as an init script (or at least most of the times when using alsasound you don't need alsactl restore, anyway). Build the ALSA packages from lib, then utils (this includes alsamixer), oss, etc; and if you'd like to, leave the driver as the last. You can build for all cards (slow compile) or for your card, consult ./configure --help on the driver's source tree to select your card, and you'll most likely want to choose to build the driver with compatibility with the Open Sound System API (OSS, --with-oss=yes configure option). Good luck!
Thanks, Linux.tar.gz and Thetargos. I'll completely uninstall alsa, download latest version of alsa, compile it myself and will report what happened. By the way, this is an A7N266-VM board with AMD 1.9G processor and Nvidia sound and video. The video AGP still does not work, but that's for later. At least, sound works but with the error. - jankom
You don't need to completely remove alsa, you can simply overwrite it, as the default install path will overwrite the files of the RPMs (so any modifications to the RPMs will modify the files as well)... I rather keep the RPM database entries for db consistency myself, but you can do as you please.
Regarding the AGP, what is the problem with it? Maybe you want to discuss it in another thread? BTW, the Fedora kernels have the AGP subssystem is compiled in, so using the NVAGP option of the nVidia driver is not an option (unless you either rebuild the kernel and compile it with AGP support as modules). Good luck.
Sorry, I do not have time to visit this board frequently. Here is an update: still the same problem with alsa.
1.) downloaded alsa-driver-1.0.9rc4a.tar.bz2
su
cd /usr/src
tar --use-compress-program=bzip2 -xf <location of downloaded file>/alsa-driver-1.0.9rc4a.tar.bz2
cd alsa-driver-1.0.9rc4a.tar.bz2
./configure #no problem, did not use any option
make #no problem
make install #OK
rebooted - just in case
./alsasound restart did not work, had to make it executable, but still the same erro
2.) Downloaded alsaconf-0.4.3b.tar.gz and untarred successfully
shut down and rebooted
I disabled audio in Bios and had kudzu delete configuration at boot up, so that things are clean
Rebooted and did not let kudzu configure sound during boot
./alsaconf #selected 0x31 - Intel-i8..., nvidia was not listed, Fedore used intel8x0
alsaconf modified modules.conf not modprobe.conf, so it failed
I copied stuff from modules.conf into modprobe.conf
The same error as in the beginning of the thread: sound works, all volumes are at zero after boot.
If I try amixer, the same error message: ALSA lib control.c:654snd_ctl_open_noupdate) Invalid CTL default
Theragos - thanks for your interest in my other problem: AGP. I'll start a new thread when this is resolved.
Alsa 1.0.9?? Man! That's pretty much ancent history! (well, not quite, but still the 1.0.10 is official now).
Detailed Insructions
To install ALSA you can follow these directions, you have an nVidia motherboard with a sound card, however, does it have SoundStorm? If it does, you may want to either take a look at the nVidia proprietary driver or the (not so proprietary) Open Sound System drivers, otherwise known as OSS. If you want to give ALSA a shot, follow these:
Get the sources. You already did that, but I suggest you get the latest stable tarball from the project's site.
Build and install the packages. This is actually a tricky part. Cannonically it is said that the preferred order to install ALSA is first all of the libraries, then the driver, starting with alsa-lib, so here's what I do:
This little script decompresses everything, I usually call it simply "extract.sh":
Code:
#!/bin/bash
for i in *.tar.bz2
do
{
tar jxf $i
}
done
To run it (I don't even make it executable) I go by sh extract.sh, and run it from the same directory where the alsa tarballs are. If you want to remove the tarballs just add a line with something like "rm -f *.tar.bz2" after "done".
Now change to the alsa-lib-<version> directory and build as usual:
Code:
cd alsa-lib-<version>
./configure && make
su -c make install
Unless you want alsa-lib installed somewhere else, the default prefix for the installation will be /usr/, you can change that with "./configure --prefix="<some_dir>".
Repeat the above steps for the alsa-oss and alsa-utils packages.
Now, to install the driver, unless you have a very good reason to buld each and every driver, I strongly suggest you to chose your card! (assuming you are in alsa-utils or oss):
Code:
cd ../alsa-driver-<version>
./configure --with-cards=intel8x0 --with-oss=yes --with-sequencer
The above options mean: Select your card as an intel8x0, the nForce chipset has a generic AC97 codec basded on Intel's DSP, this has limited functionality (no hardware mixing), bu should at least let you hear sound; the SoundStorm variant is said to support hardware mixing through nVidia's proprietary driver or the OSS drivers (linked above). It is wise to specify the oss option, as a LOT of the software (especially games) still use the "old" OSS API (not to mention some proprietary packages, like Flash), and thus this option allows the driver to be able to emulate and playback with such programs; the sequencer option is to enable MIDI-In/-Out.
Now, build the driver and install it:
Code:
make
su -c make install
You are not completely done, just yet. One step still is missing: configure or make sure everything's fine with /etc/modprobe.conf, you can erase any ALSA references from it or comment them out (basically any line that reads something with snd-intel8x0, as well as some alias entries). The idea would be to have something similar to:
Code:
alias eth0 forcedeth
alias scsi_hostadapter sata_nv # Depends on your kernel
alias usb-controller ehci-hcd
alias usb-controller1 uhci-hcd # These two depend on your motherboard
alias usb-controller2 ohci-hcd # manufacturer.
# 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
# card #0
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
Save the file.
One more step: Add alsasound as a system service!:
Code:
su -
password:
chkconfig --add alsasound
And start it to load the driver:
Code:
service alsasound start
Pay attention to any messages!
Now you can use alsamixer to set the volumes, you should be able to execute alsamixer without any problems now.
You may have noticed that I seldom used root access to configure and build the packages, you don't have to do that in a restricted area like /usr/src, and wih "su -c make install" you are only prompted for root's password to copy the files to their locations. You may run that little scirpt I wrote in a single line like this:
Code:
for i in *.tar.bz2; do tar jxf $i; rm -f $i; done && unset i
Pay special attention to the configuration of the modprobe.conf file and you should be OK.
Ohh!! And before I forget: If you update your kernel, it will most likely include a more recent version of the driver (unless you were using the -rc ALSA)
Thanks, Theragos, for the detailed instructions. First, I thought the problem was solved and it was my fault. Previously I downloaded only the 1.0.9 driver and not the -lib, -oss and -utils. So I started according to your instructions.
I downloaded everything related to alsa 1.0.10.
First, I untarred alsa-lib. Just a comment: I had to do it in su. Same for ./configure. So I did all your instructions as root.
Compiling alsa-lib was OK, with some warnings of "unused variables".
Next I did alsa-oss and alsa-utils - both compiled OK.
Finally, I compiled alsa-driver with intel8x0 only, according to your Code. Make said "Alsa modules successfully compiled".
My modprobe.conf already had the required lines coming from an earlier attempt and using alsaconf. I checked it and it was according to your instructions.
My last step was chkconfig. It was /sbin/chkconfig. Added alsasound - ok, no message. When I did service alsasound start I got a message: alsa driver is already running.
When I tried amixer I got the same error with control.c as in the beginning of the thread.
=======================
So I tried the same thing as described in an earlier answer in this thread:
a.) commented out everything from modprobe.conf and reboot.
b.) while reboot I disabled MCP Audio Controller in BIOS and rebooted.
c.) while booting linux kudzu recognized that audio was missing and I responded to unconfigure it. Now my system is clean in terms of audio.
d.) after booting lsmod shows no audio stuff, but /sbin/chkconfig --list still reported alsasound. So I did /sbin/chkconfig --del alsasound. Finally, my system is really clean, I can start loading the new driver. So I rebooted and enabled MCP Audio Controller in BIOS.
e.) While linux was booting ("checking for new hardware") kudzu detected nForce Audio (by the way, my Mobo is A7N266VM), but I told kudzu to "ignore" it, so that I can load the good alsa driver.
f.) After linux booted I did lsmod !!!NFG!!! - sound modules were already loaded: intel8x0. Audio works just as before (mute on boot, but can control with aumix and control.c error with amixer or at shutdown. Modprobe.conf has no sound drivers or settings, everything is still commented out.
================
My conclusion: it looks like Fedora already configures audio in the beginning when kernel boots, the Fedora version of alsa driver is probably part of the kernel and not loaded as module, hence the error.
I certainly find quite odd that you are having so many troubles with something that is otherwise a no brainer... However I've noticed something, you are trying to run amixer, which requires a previously working configuration, what happens when you open alsamixer? This program will set a configuration, and basically is a TUI program for the mixer, the other mixers (GNOME's volume control or KDE's kmix) only modify the memory values/temporary files, while alsamixer when the driver is unloaded or reloaded with the system service will store the mixer values.
I'm not sure what could be wrong, and you may want to ask on the alsa mailing list.
Hi Thetargos, thanks for your continued interest of cracking this nut.
Being a newbe but have just enough knowledge to be dangerous it seems to me that the device is there - as I mentionned previously, sound seems to work (xmms, playing CD, audacity), it is just this annoying error message and the fact that after each reboot I have to set volumes from zero.
It certainly looks strange. I do remember once having this problem of sound not being "unmutted" upon boot (one of the many reasons why my computer stayed on), and it's been a while since this last happened to me.
Finally no more error, amixer and other alsa utilities work!
The solution was:
1.) I found somewhere in google that even if you reinstall newer version of a program some remaining files may cause malfunction. This was the clue. From root I did
find / -name alsa*
and deleted most of the stuff except documentation files.
2.) Downloaded the latest source - in my case 1.0.14 of alsa-lib, alsa-utils ans alsa-driver
3.) Compiled them and based on INSTALL instructions in alsa-lib I did
a.) I'm not sure if the ln was necessary of step 3.
b.) My current installation is FC-3, but probably mangled. I started with RH-9 then changed to FC-1 and finally to FC-3. However, being new to Linux, probably did not do it correctly and left a lot of junk around. Lately I compile everything from source as I gain confidence with Linux. It is slower than using rpm, but I learn a lot. I also compiled my own kernel, currently 2.6.20.
I hope this helps others with similar problem.
Thank you for those who responded to my original post and provided good advice.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.