April 27, 1998
Solving the PCI IRQ dilemma
By Bob O'Donnell
One of the more frustrating aspects of configuring computers is resolving resource
conflicts. In fact, I think it's the most confounding computer troubleshooting experience
there is. (Of course, the fact that we still have to worry about configuring computers at
all is frustrating itself -- but that's a topic for another column.)
The most common resource conflicts involve interrupt requests, or IRQs, with ISA and
ISA/X-bus-based peripherals found inside PCs. IRQ conflicts have been the bane of
end-users and help-desk personnel for many years but they're becoming increasingly common
because more and more computers are being shipped with few, if any, available IRQs. (See
one of my previous columns, "The case of
the missing IRQs," for more.)
There are solutions for adding more IRQs via additional interrupt controllers, but
they're typically only found in high-end workstations and servers because of the costs and
complexities involved in implementing them. To address this ongoing problem, computer
vendors have instead focused on other technologies, including the PCI bus, that attempt to
sidestep the issue by not using IRQs.
At least, that's what the theory is. In reality, however, PCI devices often do use
IRQs, much to the frustration of those trying to resolve IRQ conflicts. In fact, in many
situations they use multiple IRQs, which makes even fewer available for other devices
(such as Plug-and-Play-compatible ISA cards). Trying to figure out why this is the case
and finding solutions to fix these types of situations has proven to be surprisingly
difficult.
Here's what I've found so far: In a mixed environment of ISA and PCI devices (which
means every PC with PCI slots now available), PCI devices generally have to use at least
one IRQ to maintain compatibility with today's operating systems. Perhaps in the future
when the ISA bus has been banished from existence via the PC 98 and PC 99 specs, PCI IRQs
won't be an issue, but they still are now.
The ability for several PCI devices to share that single IRQ is dependent primarily on
a computer's BIOS. Some BIOSes have settings that let you enable PCI IRQ sharing, but many
do not. In those situations, the BIOS either supports PCI IRQ sharing or it doesn't. If it
doesn't, PCI devices (including the PCI-to-Universal Serial Bus (USB) controller found in
most newer machines) each uses an IRQ. In fact, if you have enough PCI devices, you can
eventually use as many as four individual IRQs, one for each of the four independent PCI
interrupts. If you were somehow able to add a fifth PCI device, it would automatically
share with one of the first four devices. (Actually, the number of IRQs required jumps to
six if you include the dual PCI Integrated Drive Electronics (IDE) controllers found on
most machines. To maintain backwards compatibility with IDE, these devices must be set to
IRQs 14 and 15 and cannot be shared with any other PCI devices.)
You can sometimes work around this in Windows 95 (OEM Service Release 2 or later only),
by turning on an option called IRQ Steering (you'll find it in the PCI Bus setting of the
Device Manager). IRQ Steering and the associated "Get IRQ Table from PCIBIOS 2.1
Call" checkbox allow the OS to help manage the assigning of PCI devices to IRQs,
taking over some of this capability from the BIOS. In my particular situation it didn't
help, however, because my PCI video card and USB controller simply refuse to share an IRQ.
As a result, the only way I can get my extra ISA serial port card to work is by disabling
the USB port -- not exactly what I call an elegant solution.
If you are having PCI IRQ problems, another possible solution I stumbled across is
moving a PCI card to a different slot. On many machines the internal PCI Interrupts
(commonly labeled A-D) are actually assigned to individual slots, instead of individual
cards. Because the PCI Interrupts are each commonly mapped to different IRQs, making this
move can change the IRQ that a PCI card uses.
The fact that PCI IRQ issues don't have more definitive, widely known answers is
astonishing to me, given how many people are running into these types of problems. Then
again, I guess it just proves once again how far we still are from truly user-friendly
PCs. Now where is my Macintosh ... .
©
Copyright 1998, by InfoWorld Publishing Corp., a
subsidiary of IDG Communications, Inc. Reprinted from InfoWorld,
155 Bovet Road, San Mateo, CA 94402. Further reproduction is prohibited.