by lunarg on March 30th 2010, at 11:53

Had a rather odd problem with a laptop of a client: upon inserting any USB storage media, his Windows XP bailed out with a BSOD with STOP code 0x7E.

A look with windbg revealed it may be related to an issue with the USB driver (usbport.sys), but as there were no real USB drivers available for it, and he already had the most recent Windows Updates, a "regular" solution would not be an option.


So I went for the more irregular option. I knew that there's probably another Windows Update which had replaced one or more of the USB driver files (in C:\WINDOWS\system32\drivers) - the problem only surfaces until a month or so ago, but was unable to quickly assertain which one. I didn't feel much for uninstalling every update and rebooting each time, I chose the quick and dirty solution: copy back the original files from SP3.

  1. Reboot into safe mode.
  2. In Explorer, navigate to C:\WINDOWS\system32\drivers, and check out which files (starting with usb*) are present (those are the ones in use). Take particular note of usbport.sys, usbehci.sys, usbohci.sys, usbuhci.sys, usbhub.sys and usbstor.sys.
  3. In Explorer, navigate to C:\WINDOWS\ServicePackFiles\i386
  4. Find and select the files in this folder and copy them to C:\WINDOWS\system32\drivers. When asked to overwrite, say yes. In this particular case, I noticed one file with same timestamp but with a different file size.
  5. Reboot back to normal mode, and try it out. In my case, it worked.

I'm pretty sure there are plenty of IT professionals which frown on this method. My goal is to get a solution for the client, regardless of how it is obtained, and in a reasonable time span. Uninstalling every update since SP3 (in backwards order) was simply not an option, and in my experience, causes more problems than it fixes.

« June 2019»
« You only find out who is swimming naked when the tide goes out. »
Warren Buffett