From owner-freebsd-hackers@FreeBSD.ORG Wed Jun 9 22:33:37 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1278E16A4CE for ; Wed, 9 Jun 2004 22:33:37 +0000 (GMT) Received: from magnesium.net (toxic.magnesium.net [207.154.84.15]) by mx1.FreeBSD.org (Postfix) with SMTP id ECE3E43D2F for ; Wed, 9 Jun 2004 22:33:36 +0000 (GMT) (envelope-from joseph@magnesium.net) Received: (qmail 55855 invoked by uid 1248); 9 Jun 2004 22:33:36 -0000 Date: 9 Jun 2004 15:33:36 -0700 Date: Wed, 9 Jun 2004 17:33:48 -0500 From: Joseph Dunn To: freebsd-hackers@freebsd.org Message-ID: <20040609223348.GA505@magnesium.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="1yeeQ81UyVL57Vl7" Content-Disposition: inline User-Agent: Mutt/1.4.2.1i cc: gringoloco1985@hotmail.com Subject: Dell SBLive! (almost) fixed X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jun 2004 22:33:37 -0000 --1yeeQ81UyVL57Vl7 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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@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: port 0xdf20-0xdf3f irq 17 at device 2.0 on pci2 pcm0: 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 --1yeeQ81UyVL57Vl7 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="emu10k1.c.diff" --- emu10k1.c 2004-06-09 11:26:37.000000000 -0500 +++ emu10k1.c.dell 2004-06-09 11:29:26.000000000 -0500 @@ -37,6 +37,7 @@ /* -------------------------------------------------------------------- */ #define EMU10K1_PCI_ID 0x00021102 +#define EMU10K1_DELL_PCI_ID 0x00061102 #define EMU10K2_PCI_ID 0x00041102 #define EMU_DEFAULT_BUFSZ 4096 #define EMU_CHANS 4 @@ -1441,6 +1442,10 @@ case EMU10K1_PCI_ID: s = "Creative EMU10K1"; break; + + case EMU10K1_DELL_PCI_ID: + s = "Creative EMU10K1 (Dell)"; + break; /* case EMU10K2_PCI_ID: s = "Creative EMU10K2"; @@ -1595,6 +1600,10 @@ s = "Creative EMU10K1 Joystick"; device_quiet(dev); break; + case 0x70041102: + s = "Creative EMU10K1 Joystick (Dell)"; + device_quiet(dev); + break; case 0x70031102: s = "Creative EMU10K2 Joystick"; device_quiet(dev); --1yeeQ81UyVL57Vl7--