Date: Wed, 17 Nov 1999 13:10:48 -0800 (PST) From: king@sstar.com To: freebsd-gnats-submit@freebsd.org Subject: kern/14962: PnP doesn't detect AWE64 when PnP modem is present Message-ID: <19991117211048.B853514D97@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 14962 >Category: kern >Synopsis: PnP doesn't detect AWE64 when PnP modem is present >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Nov 17 13:20:00 PST 1999 >Closed-Date: >Last-Modified: >Originator: Jim King >Release: 3.3-STABLE >Organization: >Environment: FreeBSD raspberry.lgc.com 3.3-STABLE FreeBSD 3.3-STABLE #2: Sun Nov 14 12:53:36 CST 1999 jim@raspberry.lgc.com:/usr/src/sys/compile/RASP i386 >Description: Had a working system with a USR3090 ISA PnP modem. Installed a Soundblaster AWE64, booted Win98, Win98 found the card, booted FreeBSD and FreeBSD doesn't find the card: pcm doesn't attach, it doesn't show up in pnpinfo, no unknown devices show up in dmesg. >How-To-Repeat: >Fix: I don't know if this is a proper fix, but a workaround is to reverse the loop in pnp_configure() in sys/i386/isa/pnp.c, as in the diff below. With the loop running in reverse order on my system both the PnP modem and the AWE64 are correctly detected. Note that applying this change to a working system may hose /boot/kernel.conf, since reversing the probe order changes the PnP CSN assignments. e.g. in my case the modem moved from 1 to 2 and the AWE64 became 1. Also note: This same problem occurs in 4.0-CURRENT, and the same workaround fixes the problem. *** pnp.c.orig Sun Nov 14 01:37:25 1999 --- /usr/src/sys/i386/isa/pnp.c Sun Nov 14 12:53:21 1999 *************** *** 638,644 **** printf("Probing for PnP devices:\n"); /* Try various READ_DATA ports from 0x203-0x3ff */ ! for (pnp_rd_port = 0x80; (pnp_rd_port < 0xff); pnp_rd_port += 0x10) { if (bootverbose) printf("Trying Read_Port at %x\n", (pnp_rd_port << 2) | 0x3); --- 638,644 ---- printf("Probing for PnP devices:\n"); /* Try various READ_DATA ports from 0x203-0x3ff */ ! for (pnp_rd_port = 0xfe; (pnp_rd_port >= 0x80); pnp_rd_port -= 0x10) { if (bootverbose) printf("Trying Read_Port at %x\n", (pnp_rd_port << 2) | 0x3); >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991117211048.B853514D97>