[ Gojko Vujovic @ 01.01.2001. 17:54 ] @
|Posto me je dosta njih vec pitalo kako da nateraju sound blaster da radi pod linuxom, evo teksta o tome sa linuxnewbie.org:|
Getting your SB Live! to work (with minimal pain)
Written By: Morganth
Let me start by saying that getting the SBLive! to work under linux is probably easier than getting it to work under Windows, as long as you have some grasp of what youre doing. It basically involves you getting the emu10k1 driver (emu10k1 is the chip on the SBLive board) and configuring the module in one file and at the command line. So, lets get started, and finish up in a timely fashion.
Getting the driver
Im going to tell you how to do this from the command-line, so its easy for ya to follow the directions. First, Id head over to your home directory, and make a directory for your project.
Now, invoke the following in a xterminal:
(or ftp://opensource.creative.com in your browser)
Enter anonymous as your "name"
and a real or bogus email address as your "password"
get emu10k1-[newest date].tar.gz
where newest date is the closest date to present, dummy. Itll be listed there ;-)
Ok, now we have the driver downloaded!
Uncompressing and compiling
The next step is relatively easy, just follow these commands:
tar -xvf emu10k1<tab>
that is, hit the [tab] key in order to auto-complete your line, to save you some keystrokes
which is usually the extract path, but it might not be
Superuser, Copy, Edit, Probe, Reboot, Viola!
The next few steps are relatively intuitive. First off, we gotta become root for a few minutes--were modifying precious system files and copying to unpermissioned directories.
Password: [your root password]
Then, since youre still in your emu10k1 driver directory...
Is it there? Good! If not, go back to uncompressing/compiling. You did something wrong ;-) Now we have to copy it to our modules directory. The next few steps of installing the driver can sometimes be bypassed by running
in the emu10k1 directory... however I found that under both RH 6.0 and 6.1, when I first got the driver, the make install would plop my emu10k1 driver in the wrong directory, that looked something like /usr/lib//misc (those two forward slashes arent a typo). If it works for you though, it works for you...
Findingyour modules directory is tricky, since its different with every single fricken distro. But... heres what we can do.
that part is always the same
Now, check out those version numbers. You probably want the newest version number, sometimes theres an "mdk" tagged on the end of it. Thats alright. Once you find what you think is the appropriate one, change directory [cd] into it. Invoke an Ls and you should see a bunch of directories naming device categories. There should be one called "misc." Thats our guy. So lets change directory [cd misc] into there. And now, lets copy our file:
cp /home/[username]/sblive/emu10k1/emu10k1.o ./
Now lets edit conf.modules to reflect our new driver:
echo alias sound emu10k1 >> /etc/conf.modules
what that did, if youre wondering, is echoed "alias sound emu10k1" to the screen, and than sent that output to the end of the conf.modules file. Quick, one-line editing.
If at the end of your install, the sound isnt working, its probably due to the above step being incorrect. Some distros I recently found out have their conf.modules stored in other files. Id reccomend you check your respective distros manual or help files to find out where its module configuration file is.
Anyway, now lets probe the sucker.
it may/may not say "no dependency file found for emu10k1.o" It doesnt matter. Sometimes this has happened to me (on some computers), other times it hasnt.
And were done with the setup.
Technically, your sound should work right now... however Ive noticed that on Mandrake Linux even after probing the module, my sound still isnt initialized. However, a reboot seems to remedy that. Some users claim that by following these steps their sound works without a reboot, so hats off to them.
At this point your driver should work! Congrats... start playing your MP3s and CDs happily. Otherwise, maybe your fix is below...
The fix to the hated "unresolved symbols" errors
The first emails I got from this NHF were positive praise, however after a day of letting linger, a good 20% of my email messages were from people who got the same error. This "unresolved symbols" error happened to tons of users even when the SBLive! driver just came out. It occurs right after you try to modprobe the emu10k1 driver, and looks something like this:
/lib/modules/2.2.9-27mdk/misc/emu10k1.o: unresolved symbol unregister_sound_mixer_R7afc9d8a
/lib/modules/2.2.9-27mdk/misc/emu10k1.o: unresolved symbol unregister_sound_dsp_Rcd083b10
/lib/modules/2.2.9-27mdk/misc/emu10k1.o: unresolved symbol unregister_sound_special_R99c95fa5
/lib/modules/2.2.9-27mdk/misc/emu10k1.o: unresolved symbol register_sound_dsp_R0f7ad10d
/lib/modules/2.2.9-27mdk/misc/emu10k1.o: unresolved symbol register_sound_midi_R4fe7b251
/lib/modules/2.2.9-27mdk/misc/emu10k1.o: unresolved symbol register_sound_mixer_R82b8ae63
/lib/modules/2.2.9-27mdk/misc/emu10k1.o: unresolved symbol unregister_sound_midi_Rfdab6de3
/lib/modules/2.2.9-27mdk/misc/emu10k1.o: unresolved symbol register_sound_special_R17814d41
However, I found a fix posted by MXR4LIFE on the LinuxNewbie.org message board awhile back, that worked for many users back then.
Before compiling (make) the module, we have to edit the Makefile in the emu10k1 directory where we untarred the tarball. Find the file named Makefile in that directory, and edit it so that the line:
MODVERSIONS = n
MODVERSIONS = y
In addition, edit the line that has:
[or the appropriate directory for your install]
If you havent toyed with editors yet, pico probably comes standard on your distro, and by running pico Makefile youll be able to easily edit the file, hit [CTRL]+O to save it, and [CTRL]+X to quit.
After you complete this step, run make again and follow the above directions as normal past the point of compilation. Your unresolved symbols problem should disappear forever! Enjoy!
p.s. Id like to give my thanks out to all the people who sent their feedback to this article when it first went up, for helping me add more to it. Id also like to thank Manuël Beunder a.k.a. MBR with his wonderful tutorial whose link was emailed by one of this NHFs readers. His tutorial along with feedback and the LNO message board let me post up the fix to the unresolved symbols error. You can find his web site, which has some valuable information on SBLive! drivers, among other things, at the following URL:
Thanks, and enjoy your MP3 playing, when it comes to you. ;-)
Note: Added 1-05-2000
contributor: Rob Pryor
If you are getting undefined symbols, make sure the soundcore module is loaded before you load the emu10k1 module.
Note: Added 2-25-2000
If you are having problems with running your mp3s non-root.
chmod ugo+rwx /dev/dsp
Remember you have to be root to issue the command