Section 6.3. Dealing with Drivers and Other Tales of Hardware Troubleshooting


6.3. Dealing with Drivers and Other Tales of Hardware Troubleshooting

A driver is the software that allows your computerand all of its applicationsto work with a hardware device, such as a printer or video adapter. That way, for example, each word processor doesn't need to be preprogrammed with the details of all available printers (like in the early days of PCs). Instead, Windows manages a central database of drivers, silently directing the communication between all your applications and whatever drivers are required to complete the task at hand.

Let's get one thing straight before we begin: if it ain't broke, don't fix it. Many problems are actually caused by people looking for problems to solve. For example, installing a new driver just for the sake of having the "latest and greatest" version on your system may introduce new bugs or uncover some bizarre incompatibility. This doesn't mean that updating your drivers isn't a good idea, but you'll typically only want to do this if something isn't working or performing at its best.


Problems arise when a driver is buggy or outdated, or when one of the files that comprise a driver is missing or corrupted. Outdated drivers designed either for a previous version of Windows or a previous version of the device can create problems. Additionally, manufacturers must continually update their drivers to fix incompatibilities and bugs that surface after the product is released. It's usually a good idea to make sure you have the latest drivers installed in your system when troubleshooting a problem. Furthermore, newer drivers sometimes offer improved performance, added features and settings, better stability and reliability, and better compatibility with other software and drivers installed in your system.

The other thing to be aware of is that some drivers may just not be the correct ones for your system. For example, when installing Windows, the setup routine may have incorrectly detected your video card or monitor and hence installed the wrong driver (or even a generic driver). A common symptom of this is if Windows does not allow you to display as many colors or use as high a resolution as the card supports. Make sure that Device Manager (devmgmt.msc) lists the actual devices, by name, that you have installed in your system.

Device drivers worth investigating include those for your video card, monitor, sound card, modem, printer, network adapter, scanner, SCSI controller, camera, backup device, and any other devices you may have. If you're not sure of the exact manufacturer or model number of a device installed inside your computer, take off the cover of your computer and look, or refer to the invoice or documentation that came with your system. However, most hard disks, floppy drives, CD-ROM drives, keyboards, mice, power supplies, memory, and CPU chips don't need special drivers (except in special circumstances).

6.3.1. Looking for a Driver

Windows XP comes with a huge assortment of drivers for hardware available at the time of its release, but as time passes, more third-party devices are released, requiring drivers of their own. Most hardware comes packaged with instructions and a driver disk; if in doubt, read the manual. If, on the other hand, you acquired a peripheral without the driver or manual, both of these are almost always available from the manufacturer's web site.

When you connect a device for which Windows has a driver, Windows will automatically install the driver when it first detects the device. However, you may wish to find out if Windows comes with a driver for a specific piece of hardware before you try to install it (or even before you purchase it). Here's how to do it:

  1. Start the Add Hardware Wizard by going to Control Panel Next on the first page.

  2. The wizard begins by scanning your system for any newly attached Plug and Play devices. If one or more devices are found, the appropriate drivers are located and installed. This same process happens every time Windows is started. If no new devices are found, you'll be asked if the device has been connected to the system. If you choose No, the wizard quits.

  3. The next step, assuming you selected Yes on the previous page, displays a list of all of your existing devices. If you select one of the devices and click Next, the wizard will quit. So, scroll to the bottom of the list, select Add a new hardware device, and click Next.

  4. Your next choice is between having Windows search for and install your new hardware or having Windows present a list from which you can manually select a driver. Only choose the first option, Search for and install . . . , if you don't already have a driver. Otherwise, choose the second option, Install the hardware . . . , and click Next.

  5. Chose the category of the device, or just select Show All Devices if you're feeling lazy, and click Next.

  6. This next page, shown in Figure 6-3, is essentially a list of every hardware device driver included with Windows XP. Choose a manufacturer from the list on the left, and then the specific model number from the list on the right.

Figure 6-3. Use the Add Hardware Wizard to list the devices that Windows supports out of the box


If the driver you seek is not listed and you don't see a driver for a similar device that may be used, you'll have to obtain a driver from the manufacturer.

If you find yourself in the unenviable position of searching for support for an unsupported product, you may find help at http://driverguide.com. In addition to drivers for older products, you'll find tips from others who have tried (successfully or otherwise) to get the same hardware working with Windows XP. You can also often find older versions of drivers and other software at http://oldversion.comhandy if the latest release of a program causes more problems than it solves.


6.3.2. Updating and Verifying Drivers

Assuming you've already installed a driver for a given device, the next hurdle is to see how recent it is and, if necessary, to update it. Although many drivers will never need to be updated manually, you may need to do just that to solve some hardware problems.

Video drivers are notoriously buggy, especially the ones that come with newly released video cards. (Drivers are often rushed to completion to coincide with the release of a video adapter.) If you're experiencing problems with windows not updating their displays properly, frequent system crashes, odd mouse-cursor behavior, or any number of other seemingly unexplainable glitches, a buggy video driver is a likely culprit. In addition, video drivers are very complex and can always benefit from additional tweaking.


If a specific piece of hardware is already installed and the driver has already been chosen, there are two ways to figure out if the correct driver is being used. First of all, the name used to identify the device in Device Manager (devmgmt.msc) is a good clue. For example, if under the Display Adapter category, your video card is listed as an "NVIDIA GeForce3 Ti 200," then that's the driver that's being used, even if that's not really the video card you have physically installed.

However, there's more to the driver than just the name; to find the date and revision number of the driver, double-click on the device in Device Manager and choose the Driver tab.

Although Windows does come with plenty of drivers, very few of them are actually written by Microsoft, even though "Microsoft" may be listed in the Driver Provider field. Instead, most are simply submitted by their respective manufacturers for inclusion in the Windows distribution.

You can usually assume the following about the drivers included on the Windows CD (versus those that come with your hardware devices):

  • The drivers included with Windows are usually fairly stable.

  • The dates are usually consistent with the release of Windows, not with the historical release of the manufacturers' drivers.

  • The version numbers are usually consistent with the version numbers of the manufacturers' drivers.

  • Any special features or extras present in the manufacturers' version of the drivers have been left out. For example, many aftermarket display drivers include better performance, support for more colors and higher resolutions, and other goodies.

An easy (but certainly not foolproof) way to tell if you're using the driver that came with Windows is to look at the driver dateit should be July 1, 2002 (if you're using the initial release of Windows XP). If not, it probably came from another source, such as a driver disk, from the Web, from Windows Update, or from a previous installation of Windows. Drivers with newer dates are usuallybut not alwaysmore recent, but the date alone is not a reliable indicator.

More importantly, the Driver Version shows the official revision number of the driver; you can also click Driver Details to see the versions of the individual components of the driver.

To change the driver for the selected device, either to install a newer version or to replace it with a driver for a different device, click Update Driver. This opens the Hardware Update Wizard, which allows you to specify the location of the new driver to install. However, you may wish to consult the documentation (if any) that comes with your device, because not all drivers can be installed in this way.

6.3.2.1 Watch out for driver installer inconsistencies

Note that some drivers have their own installation programs, to be used either before or after the device has been attached, while other drivers require that they be installed at the moment the hardware is automatically detected by Windows. If the driver has no install program and you aren't asked to locate the driver when you first start Windows, you can almost always update the driver by using the Update Driver feature explained here.

If in doubt, check the driver's documentation (usually in a readme.txt file or on the manufacturer's web site). Not many manufacturers follow the standards closely, which can be very frustrating. As a last resort, try removing the driver from Device Manager, which will allow the hardware to be re-detected and its driver reinstalled the next time Windows is started.

6.3.2.2 The importance of .inf files

A common scenario involves downloading a zipped driver from the Web, unzipping it to a separate folder on your hard disk, and then using the Hardware Update Wizard to instruct Windows to load the driver from the folder. Windows will accept a folder containing any valid driver, which is detected by the presence of an appropriate .inf file. Actually, all the drivers already installed on your system have a corresponding .inf file in the \Windows\INF folder.

The .inf file is the heart of each Windows driver. Sometimes it contains all the necessary device information (most modems only require this single file), and other times it contains information and links to other files (.dll and .vxd files) that do the actual work of the driver. Unfortunately, each device is differentdon't expect a set of tricks that worked for one driver to necessarily work for another.

Supporting Unsupported Hardware

You may be disappointed to discover either that a manufacturer of a discontinued product has stopped supporting the product or has just gone out of business. If this happens, you may be out of luck and forced to replace the device if it isn't supported in your version of Windows; see Chapter 5 for more information on upgrading your system.

There is a way out, however. Many productssuch as video cards, modems, and SCSI controllersuse similar components that are widely supported by the industry. For example, many video cards use controller chips manufactured by a single company; by looking at your video card, you should be able to determine which variety of chipset it uses (look for the brand and model number). Even if the manufacturer of your video card has gone out of business, there may be other video cards that use the same chipset and, therefore, may use the same driver.

Note that an indicator of a good manufacturer is one that makes drivers freely available for all their products, even discontinued ones. If they are supporting yesterday's products today, they'll be likely supporting your product tomorrow.


6.3.3. Handling Misbehaving Drivers

Never install or upgrade more than one new device at once. By installing one driver at a time, you can easily spot any potential new problems, as well as recognize when an existing problem has been solved. Wait for Windows to restart (if applicable) and try starting an application or two. If you install several new drivers at once, you'll have a hard time trying to find where you went wrong.

When you install a driver, Windows first copies the various driver files to a handful of different folders. The Registry is then updated with the driver filenames, the specific resources used by the device (interrupt request lines [IRQs], I/O addresses, etc.), and any special hardware-specific settings. One problem, typically common with older devices, is that the special settings can be incorrect, and no amount of fiddling with them can straighten out a misbehaving device.

This often happens with network cards and SCSI adapters; either the device doesn't function at all, Windows doesn't recognize the device's resources correctly, or an attempt to use the device hangs the system. The solution is simply to reinstall the driver. The best way to go about this is to locate and select the device in Device Manager (devmgmt.msc) and click Remove. Then close Device Manager and restart your computer.

The next time Windows starts, it will redetect the hardware and reinstall the corresponding driver, the purpose of which becomes evident when you discover that the settings for the driver have been reverted to their defaults.

More drastic measures include removing all the actual driver files from the hard disk before allowing Windows to install new ones. Because all drivers are different, however, there are no standard files to remove. More conscientious developers will either provide an uninstall utility for their drivers, or at least provide a list of the supported files so you can find them easily. If in doubt, visit the manufacturer's web site and wade through the miles of FAQs, looking for some assistance.

My last piece of advice is to put a copy of the latest drivers for all of your devices on a recordable CD or other removable drive for easy access the next time you need them. You'll be glad you did when you realize that you can't download the right driver for your network adapter if said network adapter has stopped working and is responsible for your Internet connection.

6.3.4. Interpreting Device Manager Errors

From time to time, Device Manager will report a problem with one of your devices by marking it with a yellow exclamation mark (!) or a red . Double-click the device name, and you'll likely see one of the following errors (based on Microsoft Knowledge Base Article 310123):


This device is not configured correctly. (Code 1)

This is a driver problem; click Update Driver to install a new driver.


Windows could not load the driver for this device . . . (Code 2)

Again, try installing a new driver. If that doesn't work, contact the manufacturer of your motherboard for a BIOS update.


The driver for this device may be bad, or your system may be running low on memory or other resources. (Code 3)

Try removing the device (right-click and select Uninstall), restarting Windows, and then reinstalling the driver.


This device is not working properly because one of its drivers may be bad, or your registry may be bad. (Code 4)

Of course, try updating the drivers. (Laughably, Microsoft suggests running Scanregw.exe, a program designed for Windows Me and not included in Windows XP, to fix this error.) If a new driver doesn't fix the problem, try the solution for Code 3, above.


The driver for this device requested a resource that Windows does not know how to handle. (Code 5)

Remove the device (right-click and select Uninstall) and then run the Add New Hardware wizard from Control Panel.


Another device is using the resources this device needs. (Code 6)

You'll see this error if you've installed a device that doesn't support Plug and Play. See "Resolving Hardware Conflicts" later in this Chapter.


The drivers for this device need to be reinstalled. (Code 7)

Click Update Driver to reinstall the drivers. Duh.


This device is not working properly because Windows cannot load . . . (Code 8)

This may indicate a missing or damaged .inf file, described in "Updating and Verifying Drivers" earlier in this chapter, which may make it difficult to reinstall the driver for this device. If the Reinstall Device button doesn't work (or isn't there) and installing drivers provided by the manufacturer fails, you may have to run Windows setup again.


This device is not working properly because the BIOS in your computer is reporting the resources for the device incorrectly. (Code 9)

This indicates a problem with your motherboard's support for ACPI power management (discussed in Chapter 5). Contact the manufacturer of your motherboard for a BIOS update. Next, try removing the device (right-click and select Uninstall) and then restarting Windows.


This device is either not present, not working properly, or does not have all the drivers installed. (Code 10)

If the device is a PCI or ISA card inserted in your computer, make sure it's firmly seated in its slot. Otherwise, make sure it's plugged in and powered up. If it's an external device, try turning it off and then on again. Then, of course, try removing the drivers (right-click and select Uninstall) and then run the Add New Hardware wizard from Control Panel.


Windows stopped responding while attempting to start this device, and therefore will never attempt to start this device again. (Code 11)

Windows may disable devices that prevent it from loading. To re-enable this device, right-click the device name and select Uninstall, and then restart Windows.


This device cannot find any free {type} resources to use. (Code 12)

See the solution for error code 6.


This device is either not present, not working properly, or does not have all the drivers installed. (Code 13)

See the solution for error code 10.


This device cannot work properly until you restart your computer. (Code 14)

Do I need to tell you what to do here?


This device is causing a resource conflict. (Code 15)

See the solution for error code 10.


Windows could not identify all the resources this device uses. (Code 16)

Right-click the device, select Properties, and then choose the Resources tab. You may have to fill in some information provided by your hardware documentation. See also the solution for error code 10.


The driver information file {name} is telling this child device to use a resource that the parent device does not have or recognize. (Code 17)

You'll need to obtain and install newer drivers for this device.


The drivers for this device need to be reinstalled. (Code 18)

See the solution for error code 7.


Your registry may be bad. (Code 19)

This extremely helpful message will appear if there is any corrupt data in your Registry pertaining to this device. Note that if you restart Windows, it may revert to an earlier copy of your Registry, which you may or may not want to happen. See Chapter 3 for help with backing up your Registry.


Windows could not load one of the drivers for this device. (Code 20)

The driver you're using is likely designed for an earlier version of Windows; contact the manufacturer of the device for a driver written for Windows XP.


Windows is removing this device. (Code 21)

This temporary message will appear immediately after you've attempted to uninstall a device. Close the Properties window, wait a minute or two, and then try again. If it doesn't go away, try restarting Windows.


This device is disabled. (Code 22, version 1)

This means you've manually disabled the device by right-clicking and selecting Disable. Click Enable Device to re-enable the device. If you can't enable the device, try removing it (right-click and select Uninstall) and then restarting Windows


This device is not started. (Code 22, version 2)

Some devices can be stopped, either manually or via its drivers. Click Start Device to re-enable the device. If this persists, look for updated drivers and see if the device has any power management features you can disable.


This display adapter is functioning correctly. (Code 23)

Despite the fact that the message states the device is functioning correctly, there's obviously a problem. This typically occurs in systems with two display adapters (video cards), wherein one doesn't fully support being installed in a system with two display adapters. Try updating the drivers for both cards and look for an updated BIOS for either card.


This device is either not present, not working properly, or does not have all the drivers installed. (Code 24)

See the solution for error code 10.


Windows is in the process of setting up this device. (Code 25 and Code 26)

You'll see this if Windows is waiting until the next time it starts to complete the installation of the drivers for this device. Restart Windows to use the device. Note that you may have to restart twice. If that doesn't help, remove the device (right-click and select Uninstall), restart Windows one more time, and then try again.


Windows can't specify the resources for this device. (Code 27)

See the solution for error code 16.


The drivers for this device are not installed (Code 28).

Click Reinstall Driver to install the drivers currently on your system, or obtain new drivers from the manufacturer of the device.


This device is disabled because the BIOS for the device did not give it any resources. (Code 29)

This message appears for devices on your motherboardsuch as on-board hard disk controllers, network adapters, or video adaptersthat have been disabled in your computer's BIOS setup. See Appendix B for more information. (Note that this error may also appear for the device's firmware if it's not on your motherboard; in this case, refer to the hardware documentation.)


This device is using an Interrupt Request (IRQ) resource that is in use by another device and cannot be shared. (Code 30)

See the solution for error code 10.


This device is not working properly because {device} is not working properly. (Code 31)

This means that the device is dependent on another device. For instance, this message may appear for a joystick (game) port that is physically installed on a sound card that is having problems. To fix this error, troubleshoot the hardware on which this device is dependent.


Windows cannot install the drivers for this device because it cannot access the drive or network location that has the setup files on it. (Code 32)

First, restart your computer. If that doesn't fix the problem, copy the relevant drivers directly to your hard disk and try installing them again.


This device isn't responding to its driver. (Code 33)

This may indicate a problem with the hardware, or simply a bad driver. Start by removing the device (right-click and select Uninstall), restarting Windows, and then reinstalling the drivers. If that doesn't help, you may have a dead device on your hands.


Currently, this hardware device is not connected to the computer. (Code 45)

This message will appear for any hidden, or ghosted, device, described in "Show Hidden Devices in Device Manager" later in this chapter. This means the driver is installed, but the hardware has been physically disconnected or removed.

6.3.5. Working with Restore Points

The System Restore feature is used to roll back your computer's configuration to an earlier state, with the intention of undoing a potentially harmful change.

For the most part, System Restore runs invisibly in the background, routinely backing up drivers, important system files, and certain Registry settings. The idea is that at some point, you may wish to roll back your computer's configuration to a time before things started going wrong. This can be very handy, especially if you frequently install new hardware or applications.

The problem is that System Restore can indiscriminately replace files on your PC with potentially earlier versions, reset Registry preferences, and, in some cases, uninstall software. While the intention is to solve problems without requiring user interaction, it can inadvertently cause other, more serious problems. If you suspect that a particular application is causing a problem, your best bet is to uninstall that single application rather than to attempt a System Restore. In other words, use System Restore as a last-ditch effort to return your system to a state of normalcy.

Furthermore, System Restore, when enabled, uses up to 12% of your computer's hard disk space; on a 80 GB hard drive, that means that nearly 10 GB are devoted to a feature that typically needs no more than a few hundred megabytes.

To configure System Restore, go to Control Panel

If you decrease the disk space made available to System Restore, you may be reducing the number of available "restore points," theoretically reducing the effectiveness of this tool.


Start the System Restore application (\Windows\System32\restore\rstrui.exe) if you wish to restore an earlier configuration or create a new restore point. Restore Points are "snapshots" of your system: packages containing important files and settings, created at regular intervals. To roll back your computer's configuration, simply choose a date during which a restore point was created. You can also create a restore point at any time to "lock in" today's configuration.

Restore points are stored in the hidden System Volume Information folder on your drive (if you have more than one drive, there will be one such folder on each drive). However, these folders will be inaccessible in Explorer, even if you've configured Explorer to show hidden files. (You can use the Command Prompt, cmd.exe, to view these files.)

To delete all restore points, just disable the System Restore feature by turning on the Turn off System Restore on all drives option and clicking OK. You can then re-enable System Restore if desired. It can become necessary to delete your restore points if System Restore is preventing you from upgrading (or downgrading) one or more of your drivers.

6.3.6. Understanding Version Control

One of the cornerstones of the Windows architecture is the use of Dynamic Link Libraries (.dll files), which are encapsulated application components that can be shared by severalsometimes allWindows applications.

Naturally, in the life cycle of an application or operating system, DLLs are constantly updated with bug fixes and new functionality. When you install an application, all of the most recent .dll files are installed along with it, at least in theory. The problem arises when one errant application overwrites a newer version of a DLL with an older (or just different) version. This problem has been partially addressed by the System Restore feature, discussed in the previous section, but it's not perfect.

Although each .dll file has a "last modified" date stamp (like any other file), what Windows relies on is actually the version information stored inside the file. In theory, this works quite well. However, older applications don't always follow the rules, and newer applications sometimes come with shared files that introduce new bugs. And, because the .dll files that come with Windows are used by the majority of applications (as opposed to a .dll used by only a single program), Microsoft DLLs are under the most scrutiny.

To determine the version of any file, right-click on it in Explorer and click Properties. You should see a Version tab (if not, the file you've chosen is either corrupted or simply doesn't contain any version information). This tab displays the version of the file, some copyright information, usually the name of the manufacturer, and a short description of the file. Just shuffle through the items in the Item name list to see the various clues.

File types that usually contain version information include .dll files, .exe files, .drv files, .vxd files, and .ocx files.

Usually, newer versions of .dll files are just that; they serve the same purpose as the original version, but add more functionality, include bug fixes, or improve performance. In some isolated situations, a certain .dll file can be replaced with a completely different file, with which all it has in common is the filename.

6.3.7. Firmware: Software for Your Hardware

User-upgradable firmware is a feature found in many modern devices. Firmware is software stored in the device itself, used to control most hardware functions. Although it's not possible to, say, increase a hard disk's capacity by upgrading its firmware, it is possible to improve performance of an adapter or storage device, as well as solve some compatibility problems that may have been discovered after the product shipped.

The beauty of firmware is that if you purchase a peripheral and the manufacturer subsequently improves the product, you can simply update the firmware to upgrade the product. While user-upgradable firmware can increase the initial cost of a product slightly, such an increase is dramatically outweighed by the money the manufacturer can save by not having users send in equipment to be updated. Naturally, user-upgradable firmware also is a boon to the end user, who can make simple updates in a matter of minutes without having to send in the product or even open up the device.

Devices that commonly have user-upgradable firmware include modems, CD/DVD recorders, removable drives, tape drives, motherboards (in the form of an upgradable BIOS), SCSI controllers, and network adapters, hubs, and routers.

Some older devices allow you to change the firmware by upgrading a chip. It's not as convenient as software-upgradable firmware, but it's better than tossing the whole thing in the trash.

6.3.8. Resolving Hardware Conflicts

Most hardware and software problems are caused by incompatibilities or conflicts, where two or more components simply don't work togethereven though they may work perfectly well on their own.

A conflict occurs when two devices try to use the same resource, such as an IRQ or memory address; other conflicts can happen between two drivers as well. The telltale signs of a conflict include one or more devices not working, one or more devices not showing up in Device Manager, or your system crashing every time one or more devices are used. Now, as Plug and Play (PnP) technology slowly improves in the number of devices that it supports, the problem of hardware conflicts diminishes; but conflicts will continue to be a thorn in our sides for quite some time to come.

Each installed device can use one, several, or, occasionally, no resources. An expansion card, such as a sound card or modem, usually uses a single IRQ, a single I/O address range, and sometimes a direct memory access (DMA) address. Other devicessuch as memory addresses, SCSI IDs, integrated drive electronics (IDE) channels, and serial and parallel portscan consume more than one of each, as well as other resources.

If two or more devices try to use the same resource, problems can occur that range from slow performance to system crashes. Most older, pre-PnP devices (called legacy devices) allow you to configure which resources they use by setting appropriate jumpers or switches on the devices themselves. Nearly all devices made since 1995 allow their settings to be changed with software, and thereby automatically changed by a PnP-compliant operating system like Windows XP.

Note that some devicessuch as pointing devices, scanners, cameras, and printers, which connect to your computer's external portsdon't technically use any resources of their own; however, the ports to which they're connected do use resources. You can usually change the resources used by any given device (ports included). The trick is to configure all of your devices to use different resources so that no conflicts occur. All devices are different; refer to the documentation included with each device, or contact the manufacturer for specific configuration instructions and possible conflict warnings.

To determine which resources are available in your system, as well as which devices are using the rest of the resources, open System Information (msinfo32.exe) and expand the Hardware Resources branch.

Be aware that some devices can share resources. For example, your communication ports share IRQs (COM1 and COM3 both use IRQ 4, and COM2 and COM4 both use IRQ 3). And most PCI slots can share IRQs, which only occasionally causes problems.

If you discover a conflict, start by either removing or reconfiguring one of the devices involved. You may be required to reconfigure several devices, delegating resources around until all the conflicts are resolved. Again, the method used to change the resources used by a particular device depends upon the device itself. You should be able to see all the resources used by a given device by double-clicking it in Device Manager and choosing the Resources tab. Figure 6-4 shows the Resources tab of a common SCSI controller.

Figure 6-4. The Resources tab of a device's Properties sheet shows the hardware resources currently in use by the device


6.3.8.1 Tips for installing new hardware

If you're installing more than one device, do so one at a time; it's much easier to isolate problems when you know which device has caused them. You should expect installation of Plug and Play devices to be quick, automatic, and painlessat least in theory. However, many devices, while able to configure themselves automatically, may not be able to adapt entirely to your system. Be prepared to reconfigure or even remove some of your existing devices to make room for new ones.

If you're trying to get an existing device to work, try removing one of the conflicting pieces of hardware to see if the conflict is resolved. Just because two devices are conflicting doesn't mean that they are intrinsically faulty. It's possible a third, errant device could cause two other devices to occupy improper resources and therefore conflict with each other or simply not function.

If removing a device solves a problem, you've probably found the conflict. If not, try removing all devices from the system and then reconnect them one by one until the problem reappears. Although it may sound like a pain in the neck to remove all the devices from your system, it really is the easiest and most surefire way to find the cause of a problem like this. Because there are so many different combinations of resource settings, it can be a laborious task to resolve conflicts.

6.3.9. The Trials and Tribulations of Plug and Play

Most internal peripherals (cards, drives, etc.), as well as some external devices (printers, scanners, etc.), will be automatically detected when Windows boots up. Ideally, Windows should notify you that the new device has been identified and give you the option of using the driver that comes with Windows (if available) or providing the driver on your own (either with a diskette or a folder on your hard disk). Windows should then load the driver, configure the device, and restart with no ill effects.

The problem is when the new device either doesn't work or causes something else to stop working. Even the newest devices can sometimes cause conflicts, although with the passage of time, the PnP-compliance of most new devices has generally improved. To aid in troubleshooting conflicts where PnP devices are involved, it's important to realize first exactly what Plug and Play technology is. PnP-compliant devices must have the following characteristics:

  • The device must have a signature that is returned when Windows asks for it. Windows then looks up this signature in its driver database and either finds a driver that matches it or asks you to insert a disk with a compatible driver. If a driver is not required or a suitable driver is not found, no driver will be loaded for the device.

  • All configurable resources (applicable primarily to internal devices) of the device must be software-adjustable, meaning it is not necessary to physically set jumpers or switches on the hardware to reconfigure it. This doesn't mean, however, that the device can't come with jumpers; some cards let you disable their Plug and Play features and set resources manuallysometimes a very handy feature.

  • The driver, if supplied, must be capable of instructing Windows which resources the device can occupy (if any) and must be able to receive instructions from Windows and reconfigure the card accordingly. That way, Windows can read all the possible configurations from all the drivers and then reconfigure each one so that there are no conflicts.

You can see, then, how dependent PnP devices are on their drivers and why a buggy driver can cause problems with the entire system, regardless of how PnP-compliant all the components in your system are. One bug commonly found in some drivers is that they are unable to configure the corresponding device reliably. For example, say a sound card requires a single IRQ and is capable of being set to IRQ 5, 7, 9, 10, or 11, but the driver is incorrectly programmed to also accept IRQ 13. When Windows attempts to shuffle all the devices around, it may then ask the sound card to occupy IRQ 13; because this is impossible, it will remain at its previous setting (or at no setting at all), most likely causing a conflict with another device (say, a modem or parallel port). In this scenario, a tiny bug in a single driver has caused two separate devices to stop functioning.

Now, it's also possible that Windows will be unable to find a mutually agreeable configuration for all installed deviceseven if one does existwhich means that Windows will simply boot with one or more conflicts. I've encountered this scenario when trying to install an additional IDE controller in a system otherwise full and completely out of resources. In most cases, Windows won't even tell you that PnP has failed. This is where you have to take matters into your own hands: learn to recognize the symptoms (crashing, hanging, slow performance) and know how to look for conflicts. See Section 6.3.8, earlier in this chapter, for details.

One of the loopholes that you can take advantage of is the way that Plug and Play systems assign resources (IRQs in particular) to PCI devices. Your BIOS will assign a different IRQ to each PCI slot, rather than having each device try to grab an IRQ for its own; this ensures that PCI cards don't conflict. The funny thing about PnP BIOSes and Windows XP is that, occasionally, some IRQs are neglected. If you have a full system and find yourself running out of IRQs, this can be a real problem. The good news is that you can enter your system's BIOS setup (see the next section) and manually assign an IRQ to each PCI slot, often even specifying previously ignored IRQs, such as IRQs 12, 14, and 15.[5] This will then leave spaces open (usually lower IRQs), which other devices in your system can then occupy.

[5] Note that IRQs 12, 14, and 15 aren't always available and sometimes can be occupied by other motherboard components or non-PCI devices. In most cases, trial and error is the best approach to take.

Finally, a common problem with Plug and Play is its occasional propensity to detect devices that have already been configured. For example, after you've hooked up a printer, installed the drivers, and even used it successfully, Windows may inform you that it has detected a new printer the next time you boot. The cause of this is almost always an incorrect initial installation (that is, contrary to the manufacturer's recommended installation procedure); for example, you may have connected your printer after Windows had started. The best course of action is to remove the drivers for the device (usually through Device Manager), reboot, and allow Windows to detect and set up the printer automatically. Naturally, you should check the printer's documentation for any abnormalities of the installation process.

6.3.9.1 Special case: Stop Plug and Play from detecting devices

One of the problems with Plug and Play is its tendency to detect and load drivers for devices you don't want to use. Although there is no way to prevent the Windows Plug and Play feature from detecting and installing drivers for some devices, you can disable most devices that may be causing conflicts. The best use for this is in conjunction with multiple hardware profiles, where you might want to disable a device in one profile, yet enable it in another. (See Section 6.3.11 later in this chapter for more information.)

To disable a device and prevent Windows from detecting it again, right-click it in Device Manager (devmgmt.msc), and select Disable. A red will then appear over the device's icon to signify that it has been disabled. You can later re-enable the device by right-clicking and selecting Enable.

6.3.10. Show Hidden Devices in Device Manager

By default, Device Manager doesn't show devices that aren't connected to your computer, even if the drivers for those devices are installed and loaded. But why would you want to do this?

First of all, when you disconnect or remove a device from your system without first right-clicking its entry in Device Manager and selecting Uninstall, its driver will remain installed on your system. The only way to remove it is to either reattach the device or show hidden devices.

If the device is preventing you from starting Windows, showing hidden devices will be the only way to uninstall the driver, possibly allowing you to subsequently reinstall it to get it working.


Plus, even when a device isn't connected, some of its drivers may still be loaded and causing conflicts with other devices. Merely disconnecting a device may not be sufficient to fix the problem.

Now, in Device Manager, you can select Show hidden devices from the View menu, but all this will add to the listing are non-Plug and Play devices. To have Device Manager show all hidden devices, follow these steps:

  1. Open System Properties in Control Panel (or right-click the My Computer icon and select Properties).

  2. Choose the Advanced tab and then click Environment Variables.

  3. In the lower System variables section, click New.

  4. Type devmgr_show_nonpresent_devices for the Variable name, and enter 1 for the Variable value. Click OK when you're done, and click OK to close System Properties.

  5. If Device Manager is open, close it and reopen it.

  6. In Device Manager, select Show hidden devices from the View menu.

Hidden devices (sometimes called ghosted devices) will appear in Device Manager with grayed-out icons. Other than the fact that they represent non-present hardware, these hidden entries should behave normally, in that you can uninstall them, change their properties, or update their drivers.

6.3.11. Using Multiple Hardware Configurations

In many cases, solving a problem with a computer simply means finding the correct configuration. It's unfortunately not unusual to spend hours shuffling around the various devices in your system in an effort to resolve all the conflicts, or even just to get it all to fit in the box at the same time.

Sometimes, if you can't come to an acceptable resolution, you may have to set up multiple configurations, just to get everything to work. Start by going to Control Panel By default, you'll see only one entry here: Profile 1 (Current). Any settings made in Device Manager will be saved under this profile.

To create a new profile, just click Copy, and then make the desired changes in Device Manager.

If you have more than one profile, you'll be prompted to choose one every time Windows starts. To disable this prompt without eliminating any hardware profiles, first choose a profile to be your default. Then, highlight one of the other profiles, click Properties, turn off the Always include this profile as an option when Windows starts option, and click OK. Repeat this for all profiles except your default, and the only one left will be the one used automatically the next time Windows starts.

6.3.12. Which Slots to Use for Internal Devices

Theoretically, the slot in which you install a particular expansion card shouldn't matter; they're all supposed to be the same. In practice, however, this isn't necessarily true. (Naturally, this doesn't apply to laptops.)

Most modern computers come with a handful of PCI slots, one AGP slot, and occasionally one or two ISA slots for compatibility with older devices. PCI slots are usually numbered right on the board or at least in the manual; if you can't determine the numbers for your slots, assume the first is on the far left (when viewed from the front of your computer), and the last is closest to the processor and keyboard port.


Here are a few tips to help you put internal cards in the most suitable locations inside your computer:

  • If you're using an AGP video adapter, avoid placing your sound card in the PCI slot immediately adjacent to it, usually slot 5. Also, avoid putting any card in slot 1 (furthest from the AGP slot).

  • If your motherboard has a built-in SCSI controller or Ethernet (LAN) adapter, then these integrated devices may share resources (IRQs, etc.) with one or more of your PCI slots (typically slots 4 and 5; see your manual for details). You should avoid placing cards in these slots, if possible.

  • Cooling is important for your cards as well as your motherboard. By spreading your cards as far apart as possible, you allow air to move more easily between them. Cooling is most important for your video adapter, so make sure that no other cards or stray cables are impeding the flow of air around it.

  • Place your sound card in PCI slot 2, which is typically assigned to IRQ 5 (commonly used by sound cards).

  • Place your modem, if you have one, in PCI slot 4, typically assigned to IRQ 9 or 10.

  • The rest of your cards can be stuck in whatever slots are left over.



    Windows XP Annoyances For Geeks
    Fixing Windows XP Annoyances
    ISBN: 0596100531
    EAN: 2147483647
    Year: 2003
    Pages: 97
    Authors: David A. Karp

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net