Dell SBLive! (almost) fixed

Joseph Dunn joseph at magnesium.net
Wed Jun 9 16:58:49 GMT 2004


Hello hackers@,

I just helped a friend install FreeBSD 5.2.1 on his Dell desktop
machine, and we've been struggling to get his sound card working. His
system has an SBLive! card, we were unable to use it with the stock
snd_emu10k1 driver. However...

pciconf -lv output:
none3 at pci2:2:0: class=0x040100 card=0x10031102 chip=0x00061102 rev=0x00
hdr=0x00
    vendor   = 'Creative Labs'
    device   = 'emu10k1x Soundblaster Live! 5.1'
    class    = multimedia  
    subclass = audio

relevant lines from /usr/src/sys/dev/sound/pci/emu10k1.c:
#define EMU10K1_PCI_ID  0x00021102
#define EMU10K2_PCI_ID  0x00041102

As you can see, Dell has apparently changed the card's PCI ID, and thus
the driver is not detecting it. I modified emu10k1.c to include the PCI
ID (see attached diff). Now, the new snd_emu10k1 driver detects the
card:
pcm0: <Creative EMU10K1 (Dell)> port 0xdf20-0xdf3f irq 17 at device 2.0 on pci2
pcm0: <SigmaTel STAC9708/11 AC97 Codec>

This *appears* to be working, but when I tried to play an mp3 with
mpg123, I got this error, and no sound:
pcm0:play:0: play interrupt timeout, channel dead

Could anyone with experience in this area venture a guess as to the
problem?

Thanks,

Joseph


More information about the freebsd-hackers mailing list