linuxnewbie.org.gif
Tuesday, 12-Dec-2000 10:32:15 EST
Newbized Help Files articles discussion board bookshelf sensei's log advertising info

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 you're 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, let's get started, and finish up in a timely fashion.

Getting the driver
I'm going to tell you how to do this from the command-line, so it's easy for ya to follow the directions. First, I'd head over to your home directory, and make a directory for your project.
cd
mkdir sblive
cd sblive


Now, invoke the following in a xterminal:
ftp opensource.creative.com
(or ftp://opensource.creative.com in your browser)

Enter anonymous as your "name"
and a real or bogus email address as your "password"
cd /pub/snapshots/
ls emu10k1*
get emu10k1-[newest date].tar.gz

where newest date is the closest date to present, dummy. It'll be listed there ;-)

Ok, now we have the driver downloaded!

Uncompressing and compiling
The next step is relatively easy, just follow these commands:
gunzip emu10k1<tab>
tar -xvf emu10k1<tab>

that is, hit the [tab] key in order to auto-complete your line, to save you some keystrokes
cd emu10k1
which is usually the extract path, but it might not be
rm *dep*
make depend
make clean
make


Superuser, Copy, Edit, Probe, Reboot, Viola!
The next few steps are relatively intuitive. First off, we gotta become root for a few minutes--we're modifying precious system files and copying to unpermissioned directories.
su
Password: [your root password]


Then, since you're still in your emu10k1 driver directory...
ls emu10k1.o

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
make install
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 aren't a typo). If it works for you though, it works for you...

Findingyour modules directory is tricky, since it's different with every single fricken distro. But... here's what we can do.
cd /lib/modules
that part is always the same
ls

Now, check out those version numbers. You probably want the newest version number, sometimes there's an "mdk" tagged on the end of it. That's 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." That's our guy. So let's change directory [cd misc] into there. And now, let's copy our file:
cp /home/[username]/sblive/emu10k1/emu10k1.o ./
depmod -a

Now let's edit conf.modules to reflect our new driver:
echo alias sound emu10k1
>> /etc/conf.modules
what that did, if you're wondering, is echo'ed "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 isn't working, it's probably due to the above step being incorrect. Some distros I recently found out have their conf.modules stored in other files. I'd reccomend you check your respective distro's manual or help files to find out where it's module configuration file is.

Anyway, now let's probe the sucker.
modprobe emu10k1
it may/may not say "no dependency file found for emu10k1.o" It doesn't matter. Sometimes this has happened to me (on some computers), other times it hasn't.

And we're done with the setup.

Technically, your sound should work right now... however I've noticed that on Mandrake Linux even after probing the module, my sound still isn't 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
reads
MODVERSIONS = y
instead.

In addition, edit the line that has:
INCLUDEDIR=...
to read
INCLUDEDIR=/usr/src/linux/include
[or the appropriate directory for your install]

If you haven't toyed with editors yet, pico probably comes standard on your distro, and by running pico Makefile you'll 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. I'd 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. I'd also like to thank Manuël Beunder a.k.a. MBR with his wonderful tutorial whose link was emailed by one of this NHF's 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:
http://www.euronet.nl/~mailme/

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.
try this:
chmod ugo+rwx /dev/dsp

Remember you have to be root to issue the command :)


We would like to hear your feedback.
[-NHF Control Panel-]
The Linux Channel at internet.com
Linux Planet
Linux Today
Linux Central
Linuxnewbie.org
PHPBuilder
Just Linux
Linux Programming
Linux Start
BSD Today
Apache Today
Enterprise Linux Today
BSD Central
All Linux Devices
SITE DESCRIPTIONS
[-What's New-]
Order a Linuxnewbie T-Shirt
Easy Webcam NHF
Directory Navigation NHF
Installing Snort 1.6.3 on SuSE 6.x-7.x
Customizing vim
The SysVinit NHF
Installing ALSA for the VT82C686 integrated sound
USB Creative Video Blaster II for Linux
Configuring the Intellimouse Explorer in XFree86 V4+
The beginnings of a distro NHF
Getting Past Carnivore?
Getting and Installing PGP
Getting your ATI Rage 128 Working
How to create a multiple partition system
Using Fdisk
Introduction to Programming in C/C++ with Vim
Adding a Hard drive in Linux -- In five steps
Installing ALSA for the Yamaha DS-XG Sound Card
Getting your Diamond Rio Mp3 Player to work with Linux
Bash Programming Cheat Sheet
Installing NVIDIA Drivers for Mandrake
Setting up Portsentry
Hard Drive Speed Tweak for Linux
Sensei's Log
Chat room
Join: Linuxnewbie.org SETI Black Belts!
Send in your news
Click the image to add Linuxnewbie.org to your MyNetscape Page
[-LNO Newsletter-]

[-Archive-]
The beginnings of a distro NHF
Connecting to the Internet using KPPP
Getting your SBLive to work
Unreal Tournament NHF
LWE Day 2 Pictures
LWE Day 1 Pictures
The LNO FAQ!
WoW (Words of Wisdom)
Other sites news
What is Linux?
What is Linux? part deux (ups & downs)
Search newsgroups
The List
ALS Report
Feedback Form
jobs.linuxtoday.com.gif
Match: Format: Sort by:
Search:
Copyright © 1999 All Rights Reserved
[-Quick Links-]

Copyright 2000 internet.com Corp. All Rights Reserved. Legal Notices Privacy Policy

internet.com.gif