Alsa sound broken after update (FC4 x86_64)

  • Posted on: 10 January 2006
  • By: agittins

I recently applied a whole bundle of updates including alsa-lib on my Fedora Core 4 x86_64 desktop. Since then I started getting the error message

ALSA lib control.c:817:(snd_ctl_open_noupdate) Invalid CTL default
Open error: No such file or directory

whenever I tried to open alsamixer, and similar errors and crashes running other apps that expected to be able to use the Alsa sound system (which worked quite well before the update).

It turned out that an update of alsa-libs (yeah, I'm lookin' at you, alsa-lib-1.0.10-26.rhfc4.at.x86_64 from atrpms) might not have upgraded cleanly. Doing an strace on the failed alsamixer showed that it was getting a loop error trying to open the alsa config file. ie, the output of strace alsamixer gave this:

stat("/usr/share/alsa/alsa.conf", 0x7fffff936ef0) = -1 ELOOP (Too many levels of symbolic links)

That made it pretty easy to spot the problem. It seems that at some point a package upgrade made a mess of the config files. /etc/alsa/alsa.conf and two other config files under /etc/alsa/pcm were symlinks to themselves. This might have been caused by a brainfart related to their being a symlink to /etc/alsa in /usr/share/alsa. Fortunately rpm chose not to overwrite these entries and it had left .rpmnew files for each of the affected config files. Nuking the self-referencing symlinks and replacing them with the .rpmnew versions got all the alsa stuff up and running again.

Just thought you'd like to know :-)

Update 2005/01/30: After another alsa update (!) I found the broken symlinks on the pcm/d(snoop|mix).conf files came back. Not overly happy. After messing about for a bit (since there were no rpmnew files this time) I did some searching - none of which was particularly helpful, but I'll include the links for you anyway. In the end, running as root:

~# ainit stop
~# ainit start

Got the files recreated ok. Replace with your own account name, of course. The ainit script regenerates the dmix.conf and dsnoop.conf files from the templates, so providing you still have the template files there you should be ok. Will wait and see if this works the next time we have an alsa update :-)

For the record, some links that may or may not be helpful:

  • Redhat bug 175255 - to be fixed in FC5 - some useful evidence in there but it's a mess of various bugs shoved into a random whine-pool with no clear solutions.
  • ATrpms list post appears to hint at the same problem, links to the bug above and also to another ATrpms posting.

Please feel free to drop a comment here if you have any further info on this (and/or update the bug on redhat to help others too).

Comments

I have had the same problem on an FC4 x86_64 platform after "upgrading". I seem to have lost the alsa.conf file and some others in the process of trying to fix it. I don't understand Linux system administration very well -- I am just user. Do you have any suggestions that might help me get my sound working again? I don't mind "going back" or starting from scratch with the sound, but I don't know where to begin.
Thank you.
-dqj

Hi Dave,
The easiest way out might be to reinstall the package that provides those files. Running "rpm -qf /etc/alsa/alsa.conf" shows that the file is owned by the alsa-lib package.

You might try doing an "rpm -e alsa-lib" then deleting any old config files in /etc/alsa/, then "yum install alsa-lib".

If rpm refuses to remove alsa-lib due to dependencies (very likely) then you can pass the "--force" and "--nodeps" options to rpm to force it to remove the package anyway - this is _only_ recommended when you are definitely going to reinstall the package straight after anyway, otherwise your packages can end up in a mess with missing dependencies.

I hope that helps (actually, I hope you got it fixed up back in April when you first posted)! :-)

I have had the same problem on an FC6 x86_64. Then i unistall the alsa package... and the gnome desktop not load anymore ... i will go back to the Windows.

Bye linux!

Well that's a shame that you are giving up - I'd suggest trying to reinstall the alsa package you removed - did it give you some dire warnings about dependencies? That would proably restore the config file and get you up and running.

Anyway, if you decide to stick it out and have a go let me know what problems you run into and I'll see what I can do to help. Otherwise, Bye then, Joh! ;-)

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.