[Pkg-alsa-devel] linux-image-2.6.32-trunk-686: pcspkr sometimes breaks audio

Jonathan Nieder jrnieder at gmail.com
Sat Sep 3 14:14:39 UTC 2011


Hi Andres,

Andres Salomon wrote:

> In theory, this should never happen; snd_card_create() takes an idx
> that sets the order of cards, /etc/modprobe.d/alsa-base-blacklist.conf
> blacklists snd-pcsp (so it should never be loaded!),
> and /etc/modprobe.d/alsa-base.conf sets idx=-2 for snd_pcsp so that
> it's not loaded as the first soundcard.
>
> This is a fresh install; alsa-base was not initially installed (I did a
> minimal install, and then installed packages manually).  That's why I
> hit this.

Ok, so where does that leave Debian?

1. The idea that the first-probed sound card should be the default
   still seems crazy to me.  I understand that renumbering as later
   cards are probed would be problematic, but maybe the alsa userspace
   libraries could use some different abstraction or renumber in some
   sensible way.  (One can dream. :/)

2. An index parameter of "-2" means "Do not make me card0" (it is a
   bitmask of permissible indices, 0 unset, 1 through 31 set).  This
   seems like something that userspace deserves to be responsible for
   (from the kernel's point of view, index 0 should not be special)
   but the snd-bt87x, snd-atiixp-modem, snd-intel8x0m,
   snd-via82xx-modem, and snd-mpu401 drivers set it automatically
   anyway.

3. /etc/modprobe.d/alsa-base.conf from the alsa-base package
   additionally sets the "index=-2" parameter for "bt87x" (which never
   seems to have existed), cx88_alsa (shouldn't it be "cx88-alsa"?),
   snd-pcsp, and snd-usb-audio.  Unfortunately the alsa-base package
   is not pulled in via the transitive Suggests of libasound2 or the
   kernel, so someone not installing using tasks might not notice it
   exists.

4. /etc/modprobe.d/alsa-base-blacklist.conf blacklists the snd-pcsp
   driver.  This seems redundant after (3) (?).

Ways forward:

 - libasound2 could use "Suggests: alsa-base".  (Recommends would be
   too strong because alsa-base has nontrivial dependencies itself and
   it is not too unusual to use binaries linked to the ALSA libs on a
   system that doesn't need sound support.)

 - Should /etc/modprobe.d/alsa-base.conf be shipped in udev instead of
   alsa-base?

 - Is there any long-term path away from (1)?

Thanks, and sorry for the long quiet.
Jonathan



More information about the Pkg-alsa-devel mailing list