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).
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 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.
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.