Let's say you have a user that adds a sound card and a network card to a PC. Sound card: IRQ=5 ; IO address 300-330 and the NIC's IRQ is 2; IO address is 310-340. Upon boot up the PC complete locks up. Why?
A) The NIC cannot use IRQ2; it is a reserved IRQ B) A Buggy device driver C) IRQ conflict between the sound card and NIC. D) I/O address conflect between the sound card and NIC.
What is the correct answer and why? I'm studying for my A+ certification and rather than memorizing questions, i would prefer to understand the concept behind the answer.
Source: Mike Meyer's A+ Certification Passport 2002 Ed.
#1. "IRQ 2 is reserved and can not be used" In response to _Chewy_ (Reply # 0) Tue Mar-11-03 11:24 AM
Even though you can not see it in Device Manager, IRQ 2 is used along with IRQ 9 (it is called "cascading") to call for higher IRQ numbers (IRQ 9 is also called "secondary IRQ controller"). If you keep # 2 busy with the NIC card, the concurrent use of other IRQs may cause conflict. You can call it an "indirect" conflict among both cards.
>D) I/O address conflect between the sound card and NIC. > >300-330 and 310-340 are Ranges of I/O addresses so they >overlap. > >I have never seen a problem with a device in IRQ 2 if IRQ 9 >is not used, any device in IRQ 2 is going to appear to the >system as IRQ 9 >
Bernard's answer to the OP's question is of course correct regarding the I/O ranges overlapping. However, the rest of his response can be a little bit misleading...
As was stated by Ropera, IRQ2 is used as a cascaded input to the primary interrupt controller. This began when the ISA slot was modified from its 8-bit configuration into its 16-bit version. At that time, the ISA slot pin for IRQ2 (Pin B4) was reassigned to IRQ9 -- but only for the 16-bit version of the ISA slot! This could -- and did -- lead to IRQ problems as explained below.
In many systems that used a mix of 8-bit and 16-bit ISA slots, it was possible to inadvertantly block the use of IRQ9 by installing a hardware device into an 8-bit slot if that device was configured to use IRQ2. If that same device was installed into the 8-bit portion of a 16-bit ISA slot, it would use IRQ9 even though the device was set to IRQ2. Having such a device configured as above and installed into an 8-bit slot would preclude the concurrent use of IRQ9. Further, if such a device were to be configured and installed in that manner -- in an 8-bit slot and using IRQ2, it would also cause problems with any devices using the higher (16-bit) IRQ's that are managed by the scondary interrupt controller, as those interrupts are passed to the CPU via the cascaded input through IRQ2.
Fortunately, this problem has all but gone away. This is due to:
the development and implementation of the PCI slot;
the development and implementation of advanced mainboard chipsets;
the development and implementation of ACPI-compliant BIOS'es;
the development and implementation of ACPI-compliant operating systems; and
the phasing out of ISA slots -- both 8-bit and 16-bit
To read more about how IRQ's work in a basic (pre-ACPI) system, click here.
Hey, i got another question fer ya. (since you're so good at these things). How do you install a non-PnP NIC in a desktop PC? In that book i quoted above, the author sort of makes it confusing:
quote: ---------------------------------------------------------------------- ...with legacy NICs, the card first needs to be configured using its setup program, which usually means first booting to Safe Mode Command Prompt Only (in Windows 9x) to run the configuration program that came with the NIC. After setting up the NIC's I/O address, IRQ, and so on, you restart Windows, install the NIC's driver, and manually set the system resources for the NIC in the Device Manager." ----------------------------------------------------------------------
That last part of the sentence is what confuses me. If you've already set up the I/O & IRQ in safe mode, why would you need to go through the Device Mangler to "...set the system resources" ??? The system resources ARE the I/O address and IRQ and so forth. Is he just repeating himself??
And then it just gets even worse. In the immediate paragraph that follows, he says:
quote: ---------------------------------------------------------------------- After you've installed the card, you can then install the drivers manually. Click the Add New Harware icon in the Control Panel. Although Windws finds a legacy card automatically, it's usually faster to do the install manually....
He just get done explaining how you should configure the card in safe mode using the setup program that comes w/ the NIC and then he adds that last paragraph. Is he merely giving an alternative method to the safe mode first mentioned?
Generally speaking, the setup program that ships on the driver disk with a non-PNP NIC is used to choose from the various possible configurations supported by the card, and then to write the chosen selections as "active" on an EEPROM on the card. This is a "software" method used as an alternative to manually setting jumpers or switches on the card, and it serves the same purpose -- it configures the card to use the selected resources. Some NIC's also must be set there as to media tyupe -- UTP or coax.
After the configuration of the card itself is accomplished, the card must then be "set up" in Windows -- in other words, the device must be added to the hardware tree, and Windows must be told what resources the card is set to use, and the driver must be installed and bound.
As a little bit of expansion upon what I just posted...
The installation of a non-PNP jumperless NIC involves the following discrete processes:
physical installation (placement) of the card in a system expansion slot;
software configuration of the card -- definition of the system resources (IRQ and Base I/O Address) that the card will use and definition of the media type and boot options if applicable -- normally done from a Safe Mode Command Prompt boot-up;
installation of the card to the operating system -- e.g. software addition of the card to the hardware tree;
software configuration of the card within the operating system -- e.g. assignment of legacy resources to the card and installation of the driver; and
configuration of the network around the card -- e.g. installation and configuration of network client(s), protocol(s) and service(s) and identification of workstation on the network.
Hope this makes some sort of sense to you. Just think of the initial "configuration" of the card to be the same (it is the equivalent process) as setting DIP switches or jumpers prior to placement of the card into its slot.