Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Nov 2003 01:08:51 -0500
From:      Anthony Schneider <anthony@x-anthony.com>
To:        freebsd-hackers@freebsd.org
Subject:   Sound Blaster Audigy LS problem
Message-ID:  <20031104060851.GA39619@x-anthony.com>

next in thread | raw e-mail | index | archive | help

--EeQfGwPcQSOJBaQU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Dear @hackers,
	i recently bought a soundblaster audigy ls card hoping that it
would "just work" with freebsd, but sadly this is not the case.  at boot,
i see that we recognize that there is a sound card, but that's not adequate.
pciconf -l -v:

none@pci2:7:0:      class=0x040100 card=0x10021102 chip=0x00071102 rev=0x00 hdr=0x00
    vendor   = 'Creative Labs'
    class    = multimedia
    subclass = audio

/sys/dev/sound/pci/emu10k1.c defines the following:

#define EMU10K1_PCI_ID  0x00021102
#define EMU10K2_PCI_ID  0x00041102

from this, i've concluded that either a) this card has an "audigy-compatible"
chipset and the freebsd driver just doesn't recognize it, b) this card has an
audigy-compatible chipset and the freebsd driver not only doesn't recognize it,
biut it might even be slightly different, or c) this "audigy ls" card really
isn't that similar at all to other audigy cards.  so, i tried just changing the
PCI_ID defines above to match my card's id, but writes to the device through
mpg123 and xmms give me:
	 pcm0:play:0: play interrupt timeout, channel dead

so the question afer all of this is: has anyone been able to push sound out of
an audigy ls card?  does anyone know what the chipset is (emu10k1, emu10k2...)?
would it be trivial for me to hack emu10k1 into compatibility?

thank you in advance.
-Anthony.


P.S. FreeBSD pickle 5.1-RELEASE-p10 FreeBSD 5.1-RELEASE-p10 #0: Mon Nov  3 19:10:54 EST 2003     anthony@pickle:/usr/src/sys/i386/compile/PICKLE  i386

P.P.S. also, someone may want to look at sys/dev/sound/pcm/channel.c (lines 279-282):

timeout = (hz * sndbuf_getblksz(bs)) / (sndbuf_getspd(bs) * sndbuf_getbps(bs));
if (timeout < 1)
	timeout = 1;
timeout = 1;

seems like overkill...


--EeQfGwPcQSOJBaQU
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iD8DBQE/p0JyKUeW47UGY2kRAraCAJ9aIgRzVPrm+n5GXRIqrNA5HbnBSACdF3lj
agiBtssaCRMWKLZD4TjFA5c=
=rRGW
-----END PGP SIGNATURE-----

--EeQfGwPcQSOJBaQU--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031104060851.GA39619>