Updating Windows XP Drivers Safely

Technique

Save Time By
Choosing your driver updates wisely
Protecting yourself before the update
Rolling back quickly when a driver goes bad
Over the years, Windows device drivers — those little programs that sit between Windows and the hardware attached to your computer — have instigated more crashes and lock-ups than all other causes combined.
Many times, Windows gets a bad rap even though the drivers are the responsibility of the hardware manufacturers. But when a driver locks up Windows, people get mad at Microsoft because their machines don’t work.
If you get in the middle of an expectorating contest — and I have, several times — you see the hardware manufacturer pointing fingers at Microsoft for lousy documentation, and Microsoft firing back at driver programmers who just don’t get it. In every instance I’ve seen, both sides are right, both sides are wrong, and we users get stuck in the middle.
This technique shows you how to fend for yourself and stay out of the fray.

Understanding Drivers

Device drivers (or drivers for short) serve as the go-betweens on your PC, taking whatever Windows dishes out and delivering it to your device — whether it’s a printer, network card, keyboard, video card, USB hub, thermometer (don’t laugh), camera, telephone, three-dimensional cutting board, or carrier pigeon. Conversely, if your device needs to do something — “Hey, he pressed the Z key on the keyboard!” — the driver bears the brunt of taking the news to Windows.
Drivers can be enormously complex. And when they don’t work right, they can cause all sorts of grief (see Figure 58-1).
Pardon the inconvenience, but we've, uh, encountered this little problem.
Figure 58-1: Pardon the inconvenience, but we’ve, uh, encountered this little problem.
At one point, Microsoft figured that more than half of the crashes and unexplained freezes in Windows were the direct result of bad drivers. In other words, if a driver hasn’t crashed your system yet, it’s only a matter of time.
Here’s the real rub with driver crashes: You never know where or when they might occur. The same driver problem could lead to the messages in both Figures 58-1 and 58-2 — in completely different applications, under entirely different circumstances.
Even Windows Help gets the blues.
• Figure 58-2: Even Windows Help gets the blues.
Thanks largely to the automatically generated “phone home” error reports, the number of driver crashes has decreased, relatively, in recent months. (Specifically, Microsoft now has the ammunition to pummel driver writers with hard evidence.) But bad drivers still get out — every day, it seems.
If you don’t want to send Microsoft logs of your crashes, follow the steps in Technique 5 in the section on disabling automatic error reporting.
Personally, I only send crash reports like this to Microsoft if I’m using a relatively new driver. I figure that older drivers have already generated zillions of reports — and it’d take more time and hassle to send the report than it’s worth.


Choosing Your Drivers Wisely

If you’re installing new hardware, you have to get a driver to go with it. Fair enough. Install the hardware. Turn on your PC, and the Found New Hardware Wizard takes you through the necessary steps. This is a worry-free process.
But if you hear from a friend or see on the Web that your hardware manufacturer has a new driver for a piece of hardware that you own, you should think long and hard before installing that new driver.
New Windows XP drivers typically come from two sources: Windows Update or the hardware manufacturer’s site. I have found — and installed, and come to regret installing — very bad drivers from both sources.
Reasons (Some good, some bad) for changing drivers

I know of just two good reasons for changing drivers:

Your current driver doesn’t work right. For
example, your video driver may show skips and streaks on the screen, or you may buy a new game that requires you to update your video driver.
Your current driver is unstable. The instabilities may manifest themselves in many ways. For example, if you experience any of the following, your current driver is unstable:
If you move your mouse one certain way, it doesn’t work anymore.
You move your cordless keyboard away from your PC to clean it. When you move it back, what you type on the keys doesn’t appear on-screen.
Every time you try to play a DVD, Windows Media Player freezes.
If your driver ain’t broke, don’t fix it.
Contrariwise, I know many bad reasons for changing drivers:
The new one is faster. No driver is ever that much faster.
The new one has improved features. Do you
really need ‘em?
The guy at the computer shop recommended it.
Has he honestly installed it on his machine and lived with it?
Hey, it’s brand new, and it has to be great, right? Not.
Evaluating driver reliability
Ultimately, only you can decide if you really want to roll the dice with a new driver. Keep in mind that downloading, installing, living with, and ultimately uninstalling a flakey driver takes a lot of time. Only very rarely do people save more time with a new driver than they lost with the old one.
That said, if the problems with your current driver are bad enough, a change may be warranted — even if installing and troubleshooting the new driver does take a lot of time.

If you decide to install a new driver for an existing piece of hardware, take several factors into account:

How reliable are the drivers from this manufacturer?
Have you installed drivers from this manufacturer before? What about your friends? Did they have any problems?
How many versions of this driver has the manufacturer released in the past couple of years? (For some, that should be “the past couple of weeks?”)
If the number of versions and revisions is strikingly high, I say steer clear.
Are other customers reporting problems with this specific driver?
Do an online search for the driver name and specific version number. You should get a good sense of the driver’s reliability based on the number of angry reports you find.
Here’s a real-world example to help you evaluate a driver candidate’s reliability. Say your video driver has some problems — it doesn’t scroll right, and characters get streaked from time to time. You’re a savvy Windows XP user, so you’ve been periodically checking Windows Update (see Technique 55) to find out about new driver software. For months you’ve received a notification about a new video driver that’s available.
Here’s how to decide whether it’s time to take the risk of updating your buggy driver:
7. Run Windows Update (Start All Programs Windows Update), click Custom Install, and then click the Select Optional Hardware Updates link to get the details on the driver you’re considering installing.
For example, in Figure 58-3, NVIDIA has a new driver available.
NVIDIA's latest driver, according to Windows Update.
• Figure 58-3: NVIDIA’s latest driver, according to Windows Update.
2. Click the Details link.
The report tells you when the driver was released. For example, the driver in Figure 58-4 was released on July 28, 2003. Hard to believe, but if true, that’s a good sign — it means that the current version of the driver has stood the test of time. On the other hand, Windows Update says the driver was last published on July 28, 2004, precisely one year later.
This driver's old — and, thus, likely to be more stable.
• Figure 58-4: This driver’s old — and, thus, likely to be more stable.
Something’s screwy here. When I saw that date discrepancy, red lights started flashing and sirens wailed. Figuratively, of course.
3. Search for information about the driver.
For example, I use the Google Toolbar (see Technique 24 for more about Google) to search Internet newsgroups for information about drivers. When I searched for information and reviews of the latest NVIDIA driver, I found lots of complaints about the driver’s stability.
A driver that’s certified by Microsoft is called a signed driver, or one that has passed Windows Hardware Quality Labs (WHQL) testing.
4. Check the manufacturer’s site.
When I checked NVIDIA’s Web site (see Figure 58-5), the only Windows XP driver I could find was version number 61.77. Imagine — this is the 77th revision of driver version 61! Kinda makes you feel warm and fuzzy, doesn’t it? This one was released on July 27, 2004. Is Microsoft’s July 28, 2003 driver a completely different animal? Or is it just older? There’s no information anywhere I can find to resolve the discrepancy.
The driver information on NVIDIA's Web site doesn't match Microsoft's description.
Figure 58-5: The driver information on NVIDIA’s Web site doesn’t match Microsoft’s description.
When you go hunting for drivers, you’ll encounter the same problem, perhaps in a slightly different guise. Guaranteed.
If you ever install a driver that has had this many versions and revisions, you are playing with fire. Any company that can’t get it right in a few tries probably has some issues. Forget about it. Life’s too short.
5, Install the driver if you dare.
There’s no way on earth I’ll install the driver from the NVIDIA site. But with great fear and trepidation (and a willingness to offer my system and sanity as a sacrifice for this topic), I decided to install the possibly older, presumably more stable, Windows Update NVIDIA driver dated July 28, 2003.
I detail the precise method in the next section.

Updating a Driver

In Technique 64, I talk about setting System Restore Points, so that you can roll back Windows to a previous state. System Restore Points are vital when you’re thinking about installing or updating a driver. You can and should manually set a System Restore Point before you install a driver. I quickly take you through the steps in this section, or you can refer to Technique 64 for all the details.
Microsoft has a driver certification program that reviews drivers to see if they function properly. It’s a voluntary (and expensive) service conducted by the Windows Hardware Quality Labs (WHQL) that aim to improve the stability of Windows XP drivers. If a specific driver passes muster, Microsoft allows the manufacturer to distribute it as a certified (or so-called signed) driver. Unsigned drivers trigger warning messages when they’re installed. Signed drivers install with a couple of clicks.
Windows XP always sets a System Restore Point before installing an unsigned driver — that is, a driver that hasn’t been specifically tested and blessed by Microsoft’s WHQL team.
Unfortunately, Windows XP doesn’t automatically set a System Restore Point prior to installing a signed driver. Call me a Luddite, but even with WHQL certification, I want the extra safety net that a System Restore Point provides. You should insist on having one, too.
As I explain in the following section, “Rolling Back a Bad Driver,” most kinds of drivers can be rolled back like they were never installed. Printer drivers aren’t afforded that protection. If you install a printer driver, you absolutely must have a System Restore Point — and it’s safest to create one yourself.

Here’s how to safely update a driver, using the NVIDIA video driver described in the preceding section as a real-world example:

1 Choose Start All Programs Accessories System Tools System Restore.
The System Restore Wizard appears.
2, Click the Create a Restore Point option, and then click Next.
The wizard asks for a name for the Restore Point, as shown in Figure 58-6.
3, Type a name that will make sense to you a week from now to identify the Restore Point, and then click the Create button.
The wizard takes a while to create the Restore Point, and then notifies you that it’s complete.
4, Click Close (X) to exit the System Restore Wizard.
Type in a name that you'll remember.
• Figure 58-6: Type in a name that you’ll remember.
5, On the Windows Update site (refer to Figure 58-3), click the box next to the driver you want to install, and then click the Go To Install Updates link (see Figure 58-7).
I suggest installing driver updates all by themselves, one at a time, so that you can trap any problems as quickly as possible.
 Check the box(es) next to any drivers you want to install, and then click Go To Install
• Figure 58-7: Check the box(es) next to any drivers you want to install, and then click Go To Install
Updates.
6. Click the Install button.
Downloading a big driver can take a long time, even over a fast Internet connection. Relax.
The installer kicks in immediately after the download finishes. You may be asked to restart Windows.
7 Test, test, test.
If the driver has a problem, you want to find out about it now, not three weeks from now.

Rolling Back a Bad Driver

So your driver doesn’t work worth beans, your system locks up every time you stare at the screen too hard, and even Notepad crashes with astounding frequency.
Time to get rid of that new driver.
In Windows XP, first try to roll back the driver all by itself. Rolling back a driver involves getting rid of that new driver and going back to the good old days when you used the previous driver, which crashed Notepad only occasionally. Rolling back an individual driver is quick and almost always effective.
If rolling back the driver doesn’t work, don’t fuss with it. Go through the System Restore Wizard and move back to the Restore Point you took just before you installed the driver. I talk about that extensively in Technique 64. (Note that you can’t roll back a driver by using the Control Panel’s Add or Remove Programs applet.)

Here’s how to roll back a driver:

1 Choose Start My Computer. Right-click My Computer and choose Properties.
The System Properties dialog box appears.
2. Click the Hardware tab, and then click the Device Manager button.
The Device Manager appears, as shown in Figure 58-8. This is a window to the heart and soul of your hardware.
The Device Manager holds all the hardware secrets.
• Figure 58-8: The Device Manager holds all the hardware secrets.
3. Right-click the device that has the offending driver and choose Properties Driver.
For example, I chose the NVIDIA RIVA TNT2 device and got the Properties dialog box shown in Figure 58-9.
4. To roll back the driver — get rid of the current one, and use the older one instead — click the Roll Back Driver button.
Windows asks if you’re sure.
Properties for the video card with the updated driver.
• Figure 58-9: Properties for the video card with the updated driver.
5. If you’re sure you want to roll back the driver, click Yes.
Sooner or later, the original driver appears (see Figure 58-10).
In this example, the driver dated 5/3/2002 is listed as version 2.9.4.2. The new driver, dated 7/28/2003, appears as version 4.5.2.3. So in a little more than fourteen months, the NVIDIA TNT2 driver went through two major version changes, and dozens (hundreds?) of minor version changes. boy.
6 Click the Close (X) button to exit the Device Manager.
Out with the new driver, in with the old.
• Figure 58-10: Out with the new driver, in with the old.
Unfortunately, Windows XP doesn’t allow you to roll back printer drivers. If you get a bad printer driver, you have to go to the Restore Point that you created before installing the new printer driver.
Just in case you’re curious . . . I went back and reinstalled the updated NVIDIA driver, number 4.5.2.3, and it works like a champ. I’m even considering installing the newer one on the NVIDIA Web site.
Some people never learn, eh?

Next post:

Previous post: