[BL] BL2 sound device drivers not being created - kernel module bug

sindi keesan keesan at sdf.lonestar.org
Sat Sep 4 12:08:13 EDT 2004


My SB16 cards will play CD audio but three different wav playing programs 
complain about audio size buffer or ioctl devices and it appears to have 
something to do with DMA size buffer not being set properly and /dev/dsp
(none of which I understand).  Someone said after a lot of experimenting 
his problems suddenly fixed themselves and the /dev/dsp suddenly created 
itself and it had something to do with /audio/dev (which he thought 
disappeared somehow).  Lots of confused people dealing with this problem.

Problems occurred with SB16 and its imitators ESS 1370 and 1371, which use 
the sb module, but not with a PCI SB card.

Someone else reported that it worked with kernel 2.2.13 but not some later 
kernels and by 2.3.something it was working again - some sort of kernel 
bug.  But I used the same kernel for ESS as for SB so perhaps the module 
itself has a bug?

Someone else said he followed instructions for creating the dsp files but 
did not say where he got them.

I looked at /dev/dsp on my computers with SB16 and on a computer where 
sound works that has ESS SOLO sound chip and module and on my computer the 
devices audio and audio1 (for a second soundcard) are there but dsp and 
dsp1 have a 0 in the fourth column where the working computer has a 14 and 
so do the audio devices audio and audio1.


I looked in my big 1995 reference book and there is a section on Creating 
Device Files.

The book says I should have dsp pointing to dsp0, dsp0, dsp1, and the same 
for audio.  I have audio and audio1 (which look identical) but no audio0, 
and I have a 0 dsp and no dsp0 or dsp1.  Looks like something got messed 
up somehow.   Some time since 1995 a fourth column also got added.
On the good computer dsp entry has root sys and on mine it has root root.

crw-rw-rw 1 root  14,   3 Aug 22 00:01 dsp0   - in the book
I don't have this file at all.

crw-rw-rw- 1 root sys 14, 4  Aug 22 00:01 audio  - on my computer (works)


'The first time the kernel sound driver is configured you need to create 
the sound device files.  Cut the short shell script from the end of the 
file Readme.linux in the directory /usr/src/linux/drivers/sound and run it 
as user root.'

This is supposed to replace existing incorrect device files with correct 
ones.

I don't have a kernel sound driver, do I?  I am using bare.i kernel. 
Maybe the module is not working correctly for this SB card.

I don't have the drivers directory - is this part of the kernel source?
If so, could Steven or someone else with a full distribution possibly pick 
out that script or at least tell me where to look for it?

'Some older Linux distributions [older than 1995 - but I have SW71] 
provided install scripts which created incorrect sound device files.  You 
may also have a /dev/MAKEDEV script for creating device files.  Using the 
script included with the kernel sound driver is preferred since it should 
always be up to date with the latest supported sound devices'.

For SB16 and /dev/dsp I don't think this matters. MAKEDEV is in devs.tgz 
and I will try it but I need to explodepkg devs.tgz to get it. (The 
package does not seem to include the psd device itself).  Perhaps James or 
Steven would like to post this file if it works for me, and something 
could be added to the BL2 FAQ about the 2.2.14 kernel being buggy for 
sound with sb.o (since that is what most of our sound discussion has been 
about).

Ron, are your SB16 cards PCI?

dsp is supposed to be a link to dsp0 and there are no dsp0 or dsp1. audio 
should be a link to audio0 but I have audio set up to look like audio0 
should look, and no audio0 and I have audio1.  Is that what was used to 
play the audio CD with workbone (which worked, amazingly).

This looks incorrect to me.  I hope /MAKEDEV can fix it.

Can I or modify these files manually to match what is in the book (plus 
adding the column with sys)?  Looks like I need to assign root, sys, and 
two numbers and a name. I have the list of what they should be (on the 
other computer).  Or I suppose I could plug in an ESS SOLO card and run 
esssolo1.o and maybe that will make the files for me.  Might have been 
what miraculously helped someone else who was experimenting with this.

keesan at sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org



More information about the BasLinux mailing list