Has anyone had a problem similar to this?
DRIVER_IRQL_NOT_LESS_OR_EQUAL. The error reports as happening in the file NDIS.SYS. The error also reports that the machine is BEGINNING DUMP OF PHYSICAL MEMORY.
PC Support Technician:
It seems most problems associated with NIC's - especially when running on 2000 / XP - are interrupt based. Win2000 / WinXP has special problems because Microsoft's default configuration is to assign all, or as many as it can, devices to a single interrupt, #9, and then 'load balance' from there.
'Load balancing' means to service the interrupts logically - that is, by software via the OS - rather than via hardware. One hardware interrupt and when activated the OS finds out which device is asking for service and via software answers that device.
The only, major problem with that is the bandwidth that the video subsystem and network interfaces use from the system total - they are both DMA capable, high bandwidth devices that therefore require a high level of servicing from the interrupt system. And since the interrupt system on 2000 / XP machines is software based the OS, at one time or another, cannot keep up with the demand (Windows was never designed to operate as a real-time OS) and the device fails - and takes down the entire system.
The solution, for a number of people's problems, it to make sure Windows is not IRQ sharing anything else important with the NIC. Now, some NIC chipsets are pickier about the IRQ level set than other, but on the whole I have personally found that IRQ 9, 10 or 11 are the only IRQ's that almost never give trouble to a NIC that are on them - once any IRQ sharing issues and driver update problems are resolved.
If your NIC is IRQ sharing and you are having problems I may suggest trying to change the interrupt of that NIC, or move the other device's IRQ off the NIC, first.
Now, that could be a chore in itself. Try removing the network stack and the NIC's entry in Device Manager, shut down, pull the NIC out completely, reboot, shut down, reinstall NIC, restart.
When computers start they report the BIOS IRQ settings at the first set of boot screens, before the Windows 'splash screen'. If you have problems reading it just hit the 'Pause Break' key when necessary to pause the boot sequence - hit 'Enter' to continue. Some computer BIOS's have their own splash screen to cover the POST screen output - 'Tab' sometimes works to turn that off temporalily - see you BIOS setup or motherboard manual.
If the BIOS is setting the NIC at a shared IRQ then Windows will probably keep it there, if only for convenience. In that case either move the NIC to a different slot, or if available, go into the PCI setting page of the BIOS and see if you can change which IRQ the BIOS is assigning to the slot that the NIC is in. Not all motherboards allow this.
Getting Windows to change a IRQ that it wants to use sometimes is just about as easy as bringing Elvis back to life. But, if the system is unstable because of the NIC and the NIC is IRQ sharing, moving that IRQ will most likely help immensely.
I am trying different things, I just posted this hoping one of you knows what is up or has solved a similar problem.
And yes, I have USB, Realtek NIC, Netgear NIC, TNT2, and Creative Audio all on IRC9
MS Knowledge Base
General Description of IRQ Sharing in Windows 2000
The information in this article applies to:
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional
This article was previously published under Q252420
For a Microsoft Windows XP version of this article, see 314068.
NOTE: This article is for informational use only. It does not contain any troubleshooting information. If you are searching for troubleshooting information that is not mentioned in this article, search the Microsoft Knowledge Base again by using keywords that are listed in the following Microsoft Knowledge Base article:
242450 How to Query the Microsoft Knowledge Base Using Keywords
In Windows, peripheral component interconnect (PCI) devices can share interrupts (IRQs) by design. Per the Plug and Play capability that is defined by the PCI specification, adapters are configured by the computer's BIOS, and are then examined by the operating system and changed if necessary. It is normal behavior for PCI devices to have IRQs shared among them, especially for Advanced Configuration and Power Interface (APCI) computers with Windows ACPI support enabled.
In Windows, some or all of the devices on your ACPI motherboard may be listed when you view the resources in Device Manager as using the same IRQ (IRQ 9) (to view the list of resources click either Resources by type, or Resources by connection on the View menu). You cannot change the IRQ setting because the setting is unavailable. This occurs because Windows takes advantage of the ACPI features of the motherboard, including advanced PCI sharing. IRQ 9 is used by the PCI bus for IRQ steering. This feature lets you add more devices without generating IRQ conflicts.
Note that Windows 2000 does not have the ability to rebalance resources in the same way that Microsoft Windows 98 does. After PCI resources are set, they generally cannot be changed. If you change to an invalid IRQ setting or I/O range for the bus that a device is on, Windows 2000 cannot rebalance the resource it assigned to that bus to compensate. Windows 2000 does not have this ability because of the more complex hardware schemas it is designed to support. Windows 98 does not have to support IOAPICs, multiple root PCI buses, multiple-processor systems, and so on. Rebalancing becomes risky when you are dealing with these hardware schemas, and will not be implemented in Windows 2000 except for very specific scenarios. However, PCI devices are required to be able to share IRQs. The ability to share IRQs should not prevent any hardware from working in general.
The Plug and Play operating system settings in the computer's BIOS should not affect how Windows handles the hardware in general. However, Microsoft recommends that you set this setting to "No" or "Disabled" in the computer's BIOS. For information about viewing or modifying your computer's BIOS settings, consult your computer's documentation or manufacturer.
Manually assigning IRQs to PCI slots in the System BIOS as a troubleshooting method may work on some non-ACPI systems when using a standard PC HAL, but these settings are ignored by Plug and Play in Windows if ACPI support is enabled. If you need to manually assign IRQ addresses through the BIOS to a device on an ACPI motherboard, you will need to re-install Windows to force the installation to use a Standard PC HAL. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
216251 How to Specify a Specific or Third-Party HAL During Windows 2000 Setup