Before later versions of Windows (Windows 95 and up) simplified hardware configuration, messing with IRQs (Interrupt Requests) was one of the most dreaded issues for computer users to tackle. Plug and Play was invented primarily to make IRQ headaches go away by making the process of adding and configuring peripherals automatic, although the technology went through early growing pains that caused many users to dub it Plug and Pray. Today, Plug and Play is much improved, so adding hardware peripherals is usually a straightforward and automated process. Nevertheless, the potential still exists for hardware issues caused by IRQ conflicts to rear their ugly heads from time to time, especially for those folks who are still using older versions of Windows, such as Windows 98 or Windows ME. In that case, a methodical, patient troubleshooting approach is the best way to get through a rough patch with IRQs.
IRQ Basics Communications in a computer take place via a network of wires, called a bus, that ties all of the PCs components together. This way, the CPU and all peripherals are able to communicate with each other and provide you, the user, with a smooth computing experience. Your CPU is usually busy performing a number of tasks at any one time. But there are times when peripherals connected to your computer, such as keyboards, mice, or modems, require the CPUs attention to get something done. When this happens, the peripheral sends a signal to the CPU that says, I need attention. At that point, the CPU temporarily saves whatever its working on and performs the task requested by the peripheral. Essentially, the peripheral interrupts the CPU so it can capture its attention. These electronic signals are transmitted to the CPU via the aforementioned bus and are prioritized according to a numerical order. This prioritization is necessary so the CPU can determine which of two simultaneous interrupts to tend to first. So, an interrupt from the keyboard (assigned IRQ 1) receives higher priority than an interrupt from your floppy disk controller (assigned IRQ 6).
Working Status Different types of devices connected to your PC are assigned different IRQs, depending on what they are. In Windows XP, if you open Control Panel (lets assume youre in Category view) and drill down to the Device Manager, you can see all of the various devices connected to your computer. In Vista, click the Start orb and then click Control Panel. When the Control Panel opens, click System And Maintenance and then click Device Manager (which is near the bottom of System And Maintenance's list of tools). Click the Continue button if the UAC (User Account Control) window appears. At this point, you can see a list of your system's devices in the Device Manager. You know things are working properly when there are no yellow-and-black exclamation mark icons to the left of any devices. These icons indicate there is a problem with your hardware, and sometimes, these problems are IRQ-related. In general, IRQ issues are deceptively simple: If two devices share the same IRQ, a conflict will occur. The end result is that one or both of the devices wont work, and Windows will indicate that condition via the black-and-yellow exclamation mark. So, the trick to solving IRQ issues is to get Windows to assign one of the devices involved a different IRQ. The introduction of the PCI bus into computing added another wrinkle to the IRQ madness: Beginning with Windows 95 OSR2, a technology called PCI (Peripheral Component Interconnect) bus IRQ steering allowed multiple PCI devices to share IRQs. Also, this technology allowed Win9x versions to change IRQ assignments on the fly if the need arose. For example, if you added an ISA (Industry Standard Architecture) card to your system that was assigned the same IRQ as another device in your system, Win9x (except for Win95 OSR1 and earlier) could automatically resolve the IRQ conflict. Now, lets take a look at a few IRQ problems and possible solutions.
IRQ Fixes Problem: You just added a new internal hardware peripheral, but it doesnt work. In WinXPs Device Manager, Windows displays a black exclamation mark within a yellow circle to the left of the device name. Solution 1: The possible culprit here is an IRQ conflict; if the new device somehow appropriates an IRQ that is assigned to another device, a conflict will occur and one of the devices, and possibly both, wont work. If you have a fairly modern computer that is ACPI-compliant, WinXP/Vista will not allow you to manually change the IRQ settings. ACPI stands for Advanced Configuration and Power Interface and is a technology that allows the operating system (i.e., Windows) to decide how much electrical power should be provided for each device attached to your computer. If a device is idle and not in use, for example, ACPI allows Windows to allocate it less power than to a device thats active and in use. The best thing to do here is move one of the devices (either the new device or the old device it is conflicting with) to a new PCI slot in order to force WinXP to automatically assign either device a new IRQ. At worst, you may be forced to remove one of the devices from your system or simply live with an IRQ conflict.
 A Windows ACPI (Advanced Configuration and Power Interface)-compliant computer will indicate it is so under the Computer branch in Device Manager. In an ACPI system, IRQ (Interrupt Request) assignments cannot be manually changed. | In Win9x, you can manually change IRQ settings for a device. To do this, click Start, Settings, and then Control Panel. Double-click the System icon and then click Device Manager. In Device Manager, double-click the branch that corresponds to the affected device to expand it and then double-click the entry for the affected device. Click the Resources tab and then clear the Use Automatic Settings checkbox by clicking it. In the Settings Based On selection box, click a configuration containing an IRQ that doesnt conflict with any other device. For example, if your device is conflicting because it is assigned IRQ 9, you may be able to select a configuration that gives the device an assignment of, say, IRQ 8. There will be a number of choices to select in the selection box, so be sure to choose one that wont conflict with anything else. |
 In Device Managers Resources by Connection view, expand the IRQ (Interrupt Request) branch to see each of the IRQs in your system and the specific devices they are assigned to. Notice that IRQ 9 covers all of the elements under ACPI (Advanced Configuration and Power Interface). | Solution 2: In some cases, IRQ conflicts may be caused by the presence of multiple entries in the Device Manager for the same peripheral. The easy way to solve this issue is to enter Device Manager and remove duplicate devices. Click Start, point to Settings, click Control Panel, and double-click the System icon. Click the Device Manager tab and then double-click the branch containing the duplicate entry for a device. Click the duplicate device name and then click Remove to get rid of it. Problem: Win9x hangs or automatically reboots, or a peripheral connected to the computer does not work. Solution: Win9x, as you know, is capable of automatically reassigning IRQs. But sometimes the process Win9x goes through to automatically resolve IRQs doesnt work as intended, causing unexpected issues. To resolve this type of problem in Win9x, it may be necessary to disable PCI bus IRQ steering. To do this, click Start, point to Settings, click Control Panel, and double-click the System icon. Click the Device Manager tab and, within the tree of devices, double-click the System Devices entry to expand the branch. Within the System Devices branch, double-click PCI Bus and then click the IRQ Steering tab. Clear the Use IRQ Steering check box by clicking it then click OK twice. When prompted, restart your computer. Problem: You get stack overflow errors in Win9x. Solution: Windows allocates certain areas of memory, called stacks, to run hardware-related programmatic routines, such as interrupts. When a stack overflow occurs, that is Windows cryptic way of telling you that there is not enough memory (i.e., stack) space to run what Microsoft calls a hardware interrupt routine. One of the causes behind this issue is an IRQ conflict, specifically the dreaded COM2/COM4 or COM1/COM3 communication ports conflicts. These usually handle devices, such as mice, connected through the computers serial ports. Sometimes, adding one of these devices will result in the same IRQ getting assigned to the new device as an existing device in your system. So, the solution to this issue is to either change the IRQ or disable or remove the conflicting device. by Sixto Ortiz
|