info on IRQ conflicts

Tips and advice for getting the most from Scope. No questions here please.

Moderators: valis, garyb

Post Reply
endre70
Posts: 121
Joined: Thu Nov 14, 2002 4:00 pm
Location: All over the place.

info on IRQ conflicts

Post by endre70 »

Hi good people!

It's been a long time since I have visited these pages due to troublefree Scope cards... :lol: Bought a Ozonic the other day for my home computer and came over some info about IRQ conflicts on the m-audio site. Remembering how much I struggled with those things in my early Pulsar days I thought I should post the info here. I know some of the new guys will need this. So here you are:


IRQ Troubleshooting (XP/Vista)
Text size [-] [+]

IRQ conflicts can cause a variety of problems such as pops, clicks, crackles, dropoupts, or distoration in the audio; problems with device installation and recognition; and causing a device to stop functioning after a period of use. This article explains in detail, IRQ function and how it relates to your M-Audio device, and offers troubleshooting tips for overcoming IRQ conflicts. This article is separated into 4 sections:

* About IRQs
* Viewing your system’s IRQs
* Understanding IRQ Assignments
* Troubleshooting IRQs
o Disabling Onboard Devices in the BIOS
o Disabling Devices in the Windows Device Manager
o Moving PCI / PCI Express Cards


About IRQs

Every Windows computer has a limited amount of physically present resources that it can assign to the different hardware devices that you install into your computer or attach to it. The most important type of these resources is the IRQ or Interrupt Request. Your computer has one or more CPUs (central processing units) which are the work horse in your computer. These CPUs have to handle everything your computer does - from what is displayed on your screen to calculations for the software you are running; along with many, many other things. It will also have to process the audio and MIDI data you are sending to and from your M-Audio device. IRQs (interrupt requests) are numbered from 0 to 15 and organize the installed hardware into a hierarchy that determines how and when they are able to “interrupt” the CPU and give it a new task.

All of the audio and MIDI that you play back or record using your computer must be processed by the computer's CPU(s). For example, processing audio works like this: Once the sound card's IRQ has been called up by a CPU, it will send a block of audio to the CPU for processing. After the CPU is done with the necessary calculations, it will send the block of audio back to the sound card before it begins working on another task (e.g. graphic display, etc.) The blocks of audio received by the sound card are temporarily stored in a "buffer", and the audio data will be sent from there to the sound card's outputs so you can hear it. If the sound card has to wait too long until it is allowed to interrupt the CPU to send/receive the next block of audio, the buffer will run out of temporarily stored audio and the sound card won't have anything to play back. When this happens you will hear a popping sound or crackling until the CPU allows the sound card to send/receive the next block of audio. In some cases, these interrupts can also cause the device to drop off the bus and stop functioning, requiring a system restart to regain functionality.

If your computer is fast enough and the M-Audio device is assigned a unique IRQ (interrupt request or better "interrupt permission") that doesn't share with anything else, audio should record and playback without any resource related pops, clicks, crackles, or distortion. If you do experience any pops, clicks, crackles, or distortion, you may need to increase the size of the buffer mentioned above. This buffer (latency) can be changed from the control panel for your M-Audio device. The exact method for changing the buffer (latency) setting is explained in your device’s user guide.

Most new computers have so many devices that they cannot assign an individual IRQ to every device. The system then assigns the same IRQ to more than one device. Those devices will have to share the priority when interrupting the CPU and will have to "fight" over who can talk to the CPU first. Although the sharing of IRQs is OK with most devices, it can be a problem for audio and MIDI devices. This results in the device not getting as much audio or MIDI data processed by the CPU as necessary, resulting in pops, clicks, crackles, dropouts, or distortion; and in some cases, causing the device to stop functioning. In other situations, IRQ conflicts can prevent drivers from installing, a device from being recognized by the system; or applications from being able to recognize and use the device.

Windows is limited to 16 physical IRQs (numbered 0 to 15), and uses virtual IRQs (16 and above) to internally manage the interrupt request assignments for additional devices. These virtual IRQs are shared with one of the 16 physical IRQs (0 to 15); however, Windows manages this internally and does not show you which actual physical IRQ it shares. Although the M-Audio device might show on its own virtual IRQ, it will most likely share a physical IRQ with another device, invisible to you.

If the M-Audio device is showing on the same IRQ with two or more other devices, but below the number 15, Windows simply decided to show the devices on the same IRQ and stay within low number instead of adding higher and higher virtual IRQ numbers. No matter which way Windows is handling the IRQ assignment - an audio or MIDI device sharing resources with another device can cause problems.

Viewing your system’s IRQs

Follow these steps to view the IRQ assignments on your system:

XP:
1. Click the Start button, and then click Run
2. In the dialog box that appears type “msinfo32” (without the “ “)
3. Click OK to open the System Information Utility
4. Click the + to expand Hardware Resources
5. Click IRQs

Vista:
1. Press the “Start” (Windows) + R to open the Run dialog box
2. In the dialog box that appears type “msinfo32” (without the “ “)
3. Click OK to open the System Information Utility
4. Click the + to expand Hardware Resources
5. Click IRQs

Below are examples of a system’s IRQ list:

XP:


Vista:




Understanding IRQ Assignments

Your M-Audio device will be displayed in the IRQ list by the means in which it connects to the mainboard of the computer. If you have an M-Audio FireWire interface you will be looking for the "OHCI Compliant IEEE 1394 Host Controller" in the IRQ list (see above). If you are using an M-Audio USB device, you will be looking for the "USB Host Controllers" (there should be several of these). Only M-Audio PCI cards, such as the Delta and Revolution series cards, will appear by name in the IRQ list. This is because they connect directly to the mainboard.

When viewing the IRQ list in the System Information Utility you will see a list of devices installed in your computer, and to the left is the IRQ assigned to them. Locate your device (Delta/Revolution) or the controller(s) (FireWire/USB) that your M-Audio device is connected to and check the assigned IRQ. Since there is no easy way to identify which specific USB controller your M-Audio USB device is attached, check the assigned IRQ for all USB Host Controllers. Ideally the M-Audio device or the port connecting the M-Audio device is the only device on an IRQ lower than number 15. However, on many new computers, there are more devices than available IRQs; and because of this, the IRQ associated with the M-Audio device will likely be virtual. Below is a list of standard IRQ assignments and a brief description of devices that are commonly found on the IRQ:

IRQ 0 - System timer (unable to be assigned to anything else)

IRQ 1 - Keyboard (unable to be assigned to anything else)

IRQ 2 - Redirect to IRQ 9, IRQ 2 is internally shared with IRQ 9. Also Cascade interrupts for IRQ 8-15.

IRQ 3 - COM 2 and COM 4 - commonly used for the interrupts of the second and fourth COM ports (shared with virtual IRQ devices)

IRQ 4 - COM 1 and COM 3 - commonly used for the interrupts of the first and third COM ports (shared with virtual IRQ devices)

IRQ 5 - Often used for the internal sound card (shared with virtual IRQ devices)

IRQ 6 - Often used for the floppy disk controller (unable to be assigned to anything else)

IRQ 7 - First parallel port (shared with virtual IRQ devices)

IRQ 8 - Real Time Clock (unable to be assigned to anything else)

IRQ 9 - Open Interrupt, available for peripheral devices, shares with IRQ2

IRQ 10 - Open Interrupt, available for peripheral devices (shared with virtual IRQ devices)

IRQ 11 - Open Interrupt, available for peripheral devices (shared with virtual IRQ devices)

IRQ 12 - P/S2 mouse, can be used for other devices if the P/S2 mouse is disabled

IRQ 13 - ISA, Co-processor (unable to be assigned to anything else)

IRQ 14 - Primary IDE channel, can be assigned to other devices if no IDE device is enabled

IRQ 15 - Secondary IDE channel, can be assigned to other devices if no IDE device is enabled

IRQ 16 through IRQ 24 – Virtual IRQ

The virtual IRQ are shared assignments of IRQ 3, 5, 7, 10, and 11. It is not shown which devices in the virtual IRQ are assigned to which physical IRQ and sometimes these assignments can change depending on the resource needs of the system. This is one of the reasons it is not desirable to have an audio or MIDI device on a virtual IRQ. Additionally, higher physical IRQ assignments are higher priority for the CPU. This is why hard drive controllers are normally assigned to IRQ 14 and 15; but with most virtual IRQs being assigned to a lower number physical IRQ, the priority of devices assigned a virtual IRQ are lower than many other devices on the system. This is another reason that it is not desirable to have an audio or MIDI device on a virtual IRQ.

Some mainboards predetermine which devices will share resources in the virtual IRQ. This information can be found in the user guide of the mainboard. An example of this information is shown below:





There are a number of special cases that need to be mentioned here:

1. On many mainboards, IRQ 9 is internally shared with IRQ 2, although it won't show here that it is shared. If an M-Audio device is assigned IRQ 9, you probably need to fix this.

2. On some systems, the Video- or Graphics Cards are not displayed in this list. Typically the IRQ for these devices is either number 10 or 11. If the M-Audio device is on IRQ number 10 or 11 and your video/graphics card isn’t listed, then there is a good chance you have those two devices conflicting.

3. Some IRQs are reserved for mandatory system devices and are always in use - no matter if they are listed here or not. Typically these IRQs are the numbers 0, 1, 2, 6, 8, and 13. These IRQs cannot be used for the M-Audio device, nor any other device added to your PC.

Troubleshooting IRQs

As explained earlier, problems such as a device ceasing to function, pops and clicks, or a device failing to install or be recognized by an application, can be caused if installed devices have to (in simple terms) "fight" for the attention of the CPU. Although the IRQ list doesn't always clearly indicate which other device(s) your M-Audio device must "fight" with, these types of problems tell us that it does. Understanding the concept of IRQs, you will probably think "Why don't we just manually assign an IRQ to the M-Audio device to ensure it's on its own?" Unfortunately, ACPI (the system in Widows that manages the IRQ) doesn't allow this. This means we have to use tricks to get this issue resolved.

To begin we need to make sure that there are enough free resources available on your computer. The easiest way to do this is to disable devices on your computer that you are not actively using. This limits the number of devices fighting to access to a CPU. Fortunately, there are a number of things in most computers that are activated by default which you are probably not using. There are two ways to disable hardware devices in your computer - through the computer’s BIOS (Setup) or through the Windows Device Manager.


Disabling Devices in the BIOS

WARNING: Some Computer Manufacturers may void the warranty if you make changes in the computer's BIOS! Please check with the manufacturer for details on their warranty policy.

WARNING: DO NOT disable any device unless you are sure about how it will affect your system. When in doubt, contact your computer manufacturer.

Because BIOS menus, options, labels, and interfaces differ from system to system, this section only serves as a general guide for disabling unused devices from your computer’s BIOS. Please refer to your computer or mainboard’s user manual for information specific to your system.

Disabling devices through the Computer's BIOS (Setup) is the preferred method. Additionally, there may be one or more reserved IRQs in the BIOS that are not available for Windows at all, so you may be able to provide more resources, simply by un-reserving these IRQs. The BIOS (this is an acronym for "Basic Input Output System") is like a Mini-Operating System that is stored on a physical chip on your computer's mainboard. Generally, you can access the BIOS right after turning on the power of your computer. On custom built computers you can usually access the BIOS by pressing the "del" (delete) key right after powering on the computer.

If you have a brand name computer like Compaq, Dell, Gateway etc., you may have to get rid of the Startup Screen that displays the brand name. In most cases pressing the "Esc" (escape) key will make this screen disappear. On some machines it might also be the Spacebar, F1 or F2. Most computers display which key you would have to press to get rid of this screen. Once you get past the brand name splash-screen (which occurs within about the first 10 seconds after powering-on), you will have to press another key to access the BIOS (sometimes called "Setup" if displayed on screen at this point). For detailed instructions to access the BIOS of your computer, refer to the mainboard’s user manual, or contact the manufacturer.

What you are looking for in the BIOS depends on the brand and model, but can usually be found in a BIOS category like "Advanced" and "I/O Configuration" or "Chip Configuration", etc. In these categories you will find the active devices and should have an option to “disable” these devices. Refer to the mainboard or computer's manual, or contact the computer manufacturer for details on disabling devices from the BIOS (Setup). Most manufacturers limit the devices that can be disabled in the BIOS; devices that are not accessible in the BIOS can be disabled in the Windows Device Manager. Two examples of BIOS device menus are shown below:







Once you are done making the desired changes in the BIOS, press "F10" to save the changes and then select "Yes" to verify saving the changes. If you don't want to save your changes, then repeatedly hit escape until your computer reboots (you might have to select "Yes" when "exit without saving" is displayed). Again, consult the user’s manual or contact the manufacturer for exact instructions.


Disabling Devices in the Windows Device Manager

WARNING: DO NOT disable any device unless you are sure about how it will affect your system. When in doubt, contact your computer manufacturer.

To disable devices that you don’t have access to in the BIOS, use the Windows Device Manager instead. Though not the preferred method, it should work fine in most cases. Follow these steps to access the Windows Device Manager:

XP:
1. Click the Start button, and then click Run
2. In the dialog box that appears type “devmgmt.msc” (without the “ “)
3. Click OK

Vista:
1. Click Start
2. Click Control Panel
3. With Classic View enabled, double-click Device Manager




The Windows Device Manager lists all devices installed on your computer and organizes them by category. Categories are identified by a plus (+) when collapsed, or minus (-) when expanded. Clicking a plus (+) opens a category and displays the included devices. The process of disabling devices from the Windows Device Manager is the same for all devices. Here is an example of how to disable the computers Parallel Port 1 (LPT Port 1):

1. Click on the plus next to the category "Ports (COM & LPT)"

2. Right-click the entry "Printer Port 1 (LPT1)"

3. Click Disable

4. When the message "Disabling this device will cause it to stop functioning..." appears, click Yes.

The device will now be displayed with a red X over its icon, indicating that it has been disabled.


Recommended devices to disable include built-in sound cards (located under Sound, video and game controllers), Network Adapters (Ethernet & Wireless controllers), Modems, Bluetooth, and any unused COM ports.

WARNING: DO NOT disable any device unless you are sure about how it will affect your system. When in doubt, contact your computer manufacturer.

Some items that should never be disabled or un-installed are:

- System Timer (always IRQ 0): Mandatory. Cannot be disabled or shared.
- Computer Keyboard (always IRQ 1): Mandatory. Cannot be disabled or shared.
- Interrupt Controller (always IRQ 2): Mandatory. Cannot be disabled or shared
- System CMOS / Real Time Clock (always IRQ 8): Mandatory. Cannot be disabled or shared.
- Numeric Data Processor (always on IRQ 13): Mandatory. Cannot be disabled or shared.
- Display adapters: Mandatory. This represents the screen you are looking at.
- Processors: Mandatory. The processor runs your computer.

After disabling the unused devices, restart your system. Test your device to see if the problem (pops/clicks, device not installing, device ceasing to function) is resolved. If you have a USB device, test your device on all USB ports. Disabled devices can easily be enabled as needed. For example, if you need the Wireless controller to access the Internet, right-click your Wireless controller from the Windows Device Manager and select Enable.


Moving PCI / PCI Express Cards

If the IRQ assignment is still the same or you still experience problems, we recommend the following: For FireWire devices and USB devices, installing a PCI / PCI Express expansion card with those port connections will most likely be assigned a different IRQ. A PCI / PCI Express card also has the added advantage of being able to be moved to different slots in the computer which are often assigned different IRQs and share different resources. Delta and Revolution Series cards may also be moved to different PCI slots if they are currently installed on one which is sharing resources with another device. Below are instructions for moving PCI / PCI Express cards in your computer. If you are not comfortable with moving cards inside your computer, it is advised to have this done by a qualified PC technician.

1. Shut down your computer completely.
2. Unplug the power cord.
3. Open the computer and touch a blank spot on the metal chassis to discharge any possible static electricity (static electricity can damage electronic devices)
4. Physically remove card (if it is already installed).
5. Re-connect all computer cables and start the computer (without the card installed)
6. Shut down the computer.
7. Unplug the power cord.
8. Touch the computer's metal chassis again to discharge any possible static electricity.
9. Install the card.
10. Connect all wires.
11. Start the computer.

Check if the IRQ assignment has changed and to see if the problem persists. If the problem is still there, you might have to repeat the process above and move the card to another PCI slot; or you may have to disable more devices in your computer that you are not using. Intermediately and after making changes, restart and test again.

In most cases, providing free resources by disabling unused devices in combination with moving the card to other PCI slots should resolve the problem. In some very, very rare cases, you might still be stuck with an IRQ conflict and it might take more extreme measures to get rid of this problem.


Cheers
Endre70
dawman
Posts: 14368
Joined: Sun Jul 24, 2005 4:00 pm
Location: PROJECT WINDOW

Re: info on IRQ conflicts

Post by dawman »

Excellent Contribution, something very positive and useful.
Post Reply