01 March 2009

Drivers reinstalling after a cold boot

Recently I've been using a PC with Windows 7 on it, mainly to try it out. I'm, in general, very happy with the operating system itself but have been having an issue which I only recently identified. Occasionally after the system was booted I would find that the system was reinstalling a whole lot of device drivers.

This caused particular problems with the sound driver as Windows would install the Microsoft driver rather than the Realtek driver, and the Microsoft driver does not provide any output devices. This would mean I would have to reintall the Realtek driver before I was able to use sound again.

I finally noticed under what conditions this occured - after a cold boot. If I powered the machine down fully and then started it up again, the issue was triggered. It's actually quite rare that I do this on any of my computers; normally I would simply send them to sleep.

Some research shows that the issue is a faulty VIA chipset (see this forum thread for details, but basically the chipset appears to randomise device IDs on boot), an issue which motherboard manufacturers can fix through a BIOS update. Almost every manufacturer mentioned in the thread has issued an update with the exception of ASUS. This is annoying because the issue I am having is on an ASUS motherboard.

I've had a number of problems with ASUS in the past. For example, a laptop with a hinge that broke much too quickly and a great deal of difficulty obtaining drivers for their products. Additionally, their drivers and crapware installed on their PCs tend to be, well, crap.

This is the issue that has pushed me over the top. I will never buy another ASUS product.

Interestingly, I had previously had Linux installed on the affected PC and had a similar problem of devices randomly stopping working in similar situations. I had put it down to some eccentricity of the way Linux operates but had been able to fix it using udev (in a nutshell I was able to provide some unique identifiers for my devices and tell it to load certain drivers).

Now I'm going to have to buy a new motherboard I guess...