[Pkg-alsa-devel] Bug#359851: linux-sound-base: OSS emulation incorrectly disabled

David Liontooth liontooth at cogweb.net
Wed Mar 29 09:04:35 UTC 2006


Package: linux-sound-base
Version: 1.0.10-3
Severity: normal


The symlink to /lib/linux-sound-base/noOSS.modprobe.conf may be involved in 
incorrectly disabling oss emulation.

On a mainline 2.6.16 kernel, I built the oss emulation components as modules:

# lsmod | grep oss
snd_pcm_oss            51872  0
snd_mixer_oss          17536  1 snd_pcm_oss
snd_pcm                92296  4 saa7134_alsa,snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd                    60256  7 saa7134_alsa,snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer

The new saa7134-oss module creates device nodes:

saa7134 OSS driver for DMA sound loaded
saa7133[0]: registered device dsp1
saa7133[0]: registered device mixer1
saa7133[1]: registered device dsp2
saa7133[1]: registered device mixer2

To record from VLC using a v4l card, I issue

vlc v4l:/dev/video2:norm=ntsc:frequency=77250:size=640x480:channel=5:\
adev=/dev/dsp2:samplerate=32000:audio=0:stop-time=$TIM \
--sout "#transcode{vcodec=h264,fps=29.97,acodec=mpga}\
:std{access=file,mux=asf,dst=$DIR/$FIL.mpg}" aspect-ratio "4:3" -I dummy

I get in response,

/usr/sbin/alsactl: load_state:1250: Cannot find soundcard '2'...
ALSA lib pcm_hw.c:1305:(_snd_pcm_hw_open) Invalid value for card
Error opening audio: No such device

This is true -- there is no soundcard 2 as far as alsa is concerned:

   $ cat /proc/asound/cards

    0 [CK8S           ]: NFORCE - NVidia CK8S
                     NVidia CK8S with ALC850 at 0xfc003000, irq 17

But alsa should see the oss devices through the oss emulation.

When I remove the symlink to /lib/linux-sound-base/noOSS.modprobe.conf in
/etc/modprobe.d before I load saa7134-oss, I get "saa7134 OSS driver for DMA sound
loaded" and the dsp1 and mixer1 device receipts, then:

 saa7134 ALSA: can't load, DMA sound handler already assigned (probably to OSS)

When I now run channel-vlc, it doesn't object to /dev/dsp2, so somehow removing
the symlink allows the oss devices to be seen. Other applications that use
alsactl to validate device enumerations, for instance transcode, work under
protest and pick up sound from the card:

 /usr/sbin/alsactl: load_state:1250: Cannot find soundcard '2'...

But then I get this:

 [import_v4l2.so]: Audio input from saa7134 detected, you should set audio sample
rate to 32 Khz using -e

It looks like the symlink to /lib/linux-sound-base/noOSS.modprobe.conf is involved
in incorrectly disabling oss emulation.

Dave

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-agp
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages linux-sound-base depends on:
ii  debconf [debconf-2.0]         1.4.72     Debian configuration management sy

linux-sound-base recommends no packages.

-- debconf information:
  linux-sound-base/sound_system: ALSA




More information about the Pkg-alsa-devel mailing list