Bug #290

Recent update breaks sound output on my system

Added by nickca about 15 years ago. Updated over 12 years ago.

Status:Closed Start date:
Priority:Normal Due date:12/31/1969
Assignee:jams % Done:

0%

Category:- Spent time: -
Target version:6.00.04

Description

I am using SPDIF output from the onboard Intel HDA on my system. I recently updated my system, and the following packages were replaced:
parted-1.8.8-2 system-templates-1.0-7 LinHES-config-1.0-314 LinHES-system-1.0-41 boost-1.37.0-1 glibc-2.9-4 pam-1.0.4-1 shadow-4.1.2.1-2 coreutils-7.1-5 openssl-0.9.8j-1 ca-certificates-20080809-30 cdparanoia-10.2-2 glib2-2.18.4-1 libcups-1.3.9-3 gtk2-2.14.7-2 linhes-scripts-1-6 miro-2.0.2-1 mjpegtools-1.9.0-2 libmpeg2-0.5.1-1 a52dec-0.7.4-4 transcode-1.1.0-4 mytharchive-0.21-8 ncurses-5.7-2 pygobject-2.16.0-1 pygtk-2.14.1-1 readline-5.2.013-2 sdl-1.2.13-3 sudo-1.7.0-3 util-linux-ng-2.14.2-1 wpa_supplicant-0.5.11-1 xscreensaver-5.08-3

Something in one of these packages caused no sound output from mplayer. I looked in the log and found this:
[AO_ALSA] alsa-lib: confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.CX88x.pcm.iec958.0:CARD=0,A ES0=4,AES1=130,AES2=0,AES3=2'

Fortunately, I knew what that meant: the CX88 driver is grabbing ALSA's index 0. I looked at /proc/asound/pcm, and confirmed it:
00-00: CX88 Digital : CX88 Digital : capture 1 01-00: ALC888 Analog : ALC888 Analog : playback 1 : capture 1 01-01: ALC888 Digital : ALC888 Digital : playback 1 : capture 1 01-02: ALC888 Analog : ALC888 Analog : capture 1

Also fortunately, I knew how to fix that. I created the file /etc/modprobe.d/alsa-base, and added these lines from the corresponding file on my Ubuntu system:
# Prevent abnormal drivers from grabbing index 0 options bt87x index=-2 options cx88_alsa index=-2 options saa7134-alsa index=-2 options snd-atiixp-modem index=-2 options snd-intel8x0m index=-2 options snd-via82xx-modem index=-2 options snd-usb-audio index=-2 options snd-usb-usx2y index=-2 options snd-usb-caiaq index=-2

Now, it's possible that the update had nothing to do with this and the CX88 driver just randomly grabbed index 0, which is always possible unless it's explicitly prevented as above, but it never happened before this latest update. It would be a really good idea to include the above /etc/modprobe.d/alsa-base file by default to prevent this from happening.

History

Updated by jams about 15 years ago

There was nothing in the big update that would have affected the way modules are loaded, guess it was poor timing.
Regardless or that, it does seem like a good idea to add alsa-base.

Updated by jams over 12 years ago

  • Target version changed from 7.2 to 6.00.04

Also available in: Atom PDF