Click to See Complete Forum and Search --> : HOWTO chnage /dev nodes for sound card


hrg27
09-27-2003, 06:43 PM
Hi

I am using RedHat9 and trying to get my Audigy sound working.
Redhat finds the device and lists it as the auto-detected sound card but I don't have no sound at all.

I figured out (cat /proc/driver/emu10k1/02\:08.0/info)

that my sound card is using /dev/dsp1 rather than /dev/dsp, as well as /dev/mixer0 and /dev/midi0 and /dev/dsp0.

Driver Version : 0.19a
Card type : Audigy
Revision : 4
Model : 0x1002
IO : 0xdcc0-0xdcff
IRQ : 4

Registered /dev Entries:
/dev/dsp0
/dev/dsp1
/dev/mixer0
/dev/midi0
/dev/sequencer


To make sure, I changed the xmms default input from /dv/dsp to /dev/dsp1 and it worked, but obviously the applications can't generate any sound.

So I was wondering how I can change the default device to /dev/dsp1 etc... :rolleyes:

Thanks
hrg27

bwkaz
09-27-2003, 07:03 PM
ln -s dsp1 /dev/dsp

Or, ln -s dsp0 /dev/dsp if /dev/dsp0 works any better than /dev/dsp1 in xmms (might want to try it).

The issue here seems to be that your sound card has two separate DSP chips. There should be a default (and this symlink comes close to doing that) that's known as /dev/dsp, but I guess there isn't. Probably something weird with the way the driver works, or it might be something weird with the way OSS works in general.

Anyway, if this symlink doesn't persist across a reboot, then put the same command into one of your distro's startup scripts. A file like /etc/rc.d/init.d/rc.local (that's on Mandrake, probably RedHat, and the default LFS bootscripts install; other distros probably have it in other places) would be the one to add it to.

And actually this doesn't change any program settings. It just creates a /dev/dsp that will work.

hrg27
09-27-2003, 07:16 PM
bwkaz,
thanks for the reply :)
I tried this symbolic link, but /dev/dsp exists in my /dev folder so it couldn't create the link.

Shoudl I go ahead and remove /dev/dsp (which is a character file) and create the link ?


thanks
hrg27

bwkaz
09-27-2003, 08:29 PM
Ehh?

Umm, that's very, err, odd. I guess your installation isn't using devfs (otherwise /dev/dsp, /dev/dsp0, and /dev/dsp1 would be symlinks), so there's not a good way of figuring out what's "listening" on that device.

Actually, maybe there is. Try to cat it once, and see if you get any error messages. If you don't, just ctrl-c to interrupt cat.

If there's nothing listening on it (AKA, if you get some kind of error when you cat it), then sure, move it off somewhere else and make the symlink.

Something else to try first is to ls -l all the dsp* devices, and check the major and minor device numbers they're using. I'm guessing /dev/dsp is major 14, minor 3 (ls -l will look something like "crw--w---- 1 root audio 14, 3 Dec 31 1969 /dev/dsp", which means major 14, minor 3), but I'd be interested to know what the other two are.

mdwatts
09-28-2003, 09:21 AM
On my system


ls -al /dev/dsp*
lrwxrwxrwx 1 root root 4 Aug 8 10:24 /dev/dsp -> dsp0
crw------- 1 root audio 14, 3 Oct 21 2002 /dev/dsp0
crw------- 1 root audio 14, 19 Oct 21 2002 /dev/dsp1
crw------- 1 root audio 14, 35 Oct 21 2002 /dev/dsp2
crw------- 1 root audio 14, 51 Oct 21 2002 /dev/dsp3


So dsp0-3 are the actual devices while dsp is symlinked from dsp0.

hrg27
09-28-2003, 03:24 PM
Hi
this is what I get from ls -la /dev/dsp*

crw------- 1 hamid root 14, 3 Jan 30 2003 /dev/dsp
crw------- 1 hamid root 14, 19 Jan 30 2003 /dev/dsp1
crw------- 1 hamid root 55, 0 Jan 30 2003 /dev/dsp56k

and this for ls -la /dev/mixer*

crw------- 1 hamid root 14, 0 Jan 30 2003 /dev/mixer
crw------- 1 hamid root 14, 16 Jan 30 2003 /dev/mixer1

and ls -la /dev/midi*

crw------- 1 hamid root 35, 0 Jan 30 2003 /dev/midi0
crw------- 1 hamid root 14, 2 Jan 30 2003 /dev/midi00
crw------- 1 hamid root 14, 18 Jan 30 2003 /dev/midi01
crw------- 1 hamid root 14, 34 Jan 30 2003 /dev/midi02
crw------- 1 hamid root 14, 50 Jan 30 2003 /dev/midi03
crw------- 1 hamid root 35, 1 Jan 30 2003 /dev/midi1
crw------- 1 hamid root 35, 2 Jan 30 2003 /dev/midi2
crw------- 1 hamid root 35, 3 Jan 30 2003 /dev/midi3

I tried and cat it once and no error messages. So I moved it (i.e. /dev/dsp) to a different plave and put the symbolic link there. And I should say no result.

However, I started receiving messages like:
/dev/mixer0 does not have a pcm channel

I don't know what I should do now.

thanks
hrg27

bwkaz
09-28-2003, 06:49 PM
Maybe move /dev/mixer off somewhere else too, and ln -s mixer1 /dev/mixer?

But maybe instead of doing all this, it might make more sense to figure out what other module is loading that acts like a DSP. If you can load your sound card module first, and this other module second, then your soundcard will be the default /dev/dsp and /dev/mixer. Take a look through lsmod's output, maybe there's something helpful in there...

Actually, if your motherboard has an onboard sound card, then disabling it in the BIOS setup screen might be helpful also.