DRIVER_IRQL_NOT_LESS_OR_EQUAL, the blue screen, explained and fixed

This stop code (0x000000D1) means a driver tried to access memory at an interrupt level (IRQL) where that memory is not allowed to be touched, for example paged memory during a hardware interrupt. Translated: a driver did something memory-unsafe, and Windows stopped the system before it could corrupt anything. It is the driver-specific sibling of the more general IRQL_NOT_LESS_OR_EQUAL (0xA).

The fix, in order

  1. Read the file name on the blue screen. This crash usually names its driver, a .sys file. Network drivers (Wi-Fi and Ethernet), graphics drivers, and the filter drivers installed by VPNs and antivirus products are the repeat offenders.
  2. Update that driver from the manufacturer. Use the PC maker’s or the component maker’s site (Intel, Realtek, NVIDIA, AMD, the laptop brand), not Windows Update alone and never a driver-updater app.
  3. Or roll it back. If the crashes started after a driver update, Device Manager → the device → Properties → Driver → Roll Back Driver, then restart and test.
  4. Temporarily remove VPN and third-party antivirus software. Their network filter drivers sit directly in the path this crash takes. Windows Security provides cover while you test.
  5. Test in Safe Mode with Networking off. If Safe Mode is stable, enable devices and services back in groups to isolate the driver. Hold Shift + Restart → Troubleshoot → Advanced options → Startup Settings for Safe Mode.
  6. Run the file repairs and a memory test. DISM /Online /Cleanup-Image /RestoreHealth, then sfc /scannow, then Windows Memory Diagnostic. Corrupt files and bad RAM can both masquerade as a driver bug.

If it still happens

If the crash survives driver updates and removals, turn on Driver Verifier only if you are comfortable reading its results, it deliberately stresses drivers and will blue-screen a guilty one by name (see the DRIVER_VERIFIER_DETECTED_VIOLATION page). Otherwise check drive health with chkdsk /f and use System Restore to return to a state before the crashes.

Common questions

Is DRIVER_IRQL_NOT_LESS_OR_EQUAL different from IRQL_NOT_LESS_OR_EQUAL? Yes, slightly. 0xA (IRQL_NOT_LESS_OR_EQUAL) is the general code for accessing paged memory at too high an IRQL. 0xD1 is specifically attributed to a driver doing it, and the crash is more likely to name the file. The fixes are the same: find, update, or roll back the driver.

The crashes only happen on Wi-Fi or during downloads. Why? That pattern implicates the network adapter driver or a filter driver riding on it (VPN, antivirus web shield, bandwidth tools). Update the Wi-Fi or Ethernet driver from the adapter maker, and remove filter software one piece at a time to find the one that triggers it.

Related errors

IRQL_NOT_LESS_OR_EQUAL · DRIVER_VERIFIER_DETECTED_VIOLATION · KMODE_EXCEPTION_NOT_HANDLED · DPC_WATCHDOG_VIOLATION