LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 10-06-2003, 05:36 PM   #1
JyushinX
Member
 
Registered: Oct 2003
Posts: 36

Rep: Reputation: 15
Sound Blaster Extigy


I currently have a Sound Blaster Extigy and would like to get it to work with Linux Mandrake 9.1.

I went to the website "http://www.cs.umass.edu/~cochran/", and attempted to follow the instructions there but ran into a problem.
After downloading the tar file, I extracted it, and then attmempted to run: make. I get a ton of errors though. Even with the variations he mentions (such as "make INC=..."), I still get a bunch of errors.

Here's a link to the errors I get with "make"
http://www.geocities.com/jyushinwm/errors.txt


Any ideas?

Thanks.
 
Old 10-06-2003, 09:18 PM   #2
contrasutra
LQ Guru
 
Registered: Mar 2003
Location: New Jersey
Distribution: Arch Linux
Posts: 1,445

Rep: Reputation: 47
Do you have your kernel source installed?

Did you get the official Creative drivers?
 
Old 10-07-2003, 12:23 AM   #3
JyushinX
Member
 
Registered: Oct 2003
Posts: 36

Original Poster
Rep: Reputation: 15
Hmmmm...I wasn't aware it was an option to not have it installed. Could you explain that a bit further?
 
Old 10-07-2003, 09:41 AM   #4
stv_t
Member
 
Registered: Oct 2003
Location: Gatwick, UK
Distribution: Mandrake 9.1, Mandrake 9.2, Redhat 9.0
Posts: 47

Rep: Reputation: 15
Hi JyushinX

The kernel sources are not installed by default. These are the source code files that is used to build the actual executable kernel. Many additional programs that are built from source refer to some of these kernel source files. You can install thesse by selecting 'Install software' from the 'packaging' option of the 'configuration' option of KDE menu. Enter your root password then enter 'kernel' in the search string. This will list the kernel source code packages. Simply select these, hit install and try rebuilding your sound card drivers again.
Stv T
 
Old 10-07-2003, 09:07 PM   #5
JyushinX
Member
 
Registered: Oct 2003
Posts: 36

Original Poster
Rep: Reputation: 15
Thank's stv_t, that worked. Kind of.

I didn't get the errors I got before, so the makefile worked. Next, to load the drivers, I typed: "insmod ./exaudio.o". When I did that, I got this message...

--------------------------------------------------------------
./exaudio.o: unresolved symbol unregister_sound_dsp
./exaudio.o: unresolved symbol register_sound_dsp
./exaudio.o: unresolved symbol register_sound_mixer
./exaudio.o: unresolved symbol unregister_sound_mixer
--------------------------------------------------------------

To check if this did anything, I turned on my Extigy, and Linux just froze.

Any ideas?
 
Old 10-08-2003, 05:24 AM   #6
stv_t
Member
 
Registered: Oct 2003
Location: Gatwick, UK
Distribution: Mandrake 9.1, Mandrake 9.2, Redhat 9.0
Posts: 47

Rep: Reputation: 15
hi
I've downloaded the source code (version 1.51) for this and tried it. Unfortunately it builds and installs with no problem on my system even though I'm using a soundblaster 5.1 Live card, so I can't actually test if it works properly. However the symbols that you are getting flagged as unresolved appear to be in the module 'soundcore', which would imply that you have no sound modules loaded at all. Try running 'lsmod' to check that you have this module loaded. If not load this first then load exaudio.o. My normal sound modules as listed by
'lsmod | grep 'snd|exa' are:

snd-pcm-oss 43556 1
snd-mixer-oss 14488 0 [snd-pcm-oss]
snd-emu10k1 69268 5
snd-rawmidi 17600 0 [snd-emu10k1]
snd-pcm 77536 0 [snd-pcm-oss snd-emu10k1]
snd-timer 18376 0 [snd-pcm]
snd-page-alloc 7732 0 [snd-emu10k1 snd-pcm]
snd-util-mem 3008 0 [snd-emu10k1]
snd-ac97-codec 40160 0 [snd-emu10k1]
snd-seq-device 5832 0 [snd-emu10k1 snd-rawmidi]
snd-hwdep 6368 0 [snd-emu10k1]
snd 40868 4 [snd-pcm-oss snd-mixer-oss snd-emu10k1 snd-rawmidi snd-pcm snd-timer snd-util-mem snd-ac97-codec snd-seq-device snd-hwd
usbcore 72992 1 [usb-storage scanner usb-ohci]

after running 'sudo insmod exaudio.o' to install the module the modules loaded are:

exaudio 28880 0 (unused)
snd-pcm-oss 43556 1
snd-mixer-oss 14488 0 [snd-pcm-oss]
snd-emu10k1 69268 5
snd-rawmidi 17600 0 [snd-emu10k1]
snd-pcm 77536 0 [snd-pcm-oss snd-emu10k1]
snd-timer 18376 0 [snd-pcm]
snd-page-alloc 7732 0 [snd-emu10k1 snd-pcm]
snd-util-mem 3008 0 [snd-emu10k1]
snd-ac97-codec 40160 0 [snd-emu10k1]
snd-seq-device 5832 0 [snd-emu10k1 snd-rawmidi]
snd-hwdep 6368 0 [snd-emu10k1]
snd 40868 4 [snd-pcm-oss snd-mixer-oss snd-emu10k1 snd-rawmidi snd-pcm snd-timer snd-util-mem snd-ac97-codec snd-seq-device snd-hwdep]
soundcore 6276 0 [exaudio snd]
usbcore 72992 1 [exaudio usb-storage scanner usb-ohci]


Doh !
Just realised that its an external USB device so the 'soundcore' module probably won't be loaded nor any other sound related modules. Try loading it before exaudio.o. Depending on how clever the driver is you may need some of the other modules also. If you get anymore 'unresolved symbol' errors check which module they are in and load them. You can find which module they are likely to be in by doing the following:

error message is:
./exaudio.o: unresolved symbol register_sound_dsp
do:
prompt> cd /usr/src/linux/drvers/sound
prompt> rgrep -r register_sound_dsp * | egrep ":int |:char |:long "

The search patterns in the egrep command are basic 'C' types, these 3 should be enough but if nothing is returned then you can either and more of the 'C' types or leave off the | egrep ":int |:char |:long " which will display every occurance of the search string.
You will the have to have to go through each line looking for the one that is the definition of the function.

This should return where the symbol is defined. ie
sound_core.c:int register_sound_dsp(struct file_operations *fops, int dev)

When you know where the symbol is defined you canthen find out what the module is called (although it will usually be named the same as where you found it ;-) )
prompt> grep sound_core Makefile
sound_core.o sound_syms.o uart401.o \
soundcore-objs := sound_core.o sound_firmware.o


prompt> grep soundcore-objs Makefile
soundcore-objs := sound_core.o sound_firmware.o
soundcore.o: $(soundcore-objs)
   $(LD) -r -o $@ $(soundcore-objs)


This last grep will give the name of the module that need to be loaded. In this case it is given by second line. What you are looking for is the the name at the beginning of the line ending in ':'. Note this will be at the start of the line and not indented.
you would then need to do:
prompt> sudo insmod soundcore

Note that you do not need to be in the correct directory or add the '.o'. These kernel modules are in a standard place and are actually stored as 'gzip'ed' files. If you add the '.o' then the 'insmod' will fail.

Once you get this working you should be able to place the commands to load these modules in '/etc/rc.local' so that they get added at boot time. (there is probably a better place, so they get loaded when its plugged in, as its a USB device but I'm not sure where that is)

Hope this helps !

Stv T
 
Old 10-08-2003, 12:56 PM   #7
JyushinX
Member
 
Registered: Oct 2003
Posts: 36

Original Poster
Rep: Reputation: 15
Wow. I appreciate the expansive reply. I did what you said and loaded the soundcore module and exaudio loaded fine.

I took a look at rc.local but don't feel confident enough to edit it. What exactly should I do with it to get these drivers to boot on startup?

Thanks again.
 
Old 10-08-2003, 07:39 PM   #8
stv_t
Member
 
Registered: Oct 2003
Location: Gatwick, UK
Distribution: Mandrake 9.1, Mandrake 9.2, Redhat 9.0
Posts: 47

Rep: Reputation: 15
Hi,

OK, if you don't want to edit the 'rc.local' file then you can do the following, all as root:

1. root_prompt> cd /etc
2. root_prompt> cp rc.local rc.local.bak
3. root_prompt> echo "insmod -vs soundcore" >> rc.local
4. root_prompt> echo "insmod -vs full_path_to_exaudio.o" >> rc.local

This will:
1. change into the correct directory
2. Backup the rc.local file to rc_local.bak
3. Add the insmod soundcore to the end of the rc.local file
4. Add the insmod exaudio.o to the end of the rc.local file

Ensure that you use the full pathname to location where you have the exaudio.o file stored.
ie on my system the last command is:
echo "insmod -vs /downloads/targz/drivers/exaudio-1.51/exaudio.o" >> rc.local
The -vs flags will add verbose information to the syslog log file.
Also ensure that the command to be added to the rc.local file is in "" and that you use '>>' and not '>'. If you only use one '>' then you will overwrite the rc.local file completely rather than appending to it.


Stv T
 
Old 10-08-2003, 07:44 PM   #9
JyushinX
Member
 
Registered: Oct 2003
Posts: 36

Original Poster
Rep: Reputation: 15
Sounds good.

Thanks a lot.

Now, one more and hopefully the final problem.

When the drivers are loaded, I turn on my SB Extigy and nothing freezes, so all good there.

When I attempt to play an mp3 through Xmms however, I get no sound and the counter plays through super fast. Basically it goes from 00:00 to 04:23 in about 3 seconds.

Any ideas?

Thanks.
 
Old 10-09-2003, 12:17 PM   #10
stv_t
Member
 
Registered: Oct 2003
Location: Gatwick, UK
Distribution: Mandrake 9.1, Mandrake 9.2, Redhat 9.0
Posts: 47

Rep: Reputation: 15
Hi,
I would try the following:
1. Try playing with one of the other sound players such "kaboodle" from the menu or "mpg123" from the command line.

2. Check that the correct XMMS plugin is being used see the faqs at http://www.xmms.org for more information

3. It may be that you need some of the other sound moudules to be loaded - try insmod -v snd this should load up a number of sound modules.

You could also look at http://www.linuxquestions.org/questions/showthread.php?s=&threadid=69611

Don't know if this helps but I have sound blaster 5.1 card which after a reboot ALWAYS comes up as muted. However just unmuting from 'kmix' or the taskbar does not fix the problem. I also have to go into 'kmix' and change the levels on the speaker and the PCM or WAVE input lines before any sound is output. Saving these levels as the defaults does not seem to do any good so I have to go through this procedure after every boot/login
Also don't be fooled by just looking at the levels and thinking they are at the maximum you HAVE to change each of them before they take effect.

Stv T
 
  


Reply



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 On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Install Sound Blaster Extigy on Mandrake 10.1 myrickl Mandriva 1 03-23-2005 10:27 PM
Sound Blaster Extigy USB Card Creeps Linux - Hardware 1 10-06-2004 02:04 PM
Extigy sound distortion Joe_Bogarde Linux - General 0 01-23-2004 06:28 PM
Sound Blaster Extigy JyushinX Linux - Hardware 1 10-05-2003 11:26 AM
Sound Blaster Extigy gurrie Linux - Hardware 8 09-28-2003 07:20 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 01:01 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
Open Source Consulting | Domain Registration