USB and IRQ's
The USB protocol offers fast and seamless connectivity, yet despite its ease of use, problems can arise in the form of IRQ conflicts.
Taking The Bus
USB (the Universal Serial Bus) is our friend. We plug something into a USB port and it works. Plug in your camera and Windows asks you where you want to put the pictures, plug in your mp3 player and your jukebox software miraculously appears to organize your songs. The USB protocol offers fast and seamless connectivity, yet despite its ease of use, problems can arise in the form of IRQ conflicts. "IRQs" is one of those techy acronyms that gets bandied around by IT support people and written into soundcard manuals but of which few people take any real notice. However, understanding IRQs, or InteRrupt reQuesters, can help you avoid problems when using USB with audio applications.
An IRQ literally interrupts the CPU and requests some data - they are like doorways through which various parts of the computer system can ask the CPU questions. So, any hardware device attached to the computer that needs to ask for data, such as video, keyboards, hard drives, and printers, will need an IRQ through which to do it. In the original PC AT made by IBM, there were 15 IRQs built into the architecture. No one ever thought there would ever be more than 15 devices on the AT system bus. Even to this day, there are still only 15 physical IRQs.
The Dark Ages
Up until Windows 98, it was near impossible to interrupt the data bus from more than 15 different devices. Your basic computer system with its many drives, ports and input devices could easily swallow 12 or more IRQs before you've even thought about installing a soundcard or MIDI interface. Then the idea of interrupt sharing came upñthis is known today as "plug and play." For example, if you have a modem in your computer, and you only use it once in a while, then your printer can share the same IRQ as your modem. (Hey, back in the early 1990s, printing when using your modem was unheard of!) Two levels of sharing were developed: completely on/completely off sharing, and interleaved sharing. Today, with Windows XP, it's evolved into the much improved PCI sharing, or APCI mode, which gives the system the illusion of 24 IRQs so you should be able to plug in loads of devices without having to worry about it.
However, we still only have 15 physical interrupts, albeit with a well-advanced, well-tuned PCI bus sharing bridge, fast CPUs, and fast bus speeds. To use these advantages effectively a human being still has to write an efficient driver. Just as much as this greatly improved technology has opened the door to wider and faster highways, it also has upped the requirement for being better at writing drivers.
3rd Party
An audio interface company has the job of not just making a sonically attractive piece of hardware, their drivers need to work well with PCI bus sharing and dynamic IRQ assignments that are now associated with Windows XP. Otherwise, you may experience instability, ranging from your interface disappearing and re-appearing, audio dropouts, or even complete computer lockup caused by different devices attempting to use the same IRQ resources at the same time.
An IRQ literally interrupts the CPU and requests some data - they are like doorways through which various parts of the computer system can ask the CPU questions.
If you go to an audio manufacturer's website and see a lot of driver revisions, don't let that scare youñit can actually be seen as a good sign that they have people working on this. With new chipsets and increasing speeds in busses and components, providing stable drivers is always a work in progress.
If your computer shows any of the above symptoms then you may be suffering from an IRQ conflict, read on!
The Remedy
Windows XP Service Pack 2 has a device rediscovery system that lets you force a renegotiation of device IRQ assignments. There are a number of ways to execute this renegotiation. The most popular method is to boot up in safe mode, go into device manager, and delete conflicting devices in question (Windows Control Panel ñ double click "System" ñ click the "Hardware" tab and click the "Device Manger" button). Conflicting devices are indicated by an exclamation or question mark in the device manager list. You may also delete a device you suspect is operating incorrectly. When you reboot, Windows XP will attempt to rediscover the devices and renegotiate the IRQ and memory assignments.
In some instances, Windows will renegotiate IRQ assignments exactly as it did the time before you deleted it. For example, if a device is programmed at the hardware level to only use IRQs 3, 5, and 10, Windows will be unable to assign numbers other than those. There are certain critical systems, e.g. video, that though the IRQ assignments are not hard wired, they are limited because there are certain IRQ/memory assignments that work better for video than others. Ultimately you may find that in order to reassign a device to another IRQ you may have to physically move the device, such as your soundcard, to a different PCI slot and/or delete additional devices that may be conflicting with the interrupt rediscovery system. One special skill acquired by builders of audio systems is the ability to juggle PCI cards - sometimes when installing multiple soundcards and DSP cards you need a bit of shuffling to find the right order of PCI slots for optimum performance.
Author
Robin Vincent
Robin Vincent runs Rain Recording (UK) out of London and is the CTO of Rain world-wide. In his tenure in the business of PC based audio production he as authored numerous articles, reviews and books on the subject.