Interrupt Request (IRQ) Conflicts
If your machine hangs at regular intervals, slows down to a crawl for no apparent reason, and generally behaves as if possessed of a mind of its own, the cause could be a hardware interrupt conflict. When two hardware devices are assigned to the same IRQ, one or both of the devices may decide not to function properly or not function at all.
Tracing IRQ Conflicts
|
|
Symptoms: One or both devices on a shared IRQ will not function. The machine locks up, or will not boot. |
||
|
|
DO NOT modify
your BIOS IRQ assignments. If you have come to this page
after manually assigning IRQs in your BIOS then put the
settings back the way they were and let the motherboard
assign the IRQs automatically. |
||
|
|
If your BIOS
has an option for "Plug and Play Operating System", or
similar, and if it is set to 'Yes' or 'Enabled' then set it
to 'No' or 'Disabled' and
leave it at that setting. XP does not need this option
enabled. |
||
|
|
The overall
goal of IRQ troubleshooting is to track down shared IRQs at
the hardware level, before XP boots, and to avoid having and
add-on cards sharing IRQs with onboard resources. The only
proper solution to an IRQ conflict in XP is to find a slot
for the offending card that is not shared with other
resources. And if you don't have a spare, unshared slot,
either toss the card or toss your motherboard and get
something better and more modern. That is not a joke. Windows XP will reassign BIOS hardware IRQs and set up its own list of shared IRQ vectors, which it does a very good job of. If your machine is locking or a card is not functioning, and if the problem is caused by an IRQ conflict then the conflict is more than likely occurring before XP can assign new IRQs to the devices. What this means is that it is nigh on pointless to consider modifying XP's automatic IRQ assignments, especially since XP will not let you modify some of its assignments anyway, and also because if you override XP's automatic assignments then you are likely to cause more problems for yourself if you add a new device at some later point. You need to determine what slots in your machine share what IRQs. Some BIOS have an option that will list the slots in your machine, along with the IRQ that each slot uses, and if you are lucky, the list will indicate if the slot is shared with onboard resources. However, most modern BIOS have no options at all for managing IRQ assignments. For example, many Intel workstation and server boards use ACPI therefore they do not support modification to IRQ assignments. Manually assigning IRQs in BIOS is generally only applicable to some very old, non-ACPI compliant systems, and if ACPI support is enabled then XP will ignore manual BIOS assignments anyway. If you really must assign IRQ addresses manually in the BIOS on an ACPI-enabled motherboard then you may need to reinstall XP (or do an in-place upgrade) and force it to use the Standard PC HAL. How to force a Hardware Abstraction Layer during upgrade or installation of Windows XP. Also see Manually Assigning IRQs in Windows XP, lower down the page. Some BIOS will list the IRQ configuration at boot time. If you're quick with a camera or know how to use the keyboard Pause button to suspend the processor, you can get a look at the list of IRQs assigned by the system. Conflicts on a shared IRQ for onboard USB and a slot in the motherboard are common, especially if the card is a sound card or internal modem. Check the BIOS IRQ assignments, if possible, and do not put cards in slots that are shared with on-board devices. All BIOS are different so you will have to look for something like "PnP/PCI Configuration", "IRQ Resources", or "PCI IRQ Assignment". Consult the manual for your motherboard. If you cannot find the motherboard IRQ assignments from your BIOS, consult your manufacturer's website or the manual that came with your system. |
|
|