LinuxQuestions.org
Visit the LQ Articles and Editorials section
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices



Reply
 
Search this Thread
Old 07-22-2004, 10:14 AM   #1
Onyx^
Member
 
Registered: Aug 2003
Location: Cornwall, UK
Distribution: Debian / Red Hat 7.3 / Peewee / Feather
Posts: 56

Rep: Reputation: 15
Help - I have no sound devices in /dev !


I am really stuck with the arcane system of setting up sound in linux (OSS, OSSFree, ALSA, ALSA OSS Emulation ... gah! )

I have a sis7019 onboard sound, and a sis provided OSS 7019 driver for RH 2.4.x kernels. I have compiled this (sis7019.o) and made the following changes to modules.conf....

below sis7019 ac97_codec soundcore
alias sound-slot-0 sis7019


I have compiled a new 2.4.18 kernel with

<*> Sound Card Support
...
<M> Trident 4DWave DX/NX. SiS 7018 of ALi 5451 PCI Audio Core


Now what do I do ? I have no sound related devices in /dev/ at all.

lspci lists the 'Multimedia Audio Controller' on IRQ5 (but it hasn't been assigned an IRQ in /proc/interrupts')

dmesg makes no mention of IRQ5, audio, or well anything sound related.

Specific questions -

1) Are the devices (/dev/audio0 etc etc) created by the driver when it is modprobed succesfully? Or do i have to mknod all these devices?

2) When 'Sound card support' is included in the kernel does this mean both soundcore AND ac97_codec are built in? If not which kernel option provides ac97_codec built in ?

3) Should I be using OSSFree (if so how do I turn this on in kernel? there does not seem to be an explicit option) or ALSA with OSS Emulation ?

Please some1 help me I have been going around in circles for three whole days now!!!

Thanks in advance for any help
 
Old 07-22-2004, 10:33 AM   #2
Frustin
Member
 
Registered: May 2002
Location: Essex, UK
Distribution: Debian, Redhat, AIX 5L
Posts: 512

Rep: Reputation: 30
i cant help you but a good way of testing sound is sending white noise to the sound port:

cat /dev/random > /dev/dsp
 
Old 07-22-2004, 10:38 AM   #3
Onyx^
Member
 
Registered: Aug 2003
Location: Cornwall, UK
Distribution: Debian / Red Hat 7.3 / Peewee / Feather
Posts: 56

Original Poster
Rep: Reputation: 15
there is no /dev/dsp

I have no sound devices in /dev/ ...

(useful tip for later testing though thanks)
 
Old 07-22-2004, 10:59 AM   #4
Frustin
Member
 
Registered: May 2002
Location: Essex, UK
Distribution: Debian, Redhat, AIX 5L
Posts: 512

Rep: Reputation: 30
Firstly, it isnt a notebook you are trying to install it on is it? because PCM isnt audible on some.

get the latest drivers from alsa.

from what i can recall, when using the alsa drivers you have to make sure that in the kernel you have sound support turned on (as a module if you like) obviously make sure that module support is also in there.

then compile the alsa with the "--with-cards=trident" switch.

do your make; make install

check where the modules (.o files) went, i think its /lib/modules/2.4.X/kernel/sound

then open your (in debian at least) /etc/modules directory and start adding those modules that you just compiled, in the list that you see. REMEMBER if you compiled sound support in the kernel as a modules then add snd.o in that list as well.

you'll then need to restart the sound service or reboot or something.
 
Old 07-22-2004, 11:21 AM   #5
Onyx^
Member
 
Registered: Aug 2003
Location: Cornwall, UK
Distribution: Debian / Red Hat 7.3 / Peewee / Feather
Posts: 56

Original Poster
Rep: Reputation: 15
Thanks for the help so far Frustin...

Nope it isn't a notebook but the hardware is similar, it is an embedded device. I have to cross compile drivers using a development machine and then stick them on the embedded device. But that is a technicality for me to deal with.

well ALSA itself doesn't support the sis7019 chip... I think I need to use the ALSA OSS emulation (though of course I could be mistaken) combined with the OSS 2.4.x sis7019 drivers that have been supplied to me.

So I assume from your post that:-

snd.o is supplied in kernel when you choose '<*> sound card support' but if it iss a modules u need to modprobe it (which i wont have to do because i have it compiled it in). Therefore soundcore.o and ac97_codec are NOT supplied in the kernel and I need to compile them seperatley as kernel modules and modprobe them ?
 
Old 07-23-2004, 03:31 AM   #6
Frustin
Member
 
Registered: May 2002
Location: Essex, UK
Distribution: Debian, Redhat, AIX 5L
Posts: 512

Rep: Reputation: 30
AHHHHH why didnt you say that in the first place! i have done some stuff like that before in my last place i worked and i even wrote in my lab book about it.

i'm sure that as far as the kernel is concerned all i did was to compile in sound support and thats it.

Let me ask you a question, if you are trying to compile drivers, i bet that in the ./configure you are using things like prefix=/mnt/flash or modules?

Last edited by Frustin; 07-23-2004 at 03:32 AM.
 
Old 07-23-2004, 08:36 AM   #7
Onyx^
Member
 
Registered: Aug 2003
Location: Cornwall, UK
Distribution: Debian / Red Hat 7.3 / Peewee / Feather
Posts: 56

Original Poster
Rep: Reputation: 15


I usually don't mention I'm developing for an embedded device because the second people see the word 'embedded' a shudder goes through their spine and they stop reading the thread so that I get no replies...

When I compile the sis7019 drivers, I specify to compile against the kernel source that I built my kernel against. Then I transfer across the sis7019.o into the lib/modules/... on my embedded machine.

I have a found a script that will create all the sound devices for me in /dev so I am confident that they are there OK now. (mknod -m 666 /dev/mixer0 c 14 0) etc etc

When I try and :-

insmod sis7019

... it gives me unresolved symbols relating to ac97_codec. So if I :-

insmod ac97_codec
insmod sis7019


the ac97_codec gets loaded fine (as far as i can see with lsmod), but when the sis7019 module is loaded, it locks up the machine and I have to do a hard reset.

Thinking about it ALSA is probably overkill for this device... I just want to use the kernel OSS option. What _exactly_ needs to be selected in the kernel configuration for this? both <*> Sound Card Support AND <*> OSS Modules ?
 
Old 07-23-2004, 08:38 AM   #8
Frustin
Member
 
Registered: May 2002
Location: Essex, UK
Distribution: Debian, Redhat, AIX 5L
Posts: 512

Rep: Reputation: 30
i need to look at the way i hve it set up at home tonight. i have a copy of the stuff i did there.

what is the exact ./configure line that you do?
 
Old 07-23-2004, 09:01 AM   #9
Onyx^
Member
 
Registered: Aug 2003
Location: Cornwall, UK
Distribution: Debian / Red Hat 7.3 / Peewee / Feather
Posts: 56

Original Poster
Rep: Reputation: 15
ah sorry yes I meant to address the ./configure question you asked in the last post...

There is no ./configure or make configure with these drivers afaik.

There is a file called config.in that the install script references, where I can specify where the compile process looks for its kernel source.

Is this what you were getting at ?
 
Old 07-23-2004, 10:12 AM   #10
Frustin
Member
 
Registered: May 2002
Location: Essex, UK
Distribution: Debian, Redhat, AIX 5L
Posts: 512

Rep: Reputation: 30
ok, there might be a wire crossing here.

firstly do an `ls' in the alsa drivers directory and paste them here.

couple of questions:

a: where did you get your drivers?
b: are you compiling them from scratch?

if you answer no to `a' then get them from alsa web site. after you untar them there is a configure script, run it using:

./configure --with-cards=trident --with-kernel=/path/to/kernel

that --with-kernel might not be exactly the way it says it in ./configure --help so make sure you use what they say.

EDIT - Just noticed that you are using peewee, i used that once. its not bad but its not as good as rolling your own. its fairly old now and isnt updated much so it might be worth rolling your own, which is why i said it.

Last edited by Frustin; 07-23-2004 at 10:14 AM.
 
Old 07-23-2004, 10:46 AM   #11
Onyx^
Member
 
Registered: Aug 2003
Location: Cornwall, UK
Distribution: Debian / Red Hat 7.3 / Peewee / Feather
Posts: 56

Original Poster
Rep: Reputation: 15
Thanks for your continued guidance Frustin...

I want to just use OSS kernel modules, without all the added overheads of ALSA.

I got my drivers from the comapny that supplied the embedded board (i suppose they got them from SiS). Alsa do not provide drivers for this chip.

They are OSS drivers for 2.4.x Redhat kernels. I compiled them myself from source (make sis7019).

I use peewee but there is very little of the initial system left. I have built a new kernel, and ripped out the binaries / libraries from Feather, a small knoppix install.

This is the extent of my installation instructions...

Dev Env for SiS 55x (scroll down to 7019 audio driver installation)

This is the readme that comes with the drivers...


Code:
SiS 7019 Linux Driver Install Documentation


**Before install this driver, you should make sure that your kernel had 
enable "sound card support" !
(the option of "sound" item in building kernel)

This driver is for kernel RedHat kernel 2.4.x. You can install this driver 
by useing script "install" or follow steps descributed below:
Note : if there are soundcore.o and ac97_codec.o in your kernel, you can
	skip step 3,4,6
       (you can use command "insmod soundcore" and "insmod ac97_codec" to
	test if there are these two modules)	


1>	Check that you have kernel-source in /usr/src/x.x.x

2>	Change linux_src_directory to correct path in "config.in"

3>	Copy soundcore and ac97_codec source to current directory

	"make snd_install"

	or :

	"cp /usr/src/x.x.x/drivers/sound/sound_core.* ./"
	"cp /usr/src/x.x.x/drivers/sound/sound_firmware.* ./"
	"cp /usr/src/x.x.x/drivers/sound/os.h ./"
	"cp /usr/src/x.x.x/drivers/sound/ac97_codec.* ./"

4>	Generate soundcore and ac97_codec module

	"make soundcore.o"
	"make ac97_codec.o"

5>	Generate sis7019 driver module

	"make"

6>	Copy soundcore.o , ac97_codec.o to module directory

	"cp soundcore.o /lib/modules/x.x.x/kernel/drivers/sound
	"cp ac97_codec.o /lib/modules/x.x.x/kernel/drivers/sound

7>	Copy sis7019.o to module directory

	"cp sis7019.o /lib/modules/x.x.x/kernel/drivers/sound

8>	Modify the file "/etc/modules.conf". Add two lines into it :

	below sis7019 ac97_codec soundcore
	alias sound-slot-0 sis7019

9>	Reboot your computer and configurate sis7019.
 
Old 07-23-2004, 12:55 PM   #12
Onyx^
Member
 
Registered: Aug 2003
Location: Cornwall, UK
Distribution: Debian / Red Hat 7.3 / Peewee / Feather
Posts: 56

Original Poster
Rep: Reputation: 15
an added bit of info...

/proc/interrupts does not show IRQ 5 assigned to sound despite the fact that /proc/pci shows the multimedia audio device as IRQ 5?

When does the soundcard officially get given an interrupt ?
 
Old 08-03-2004, 09:40 AM   #13
Onyx^
Member
 
Registered: Aug 2003
Location: Cornwall, UK
Distribution: Debian / Red Hat 7.3 / Peewee / Feather
Posts: 56

Original Poster
Rep: Reputation: 15
*bump*

I upgraded to 2.4.20 kernel and now the drivers modprobe in fine

Of course now, in my lack of knowledge, I have hit another problem ...

When I try to test to sound device with :-

cat /dev/urandom > /dev/dsp

I get a /dev/dsp: no such device error.

Note I am not using ALSA.
Note I create my sound devices using a script AFTER kernel has booted, but before I modprobe the sis audio drivers.

I am getting so close, but once again am stuck with another 'final' hurdle Any help would be great,

Thanks, Ash
 
Old 08-03-2004, 10:06 AM   #14
Frustin
Member
 
Registered: May 2002
Location: Essex, UK
Distribution: Debian, Redhat, AIX 5L
Posts: 512

Rep: Reputation: 30
try it with the alsa drivers then. is there any more audio devices?
 
Old 08-03-2004, 10:40 AM   #15
Onyx^
Member
 
Registered: Aug 2003
Location: Cornwall, UK
Distribution: Debian / Red Hat 7.3 / Peewee / Feather
Posts: 56

Original Poster
Rep: Reputation: 15
I do not have the resources in my embedded device to use it with the ALSA drivers (I also need to cross compile everything which means a PITA to set up ALSA). I would like to use just the standard OSS/Free drivers, which I am currently doing.

Not sure what final steps are needed to make it make some sound ...

Below are my audio devices.

/dev/audio
/dev/audio0
/dev/audio1

/dev/dsp
/dev/dsp0
/dev/dsp1

/dev/dspW
/dev/dspW0
/dev/dspW1

/dev/midi
/dev/midi00
/dev/midi01
/dev/midi02
/dev/midi03

/dev/mixer
/dev/mixer0
/dev/mixer1

/dev/music

/dev/sequencer
/dev/sequencer2
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
various /dev/(n)st0? devices coreyw Linux - Hardware 1 11-03-2003 06:53 PM
mounting 2 ide-scsi devices /dev/cdrom and /dev/cdrom1 issue penguin123 Linux - Hardware 3 09-26-2003 09:36 PM
Two Video Devices - /dev/video0 & /dev/video1 liguorir Linux - Software 1 07-21-2003 09:20 PM
Floppy devices in /dev Thymox Linux - Hardware 4 07-01-2003 06:03 PM
devices in /dev icel0rd Linux - Hardware 3 11-19-2002 03:10 PM


All times are GMT -5. The time now is 04:45 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration