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
aoss.
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
documentation.
> 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(a)suse.cz>cz>, Abramo Bagnara
<abramo(a)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,
Jan