|
Free Open Book
Windows XP Annoyances |
6.3 Dealing with Drivers and Other Tales of Hardware TroubleshootingA driver is the software that allows your computer—and all of its applications—to 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.
Problems arise when a driver is buggy or outdated, or 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 for 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 DriverWindows 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:
Figure 6-1. 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. 6.3.2 Updating and Verifying DriversAssuming 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.
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 as the Driver Provider field. Instead, most are simply submitted by the 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):
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 date—it 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 usually—but not always—more 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 inconsistenciesNote 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 filesA 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 the 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 different—don't expect a set of tricks that worked for one driver to necessarily work for another.
6.3.3 Handling Misbehaving DriversNever 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 re-detect 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 Working with Restore PointsThe 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 installed in your computer 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 attempting a System Restore. Use System Restore as a last resort only. Furthermore, System Restore, when enabled, uses up to 12% of your computer's hard disk space; on a 40-GB drive, that means that nearly 5 GB is devoted to a feature that typically needs no more than a few hundred megabytes. To configure System Restore, go to
Control Panel
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.5 Understanding Version ControlOne 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 several—sometimes all—Windows 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 either is 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.6 Firmware: Software for Your HardwareUser-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 computer. 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.7 Resolving Hardware ConflictsMost hardware and software problems are caused by incompatibilities or conflicts, where two or more components simply don't work together—even 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 devices that are available to us, 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 devices, such as memory addresses, SCSI ID's, integrated drive electronics (IDE) channels, and serial and parallel ports, can 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 devices, such as pointing devices, scanners, cameras, and printers, which connect to your computer's external ports, don'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-2 shows the Resources tab of a common SCSI controller. Figure 6-2. The Resources tab of a device's Properties sheet shows the hardware resources currently in use by the device.
6.3.7.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 painless—at 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 sure-fire 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.8 The Trials and Tribulations of Plug-and-PlayMost 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:
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 devices—even if one does exist—which 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.7, 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.[4] This will then leave spaces open (usually lower IRQs), which other devices in your system can then occupy.
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.8.1 Special case: Stop Plug-and-Play from detecting devicesOne 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 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.9 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 X 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.9 Using Multiple Hardware ConfigurationsIn many cases, solving a problem with a computer means simply 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, you'll have to 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.10 Which Slots to Use for Internal DevicesTheoretically, 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.)
Here are a few tips to help you put internal cards in the most suitable locations inside your computer:
|
Main Menu |
| 500 Juegos Gratis | 500 Giochi Gratis | 500 Jeux Gratuits | 500 Jogos Gratis | 500 Kostenlose Spiele |