[linux-audio-user] ALSA -> OSS DSP question

Jan Weil Jan.Weil at web.de
Fri Dec 12 07:54:36 EST 2003

Akos Maroy wrote:
> # cat /etc/modules.conf
> alias eth0 8139too
> alias char-major-81 bttv
> alias usb-controller usb-uhci
> alias ieee1394-controller ohci1394
> alias char-major-195 nvidia
> alias sound-slot-0 via82cxxx_audio
> post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L
>  >/dev/null 2>&1 || :
> pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S
>  >/dev/null 2>&1 || :
> # ALSA portion
> alias char-major-116 snd
> alias snd-card-0 snd-ice1712
> # module options should go here
> # OSS/Free portion
> alias char-major-14 soundcore
> alias sound-slot-1 snd-card-0
> # card #1
> alias sound-service-1-0 snd-mixer-oss
> alias sound-service-1-1 snd-seq-oss
> alias sound-service-1-3 snd-pcm-oss
> alias sound-service-1-8 snd-seq-oss
> alias sound-service-1-12 snd-pcm-oss

Hmmm, I have no experience with an OSS/ALSA mixed system.
At first glance I would say your modules.conf looks correct.

What does 'cat /proc/asound/oss/sndstat' say?

>> You shouldn't have to edit asound.conf to achieve what you want.
> well, this is what I read earlier, that I'd have to define an ALSA
 device named
> dsp0 or dsp1

Generally, there are two ways to achieve OSS compatibility.
1) You can load snd-*-oss kernel modules which will generate /dev/dsp* and friends.
This is what you obviously did.
2) You can make an app believe that there is a /dev/dspX by preloading the aoss
library. This is what you did in addition to 1).

So currently you have a native OSS device, some emulated devices and you try to use
Are you sure you need both of the latters?
Have you any reason for using aoss in favour of the kernel level emulation?

Assuming your snd-*-oss modules are setup correctly you should be able to access
your alsa card through /dev/dsp1, leading to
sox -t ossdsp -r 44100 -c 2 -w /dev/dsp1 -t wav tmp.wav

If /dev/dsp1 is mapped to the wrong channels of your card use the module parameters
listed below to adjust the mapping.

For further information see the OSS-Emulation.txt file contained in the alsa-driver

>> You can pass the snd-pcm-oss module parameters which determine how to
 map alsa
>> pcm to oss devices.
> and what are those parameters?

/sbin/modinfo snd-pcm-oss
filename:    /lib/modules/2.4.20-8/kernel/sound/acore/oss/snd-pcm-oss.o
description: "PCM OSS emulation for ALSA."
author:      "Jaroslav Kysela <perex at suse.cz>, Abramo Bagnara
<abramo at alsa-project.org>"
license:     "GPL"
parm:        dsp_map int array (min = 1, max = 8), description "PCM device number
assigned to 1st OSS device."
parm:        adsp_map int array (min = 1, max = 8), description "PCM device number
assigned to 2nd OSS device."
parm:        nonblock_open int, description "Don't block opening busy PCM devices."

Good luck,


More information about the Linux-audio-user mailing list