So I was dusting off an old Windows XP machine, applying security updates for the last few years, when suddenly I found that the machine would crash with a BSOD a few minutes after boot. The BSOD said that a DRIVER_IRQL_NOT_LESS_OR_EQUAL error had occured in w22nt51.sys. Googling that lead to this article, which revealed that this is a problem in the driver for the Intel 2200BG wireless network card.

Broken network drivers usually lead to chicken-and-egg problems, and that article suggests a way around that, but fortunately I had an Ethernet cable at hand and was not entirely dependent on wireless network. (The cable was in my "give away or throw away" bag, so I'm grateful for my laziness and will reconsider some of the items in it.)

So I solved this by the following steps:

  • Boot into "Safe mode" (without networking).
  • Deactivate the wireless network card in the "System" section of the control panel, to stop the crashes.
  • Boot into "Safe mode with networking" (though a normal boot would probably have been sufficient at this point) and connect the Ethernet cable.
  • Download the new driver from the Intel Download Center.
  • Install the driver.
  • Reboot, to make sure the old driver is not in use (not sure if necessary).
  • Reactive the device in the control panel.

And it works!

So why am I subjecting myself to Windows XP again? Simply because the firmware upgrade tool for my HTC phone requires Windows. Also, now I have the opportunity to test whether my Emacs-based Jabber client works well with Windows. (One of these days…)