Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Aug 1997 11:21:39 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        richw@webcom.com
Cc:        terry@lambert.org, smpatel@FreeBSD.ORG, hackers@FreeBSD.ORG
Subject:   Re: Couldn't change IRQ on Creative SB16 PnP
Message-ID:  <199708241821.LAA01206@phaeton.artisoft.com>
In-Reply-To: <Pine.BSF.3.96.970823223454.270A-100000@localhost> from "Rich Wales" at Aug 23, 97 11:32:55 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 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.



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