Whenever a device is installed incorrectly or has another problem, Device Manager displays a warning icon indicating the device has a problem. If you double-click the device, an error code is displayed, as shown in the following screen:
Each error code shown for a device includes a description as well as a suggested action you should take to try to resolve them. Table 13-1 summarizes the common error codes you'll see and describes the suggested actions you should take to resolve them. Most of the actions assume you have the device's Properties dialog box open to the General tab.
Table 13-1. Common Device Error Codes and Descriptions
Error Code | Error Message Solution | |
---|---|---|
Code 1 | This device is not configured correctly. | Obtain a compatible driver for the device, click Reinstall Driver to start the Hardware Update Wizard. Follow the wizard as discussed in the section "Updating a Device Driver" earlier in this chapter. |
Code 3 | The driver for this device might be corrupted, or your system may be running low on memory or other resources. | Run the Update Driver Wizard by clicking Update Driver in the Driver tab. You might see an "Out of Memory" message at startup because of this. |
Code 10 | This device cannot start. | Run the Update Driver Wizard by clicking Update Driver in the Driver tab. Don't try to find a driver automatically. Instead, manually install as discussed in the section entitled "Installing Non–Plug and Play Devices" earlier in this chapter. |
Code 12 | This device cannot find enough free resources that it can use. | Resources assigned to this device conflict with another device, or the BIOS is incorrectly configured. Check the BIOS for resource conflicts as discussed in the section entitled "Resolving Resource Conflicts" later in this chapter. |
Code 14 | This device cannot work properly until you restart your computer. | Typically, the driver is installed correctly, but will not be started until you restart the computer. |
Code 16 | Windows cannot identify all the resources this device uses. | Check to see whether a signed driver is available for the device. If it is and you've already installed it, you must manage the resources for the device as discussed in the section entitled "Managing Installed Drivers" earlier in this chapter. |
Code 17 | This device is asking for an unknown resource type. | Reinstall or update the driver using a valid, signed driver. |
Code 18 | Reinstall the drivers for this device. | After an upgrade, you might need to log on as an administrator to complete the device installation. If that's not the case, click Update Driver in the Driver tab to reinstall the driver. |
Code 19 | The Registry might be corrupted. | Remove and reinstall the device. This should clear out the incorrect or conflicting Registry settings. |
Code 21 | Windows is removing this device. | The system will remove the device. The Registry might be corrupted. If the device continues to display this message, restart the computer. |
Code 22 | This device is disabled. | This device has been disabled using Device Manager. To enable it, select Use This Device (Enable) under Device Usage. |
Code 24 | This device is not present, is not working properly, or does not have all its drivers installed. | Typically results from a bad device or bad hardware. Can also occur with legacy ISA devices; upgrade the driver. |
Code 28 | The drivers for this device are not installed. | Obtain a compatible driver for the device; click Reinstall Driver to start the Hardware Update Wizard. Follow the wizard as discussed in the section entitled "Updating a Device Driver" earlier in this chapter. |
Code 29 | This device is disabled because the firmware of the device did not give it the required resources. | Check the device documentation on how to assign resources. You might need to enable the device in the system BIOS or upgrade the BIOS. |
Code 31 | This device is not working properly because Windows cannot load the drivers required for this device. | The device driver might be incompatible with Windows Server 2003. Obtain a compatible driver for the device; click Reinstall Driver to start the Hardware Update Wizard. Follow the wizard as discussed in the section entitled "Updating a Device Driver" earlier in this chapter. |
Code 32 | A driver for this device was not required and has been disabled. | A dependent service for this device has been set to Disabled. Check the event logs to determine which services should be enabled and started. |
Code 33 | Windows cannot determine which resources are required for this device. | Typically results from a bad device or bad hardware. Can also occur with legacy ISA devices; upgrade the driver and/or refer to the device documentation on how to set resources. |
Code 34 | Windows cannot determine the settings for this device. | The legacy device must be manually configured. Verify the device jumpers or BIOS settings, then configure the device resources as discussed in the section entitled "Resolving Resource Conflicts." |
Code 35 | Your computer's system firmware does not include enough information to properly configure and use this device. | This error occurs on multiprocessor systems. Update the BIOS; check for a BIOS option to use Microsoft Personalization System (MPS) 1.1 or MPS 1.4. Usually, you want MPS 1.4. |
Code 36 | This device is requesting a PCI interrupt but is configured for an ISA interrupt (or vice versa). | ISA interrupts are nonsharable. If a device is in a PCI slot but the slot is configured in BIOS as "reserved for ISA," the error might display. Change the BIOS settings. |
If the suggested action doesn't resolve the problem, you might be able to use the Hardware Troubleshooter to resolve the problem. Double-click the device in Device Manager, then click Troubleshoot in the General tab. Keep in mind that if the device drivers aren't installed properly, you won't have a Troubleshoot option. Instead, you'll have a Reinstall Driver button. Clicking Reinstall Driver starts the Hardware Update Wizard discussed in the section entitled "Updating a Device Driver" earlier in this chapter.
Anyone who remembers IRQ conflicts will be thankful that current computers support ACPI BIOS. With ACPI BIOS, resources are allocated automatically by the operating system at startup, and multiple devices can share the same IRQ settings. These changes mean IRQ conflicts are largely a thing of the past. However, ACPI depends on Plug and Play, and devices that are not fully compatible can sometimes cause problems, particularly ISA devices.
If you suspect a device conflict is causing a problem with the current device, check the Conflicting Device list in the lower portion of the Resources tab. It will either list No Conflicts or the specific source of a known conflict. In Device Manager, you can quickly check resource allocations by choosing Resources By Type or Resources By Connection on the View menu.
In Figure 13-9, both ISA and PCI devices are using IRQ settings. You'll note each ISA device has a separate IRQ setting, while multiple PCI devices share the same IRQ settings. This is very typical. Note also that the PCI Modem device has a question mark as an icon. This is because the device isn't configured properly, not because there's a conflict. In this example, there are no conflicts.
Figure 13-9. View resources by type or resources by connection to check resource settings in Device Manager
Another way to check for conflicts is to use the System Information utility (Msinfo32.exe). Start the System Information utility by clicking Programs or All Programs, Accessories, System Tools, and then System Information. In System Information, expand Hardware Resources, and then select Conflicts/Sharing.
As shown in Figure 13-10, a list of all resources that are in use is displayed. Again, keep in mind that devices can share IRQ settings thanks to ACPI, so what you are looking for are two unrelated devices sharing the same memory addresses or I/O ports, which would cause a conflict. Keep in mind related devices can share memory addresses and I/O ports. In the example, the Standard VGA Graphics Adapter and the Intel 82845 Processor to AGP Controller share the same memory addresses and I/O ports. That's okay because they are related. The PCI Bus is using a memory address space with these devices as well, which is as it should be because Standard VGA Graphics Adapter and the Intel 82845 Processor to AGP Controller are both PCI devices.
You can try to resolve resource conflicts in several different ways. Some devices use jumpers to manage resource settings, and in this case, the operating system cannot control the resource settings. To make changes, you must shut down the computer, remove the device, change the jumper settings, and then replace the device. In some cases, the jumpers are managed through software rather than an actual jumper switch. Here, you would use the device setup or configuration utility to change the resource settings.
For PCI devices, you can try swapping the cards between PCI slots. This will help if the IRQ or other resource settings are assigned on a per-slot basis, as is the case with some motherboards. You might be able to check the motherboard documentation to see which IRQ interrupts are assigned to which slots. In any case, you'll need to experiment to see which card configuration works.
For PCI devices, a conflict could also be caused by the device driver and the way it works with the ACPI BIOS. You should check to see whether an updated device driver and a BIOS update are available. Installing one or both should resolve the conflict.
As a last resort, you can change the resource settings manually for some devices in Device Manager. In the Resources tab, shown in Figure 13-11, select the resource type that you want to work with. If you can make a change, you should be able to clear the Use Automatic Settings option and then see whether any of the alternate configurations in the Setting Based On box resolve the conflict. Keep in mind that you are now manually managing the resource settings. To allow the Windows operating system once again to manage the settings automatically, you must select Use Automatic Settings.