
Support for your SB Live! Sound Card in FreeBSD 5.0
This work is documented and tested from source code which was updated (via cvsup) on April 6, 2000. You can start the process by adding support in your kernel for devices pcm.
Detailed info on building custom kernels can be found at
http://www.freebsd.org/handbook/kernelconfig.html
So you can see what little I added to my kernel, here is my sound support:
device pcm
device pci
The last line is a generic driver required so that the programs we use will work with PCI configuration registers. The SB Live! cards are PCI. Make sure you have this device option in the kernel. No, I'm no wiz on this topic. I just pulled that from the first line of "man pci" to state its purpose. Now that we've got support in the kernel, we can complete rebuilding the kernel as needed. Let's move on to making our audio device.
cd /dev
This is where I'm a little questionable to the exact step of "what to do". I had older legacy devices working in here before i got to this point. If I remember correctly, i think I did:
./MAKEDEV snd0
to get my audio device made. In my /dev directory, I do have the following which should help you in what to look for:
kashmir# ls -la /dev/audio*
lrwxrwxrwx 1 root wheel 6 Feb 21 11:05 /dev/audio -> audio0
crw-rw-rw- 1 root wheel 30, 4 Feb 21 11:05 /dev/audio0
kashmir# ls -la /dev/dsp*
lrwxrwxrwx 1 root wheel 4 Feb 21 11:05 /dev/dsp -> dsp0
crw-rw-rw- 1 root wheel 30, 3 Apr 6 11:52 /dev/dsp0
lrwxrwxrwx 1 root wheel 5 Feb 21 11:05 /dev/dspW -> dspW0
crw-rw-rw- 1 root wheel 30, 5 Feb 21 11:05 /dev/dsp
kashmir# cat sndstat
FreeBSD Audio Driver (newpcm) Apr 6 2000 10:54:54
Installed devices:
pcm0: <Creative EMU10K1> at io 0xdc00 irq 11 (1p/0r channels duplex)
Now we need to check a file in the sound driver. Make sure that the SB Live! chipset is available to the pcm driver. Look in the file:
/usr/src/sys/conf/files
by making sure that the line
dev/sound/pci/emu10k1.c optional pcm pci
is NOT commented out in the file. OK. Save the file to the same name that you opened it as. And reboot!
Upon rebooting, watch your dmesg output. You should see something similar to:
pcm0: <Creative EMU10K1> port 0xdc00-0xdc1f irq 11 at device 12.0 on pci0
pci0: <unknown card> (vendor=0x1102, dev=0x7002) at 12.1
If it went too fast, you can always do a
/sbin/dmesg | grep pc or /sbin/dmesg | grep pcm
The latter will narrow down your report if you have other PCI devices.
Now put it to the test. Fire up your favorite audio application and crank up the music loud enough to upset the neighbors.
-Christopher D. Holden
This site cannot be duplicated without permission.
This site is Copyright © 1998-99 Defcon1.Org
Updated April 08,2000