When you're troubleshooting a hardware problem in Windows XP, there are two good reasons to begin with Device Manager. First, Device Manager allows you to obtain all kinds of detailed information about every piece of hardware installed in a system. Second, Device Manager is designed to help you zero in on a problem device by tagging it with a special symbol and providing a special error code that is supposed to help you track down the cause of the problem and find the solution.
While on a recent troubleshooting expedition, I discovered two things that prevented me from effectively using Device Manager to solve a hardware problem in Windows XP. First, while Device Manager's default tree view provides you with a nice way to investigate the hardware in a system, it isn't the best view to use for all troubleshooting operations. Device Manager's other view settings offer unique advantages, depending on the type of problem you're troubleshooting. Second, tracking down the definitions of Device Manager's error codes for Windows XP isn't as simple as it should be. They aren't part of the Windows XP Help system and the ones on the Knowledge Base are wrong.
A little research on a handful of newsgroups led me to believe that I wasn't alone, so I decided to write an article to help TechRepublic readers avoid these pitfalls and get the most out of Windows XP's Device Manager.
Download our Error Codes Help File
You can download our Windows XP Device Manager Error Code Help File by following this link or by clicking on the Downloads link in the navigation bar at the top of this page. TechRepublic and TechProGuild have many useful documents, templates, and applications available for download, so be sure to check out our other offerings.
Using the different views
If you're like most IT folks, when you turn to Windows XP's Device Manager, chances are that you launch your search in the default view. However, it's important to keep in mind that Device Manager has three other view settings to display the same hardware information in different arrangements, which offer distinct advantages depending on the type of problem you're troubleshooting.
While the default view provides you with a nice way to investigate the hardware in a system, it isn't always the best view for troubleshooting. Here's a look at the other view options.
Devices By Type
Device Manager's default view, Devices By Type, displays a tree of general device categories, such as Disk Drives or Imaging Devices, as shown in Figure A. When you open a category branch, you'll find the actual devices of that type. In many troubleshooting operations and when you simply want to learn more about the hardware installed on a particular system, the default Devices By Type view is just right.
For example, if you're tracking down a problem related to a network card, using the Devices By Type view makes sense because you can quickly locate and drill down to the specific network card by opening the Network Adapters category.
|Device Manager's default view is Devices By Type and is great for most, but not all, troubleshooting expeditions.|
Devices By Connection
Device Manager's second view setting is Devices By Connection, which displays devices by how they are connected in the system. In this view, each device is listed under the hardware to which it is connected.
For example, suppose that you're troubleshooting a USB problem on a system with many USB devices connected to both internal and external hubs, as well as some that are daisy chained to each other, and you need to track down where each device is connected. Well, you could crawl around on the floor and trace cables, or you could use Device Manager's Devices By Connection view to track down the connections, as shown in Figure B.
|Using the Devices By Connection view setting will quickly show exactly how devices are connected to the system.|
Resources By Type
Device Manager's third view setting is Resources By Type, which displays the status of all allocated resources by the type of device using these resources. The four default resource types are direct memory access (DMA) channels, input/output ports (I/O ports), interrupt request (IRQ), and memory addresses.
This view can come in handy if you're troubleshooting a problem that you suspect is related to a specific resource, such as an IRQ. As you know, you can track down the IRQ setting that a particular device is using by simply accessing that device's Properties dialog box and selecting the Resources tab. However, what if you needed a broader view of the current IRQ usage? For example, suppose that you needed to track down all the PCI devices that are currently sharing IRQ9. If so, using the Resources By Type view setting would be the way to go about this, as shown in Figure C.
|Using the Resources By Type view setting allows you to display a list of devices using a specific resource.|
Resources By Connection
Device Manager's fourth view setting is Resources By Connection, which displays the status of all allocated resources by connection type. This view setting not only allows you to track down which devices are using a specific resource, but also to see how they're connected.
For example, suppose you received an error message that listed a specific memory address. If so, you could use the Resources By Connection view setting to track down exactly which device is using memory in that range, as shown in Figure D.
|The Resources By Connection view setting can come in handy when tracking down error messages containing memory addresses.|
Other ways to alter Device Manager's display
By default, Device Manager hides certain types of devices that aren't considered important when it comes to configuring or troubleshooting hardware problems. However, there may be situations when you'll need this information and will want to know how to get Device Manager to display it.
To begin with, Device Manager hides any currently attached non-Plug and Play drivers, printers, and other non-essential classes of devices. Second, Device Manager hides any devices that were previously attached but are not currently connected to the computer. These are also known as non-present devices.
To view non-Plug and Play drivers, printers, and other devices is easy. Just pull down the View menu and select Show Hidden Devices.
However, to view non-present devices is a bit trickier and involves using an environment variable. To begin, open a Command Prompt window. Then, at the command prompt, type
and press [Enter]. This establishes the environment variable for the duration of this Command Prompt window. Leave the Command Prompt window open and then enter the command
As soon as you do, Device Manager will launch. Then, to view the non-present devices, pull down the View menu and select Show Hidden Devices. As soon as you close Device Manager and the Command prompt window, the environment variable will vanish, as will Device Manager's ability to display non-present devices.
Making non-present devices a more permanent part of Device Manager
If you want to configure Device Manager so that it always shows previously attached (non-present) devices when you use the Show Hidden Devices setting, you can do so by adding DEVMGR_SHOW_NONPRESENT_DEVICES to the environment variable dialog box. To begin, access the Start menu, right-click My Computer, and select the properties command. When you see the System Properties dialog box, select the Advanced tab. Then, click the Environment Variables button.
When you see the Environment Variables dialog box, you'll see that it contains two panels, titled User Variables and System Variables. Environment variables added to the User Variables panel will only be available when that user logs on. Environment variables added to the System Variables panel will be available to all users. To avoid limiting yourself to one user account, I recommend that you add the DEVMGR_SHOW_NONPRESENT_DEVICES environment variable to the System Variables panel.
To do so, click the New button. When the New System Variable dialog box appears, type DEVMGR_SHOW_NONPRESENT_DEVICES in the Variable name text box and type 1 in the Variable value text box. Then, click OK twice—once to close the New System Variable dialog box and once to close the Environment Variables dialog box.
Investigating error codes
As I mentioned, Device Manager is designed to quickly identify a specific hardware problem by tagging the problem device's icon with a black exclamation point on a yellow circle symbol, as shown in Figure E, or a red X. When you double-click that particular device in order to determine the severity of the problem, you'll see that the Device Status panel contains a short explanation and a problem code, as shown in Figure F.
|A black exclamation point on a yellow circle indicates that the device is in some type of problem state.|
|The Device Status panel contains a short explanation and an error code.|
At this point, you can, and ultimately should, follow the instructions and click the Troubleshoot button to bring up a Troubleshooting Wizard from the Help And Support Center. However, the Troubleshooting Wizard can be pretty generic in nature and doesn't provide any information about specific error codes. Furthermore, a search for error codes in Windows XP's Help And Support Center turned up nothing.
You might be inclined, as I was, to track down more information on the error code by delving into the Microsoft Knowledge Base. My search turned out to be a wild goose chase. A search for error codes revealed article 310123, "Explanation of Error Codes Generated by Device Manager," which specifically states that the information in this article applies to all versions of Windows XP.
This article provides explanations for codes 1 through 33. Now, in my particular case, the error code was 38, which was beyond the scope of the article.
Therefore, I turned to the Microsoft Windows XP Professional Resource Kit Documentation and found Appendix F: Device Manager Error Codes, which provides explanations for 32 error codes sporadically numbered from the range of 1 through 47. A note at the bottom on the first page states that the gaps in the numbering of these error codes represent error codes that aren't applicable to Windows XP Professional.
Comparing the two lists, I discovered that a little over half of the error codes listed in the Knowledge Base article didn't even apply to Windows XP. Digging a bit deeper in the Knowledge Base revealed that this article is in fact simply a copy of an earlier article on error codes for Windows 9x and Windows 2000 that was just relabeled for Windows XP.
Download our XP Device Manager error code Help file
To save you from having to search all over for the Windows XP Device Manager error codes, I've taken the listing from the Resource Kit and compiled it into a handy little Help file that you can keep on hand for those times when you need to quickly track down a Device Manager error code.
You can download our Windows XP Device Manager Error Code Help File, XP DevMgr Error Codes.chm, by following this link or by clicking on the Downloads link in the navigation bar at the top of this page. TechRepublic and TechProGuild have many useful documents, templates, and applications available for download, so be sure to check out our other offerings.
To increase download speed, we've zipped the file. You'll need an unzip utility such as WinZip or PKZIP to expand the zipped file. Because many antivirus programs automatically filter out CHM files, the download includes a file called XP DevMgr Error Codes.txt. Once you download and unzip the file, you'll need to rename it XP DevMgr Error Codes.chm.
Greg Shultz is a freelance Technical Writer. Previously, he has worked as Documentation Specialist in the software industry, a Technical Support Specialist in educational industry, and a Technical Journalist in the computer publishing industry.