From owner-freebsd-hackers Sun Aug 24 11:22:16 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id LAA13118 for hackers-outgoing; Sun, 24 Aug 1997 11:22:16 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.50]) by hub.freebsd.org (8.8.7/8.8.7) with SMTP id LAA13099; Sun, 24 Aug 1997 11:22:11 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id LAA01206; Sun, 24 Aug 1997 11:21:39 -0700 From: Terry Lambert Message-Id: <199708241821.LAA01206@phaeton.artisoft.com> Subject: Re: Couldn't change IRQ on Creative SB16 PnP To: richw@webcom.com Date: Sun, 24 Aug 1997 11:21:39 -0700 (MST) Cc: terry@lambert.org, smpatel@FreeBSD.ORG, hackers@FreeBSD.ORG In-Reply-To: from "Rich Wales" at Aug 23, 97 11:32:55 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > Replying to: > > I assume you mean the configuration 0 in the Windows 95 > property page. This is the default from the PnP config- > uration. > > Yes, that's what I meant -- configuration 0. > > Is there any way to tell i386/isa/pnp.c to activate a configuration > other than 0? No. These configurations do not exist anywhere but the Windows 95 Registry. They are not attributes of the card. The "Configuration 0" is not real in Windows 95, either: it exists solely as the result of the BIOS PnP configuration for the device. > You must have an error in your configuration information > if IRQ 5 is taken by something else. > > IRQ 5 isn't taken by anything else right now. I want to add another > (legacy ISA) card that must use IRQ 5. My plan was to reconfigure the > SB16 PnP sound card to use IRQ 10 (instead of its default IRQ 5), and > =then= add the other card on IRQ 5 =after= the sound card was working > on IRQ 10. This is not going to happen. The PnP card is being configured by the PnP BIOS as the first unallocated interrupt for which the graph soloution is non-conflicting with other PnP hardware, and for which the PnP BIOS does not have defined ISA devices. In other words, it's 5 because the BIOS believes 5 is free. When 5 is no longer free (it is your job to tell the PnP BIOS that IRQ 5 is taken, as well as whatever ports/memory range), *THEN* the PnP BIOS will move your card to a non-conflicting interrupt. Where it gets moved is based on the new soloution to the graph, given the newly defined ISA device that you tell the BIOS about. This will *probably* not be IRQ 10. Be prepared for all your other PnP hardware to move around at the same time. > What you probably need to do is go into the PnP BIOS > configuration and tell it IRQ 5 is taken by an ISA card. > > I tried this, but it didn't help; the sound card still wouldn't accept > IRQ 10, and when I ran "pnpinfo", it still reported IRQ 5 as the only > IRQ available to the sound card in configuration 0. > > Note, FWIW, that the SB16 card is an ISA (not PCI) PnP card. I don't > know if this makes a difference or not. This is a different problem, then. If the sound card is not PnP, then moving the IRQ in the configuration probably does not change the IRQ used by the sound card, unless you have very smart drivers. In general, DOS/Windows programmers are incapable of writing smart drivers (just an observation). The sound card probably works because the functions you are requesting don't require the interrupt to be correct. You will need to reconfigure the sound card, and then tell Windows 95 to "Add new hardware". The driver probe is probably capable of finding which IRQ the card is on. Just because the Windows 95 properties sheet claims "PnP Configuration" doesn't mean that the driver is being configured by PnP. All that configuration 0 means is "this is where I found the hardware". > > PS: If your BIOS doesn't know this, then FreeBSD isn't > going to be able to know it either... > > But when I run DOS (6.22) and Windows (3.1) on the same system, and tell > them to use IRQ 10 to talk to the sound card, it works just fine. This > works even if the BIOS thinks IRQ 5 is available for PnP. So I assume > the BIOS is OK, and that the FreeBSD code is failing for some reason to > do whatever is necessary to set up the right IRQ. No. Most likely, the sound card is either still IRQ 5, and not using interrupts for the functions you are using on it, or the driver is doing the reconfiguration you should be doing in a "boot to real mode dos" using the utilities diskette that comes with the sound card. Note that once you reconfigure the sound card hardware (and not just the Windows 95 driver's registry data for the card), you will need to tell BSD where it moved (if you are using the card under BSD). See "boot -c" at the boot prompt. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.