O'Reilly Hacks
oreilly.comO'Reilly NetworkSafari BookshelfConferences Sign In/My Account | View Cart   
Book List Learning Lab PDFs O'Reilly Gear Newsletters Press Room Jobs  


 
Buy the book!
Windows XP Hacks
By Preston Gralla
February 2005
More Info

HACK
#116
Uncover Hidden Hardware with the Device Manager
Hardware ghosts and other hidden devices can cause system conflicts, and the Device Manager won't report on them. This hack forces the Device Manager to uncover all your hidden hardware so that you can resolve any conflicts
[Discuss (1) | Link to this hack]

One of the strangest hardware problems you'll encounter in XP are hidden and ghosted hardware devices that are invisible to you but that can cause system conflicts. You won't be able to see them in the Device Manager When you use that troubleshooting tool, you won't be able to uncover any problems they might be causing.

The Device Manager hides several types of these devices. Non-Plug and Play printers, drivers, and similar devices don't show up. Most newer devices are Plug and Play, so you'll most likely encounter this problem only if you have old hardware attached to your PC. (Plug and Play devices are automatically recognized and installed in XP.) In this instance, the device is physically present on your PC, but the Device Manager doesn't show you it's there.

Then there are the so-called nonpresent or ghosted devices—devices you've removed from your system without doing an uninstall, or whose uninstallation did not work properly. These devices aren't physically present in your system, but XP treats them as if they were and devotes system resources to them. For example, if you physically remove an old network card without doing an uninstall, it might cause IP and other kinds of conflicts because XP treats it as if it were still in your system.

The Device Manager also might not give you details about USB devices that you use only temporarily and that you frequently attach and remove—for example, MP3 players that you attach to your PC only when you want to add or delete MP3 files from them. Even when these devices aren't present in your system, XP devotes resources to them. If you replace one USB device with another of the same model, it's best to go through the uninstall process rather than just swap them.

And then there are devices you might have moved from one slot to another. XP might believe they are actually present in two slots, so it devotes resources for both slots to them.

Displaying these hidden devices can help with troubleshooting. For example, a hidden device could possibly conflict with a nonhidden device. And sometimes you might want to uninstall hidden devices—for example, when you've moved a non-Plug and Play network card from one slot to another and want to uninstall it from one slot.

But to do this kind of troubleshooting you'll need to force the Device Manager to display information about the devices; otherwise, you won't know how to solve the problem.

Forcing the Device Manager to display non-Plug and Play printers, drivers, and similar devices is a simple matter. Run the Device Manager by typing devmgmt.msc at a command prompt and pressing Enter, and then choosing View → Display Hidden Devices.

Displaying ghosted or nonpresent devices takes a little more work. You'll set a systemwide environment variable that forces the Device Manager to display them. First, right-click My Computer and choose Properties → Advanced → Environment Variables. The Environment Variable dialog box opens. This dialog box lets you set system variables for the entire system or for individual users. Environment variables control a variety of XP features, such as the location of your Windows directory and TEMP directories and the filename and location of the command processor that will launch when you run the command prompt.

The Environment Variables dialog box contains two sections: "User variables" and "System variables." To apply the variable to a single user, use the "User variables" dialog box; to apply the variable to all users, use the "System variables" dialog box. In this case, you'll want to create the variable systemwide, so click New in the "System variables" section. The New System Variable dialog box appears. For "Variable name," type devmgr_show_nonpresent_devices. Once you've created the name, you need to give it a value. To turn the setting on, type 1 in the "Variable value" box. You can see the box filled out properly in Figure 1. Click OK and then OK again.

Figure 1. Setting the Device Manager to always show ghosted devices

So, now you've set the system variable properly, but the Device Manager won't display ghosted devices yet. First you have to tell it to display them. Run the Device Manager by typing devmgmt.msc at a command prompt or in the Run box and pressing Enter. Then, choose View → Display Hidden Devices and the ghosted devices will appear, as shown in Figure 2. You should see quite a few devices now, including a lengthy list of non-Plug and Play drivers. Typically, devices that are not currently present on your PC will be shown as gray, rather than the black that connotes present devices. You might also see some devices listed more than once, as shown in Figure 2.

Figure 2. Displaying ghosted devices in the Device Manager

Now, use the Device Manager to troubleshoot any of those ghosted devices, as detailed in [Hack #115]. If you find any ghosted devices that you will no longer use on your PC, uninstall them from the Device Manager by right-clicking the device and choosing Uninstall.


O'Reilly Home | Privacy Policy

© 2007 O'Reilly Media, Inc.
Website: | Customer Service: | Book issues:

All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.