Initially the BIOS handles setting up the IRQ's for your cards as the system comes up.
The OS can modify this allocation as needed, within certain limits.
The problem is that you are running up against one of the most often mis-understood
limits.
Here goes:
Yes, as people here will indicate, you can CHANGE the IRQ utilized for a card, -BUT-
in so doing you will not change the assignment of that one card. You will change the
assignment of MULTIPLE devices or slots!
Huh?
PCI was initially designed to handle only three devices. As a result as manufacturers
started adding PCI slots, they took to wiring two or more PCI slots together. Thus
your AGP slot almost always shares an IRQ with the first PCI slot.
Why?
Well in their infinite wisdom, they deemed that if you were using an AGP video card,
you would NOT also be using a video card in slot one and vice versa.
Ugh, so you normally can use one or the other, but not both without resorting to some
trickery called IRQ Steering.
On newer motherboards two or more PCI slots may share an IRQ allocation with
integrated devices. Thus, in your case the PCI slot you put the ethernet card into
WILL ALWAYS share the same IRQ with your motherboard's integrated audio.
NO MATTER WHAT YOU DO, this will be the case. You can change the allocation to say 11,
but now your audio and eth0 will go to 11... ugh.
Your only choice is to move the ethernet card to another slot to avoid sharing
IRQ's..... ISA PNP cards don't suffer from this. In a way they are more flexible with
resource allocation.
If you are using an ISA PNP card you might be able to change the IRQ it uses with
software provided by the manufacturer... This software modifies the "hint" that the
card reports to the bios during boot. The preferred IRQ is stored on the card itself,
and the bios sets up the card to use the IRQ "hinted" at by the on board NVRAM (or in
some cases other forms of non-volatile RAM).
Since you've already stated that you have limited slots available, your only recourse
is to either move things around, remove a device/card, get a new non-conflicting
device or card, or a new computer.
Welcome to the world of IBM based design architecture.
Needless to say this all needs a MAJOR overhaul, but who is going to set the standards?
-JMS
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Svante Signell
Sent: Friday, December 29, 2000 11:15 AM
To: [EMAIL PROTECTED]
Subject: [expert] IRQ steering?
No response so far, trying again.
Anyone knows how IRQ 5 is chosen both for my eth0 (tulip, external
card) driver and sound (maestro, on motherboard) on my Compaq Presario
5640/5670 when other interrupts are available: 4,6,7,9,10,11?
Also the graphics card is allocated to IRQ5:
01:00.0 VGA compatible controller: 3Dfx Interactive, Inc. Voodoo Banshee (rev 03)
(prog-if 00 [VGA])
Subsystem: Guillemot Corporation Maxi Gamer Phoenix
Flags: VGA palette snoop, 66Mhz, fast devsel, IRQ 5
How to steer away one of the units from IRQ 5 to avoid interrupt
sharing/conflicts? In the documentation to both the tulip and maestro driver I
have not found any option to control the IRQ. What unit takes care of
allocating IRQ's if the card driver does not require one, the kernel
or the BIOS?
The BIOS for this computer has very limited number of options, and as
mentioned above the sound hardware is on the motherboard. Also only
two PCI slots are available (one with the ethernet card, the other
with a PCTV card, IRQ 3), so shuffling cards is not much to try.