Skip site navigation (1)Skip section navigation (2)
Date:      07 Dec 2000 11:00:59 +0100
From:      Eric Masson <e-masson@kisoft-services.com>
To:        Martin Machacek <m@m3a.cz>
Cc:        questions@FreeBSD.ORG
Subject:   Re: NeoMagic 256AV in Dell Lattitude LS
Message-ID:  <86g0k0a6uc.fsf@notbsdems.nantes.kisoft-services.com>
In-Reply-To: <20001206211847.A32348@ns.gnupg.cz>
References:  <20001206211847.A32348@ns.gnupg.cz>

next in thread | previous in thread | raw e-mail | index | archive | help
>>>>> "Martin" == Martin Machacek <m@m3a.cz> writes:

    Martin> I have problem with the audio part of the NeoMagic 256AV/ZX
    Martin> chip in my Dell Lattitude LS notebook.

    Martin> The systems hangs while booting just after detecting the
    Martin> chip. The audio part is being detected as:

    Martin> pcm0: <NeoMagic 256AV> mem
    Martin> 0xfea00000-0xfeafffff,0xf7800000-0xf7bfffff irq 10 at device
    Martin> 0.1 on pci 1

    Martin> This is also the last line I can see before the system hangs.
    Martin> The only recovery is hard reset.
Looks like a 256AV without AC97 Codec.

Boot the machine without pcm enabled, then issue as root pciconf -l, you
should see an output like this one :
chip0@pci0:0:0:	class=0x060000 card=0x00000000 chip=0x71928086 rev=0x02 hdr=0x00
isab0@pci0:2:0:	class=0x068000 card=0x00000000 chip=0x71108086 rev=0x02 hdr=0x00
atapci0@pci0:2:1:	class=0x010180 card=0x00000000 chip=0x71118086 rev=0x01 hdr=0x00
uhci0@pci0:2:2:	class=0x0c0300 card=0x00000000 chip=0x71128086 rev=0x01 hdr=0x00
intpm0@pci0:2:3:	class=0x068000 card=0x00000000 chip=0x71138086 rev=0x02 hdr=0x00
pcic-pci0@pci0:3:0:	class=0x060700 card=0x00921014 chip=0xac16104c rev=0x02 hdr=0x02
pcic-pci1@pci0:3:1:	class=0x060700 card=0x00921014 chip=0xac16104c rev=0x02 hdr=0x02
none0@pci0:5:0:	class=0x030000 card=0x00dd1014 chip=0x000510c8 rev=0x12 hdr=0x00
chip1@pci0:5:1:	class=0x040100 card=0x00dd1014 chip=0x800510c8 rev=0x12 hdr=0x00

On my laptop, the neomagic is the 0x00dd1014 card. Check the card number
corresponding in your laptop and then add it to the badcards struct in
neomagic.c
/usr/src/sys/dev/sound/pci/neomagic.c
...
static void 	 nm_wrbuf(struct sc_info *, int, u_int32_t, int);

static u_int32_t badcards[] = {
	0x0007103c,
	0x008f1028,
	0x00dd1014, /* add after this one */
};
#define NUM_BADCARDS (sizeof(badcards) / sizeof(u_int32_t))
...

Recompile your kernel with pcm enabled, the machine shouldn't hang
anymore.

device pcm doesn't work on my box, I have to use the following :
device		pcm0	at isa? port 0x530 irq 5 drq 0 flags 0x11
following the settings found in bios and man pcm.

HTH

Eric Masson
-- 
Progress (n) : What led from smart users in front of dumb terminals to
dumb users in front of smart terminals.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




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