The Microsoft Windows XP Professional operating system provides features that simplify installing, configuring, and managing computer hardware. Plug and Play is a feature that automatically configures devices, loads device drivers, and works with other Plug and Play devices to allocate resources, all without user intervention. Windows XP Professional supports devices that use the USB and IEEE 1394 buses, as well as devices that connect over other buses. Understanding hardware management features and support in Windows XP Professional helps you install, configure, and troubleshoot hardware devices.
For information on how to obtain the Windows XP Professional Resource Kit in its entirety, please see http://www.microsoft.com/mspress/books/6795.asp.
On This Page
Plug and Play Device Detection
Configuring Device Settings
For more information about using printers, see Chapter 11, “Enabling Printing and Faxing.”
For more information about power management on portable computers, see Chapter 7, “Supporting Mobile Users.”
Plug and Play in Windows XP Professional allows a user to simply connect a hardware device and leave the job of configuring and starting the hardware to the operating system. However, computer hardware, device drivers, and the system BIOS must all be designed properly in order to install new devices without user intervention. For example, although Windows XP Professional provides Plug and Play functionality, if no Plug and Play–capable driver is available for a given device, the operating system cannot automatically configure and start the device.
When a hardware device is connected, as when a user plugs a USB camera into a USB port, Plug and Play Manager goes through the following steps to successfully install the device:
After receiving an insertion notification, Plug and Play Manager checks what hardware resources the device needs (such as interrupts, memory ranges, I/O ranges, and DMA channels) and where to assign those resources.
Plug and Play Manager checks the hardware identification number of the device. It then checks the hard drive, floppy drives, CD-ROM drive, and Windows Update for a driver that matches the hardware identification number of the device.
If multiple drivers are found, Plug and Play Manager chooses the optimal driver by looking for the closest hardware ID or compatible ID match, driver signatures, and other driver features, and then installs the driver and starts the device.
Device drivers included with or installed under Windows XP Professional must meet the standards of the Designed for Windows XP Logo Program (http://www.microsoft.com/winlogo). Device drivers that have passed the Windows Hardware Quality Lab (WHQL) compatibility tests (http://www.microsoft.com/whdc/whql) are digitally signed, and Windows XP Professional detects the digital signature. For system stability, it is recommended that you use only signed device drivers with Windows XP Professional. A message notifies the user if an unsigned driver is being installed.
When multiple drivers are available for a given device, Windows XP Professional uses driver-ranking schemes to determine the optimal driver to load. Driver rank is established based on whether the driver is signed and how closely the driver’s Plug and Play ID matches the device’s Plug and Play ID.
For more information about Driver Signing, see “Windows Update” and “Driver Signing” later in this chapter. For more information about driver-ranking schemes, see “Driver Ranking” later in this chapter.
The extent of Plug and Play support depends on both the hardware device and the device driver. For example, an older device that is not Plug and Play—such as a manually configured Industry Standard Architecture (ISA) sound card or an Extended Industry Standard Architecture (EISA) network adapter—can gain functionality from a Plug and Play driver.
If a driver does not support Plug and Play, its devices behave as non–Plug and Play devices. This might result in the loss of some operating system functionality. For example, power management features such as hibernation might not work.
Note For monitors, Windows XP Professional supports Plug and Play installation only when the monitor, display adapter, and display driver are Plug and Play; otherwise, the monitor is detected as “Default Monitor.”
If you connect the monitor by using a switch box, Plug and Play attributes of the monitor might be lost.
In Windows XP Professional, Plug and Play support is optimized for computers that include an Advanced Configuration and Power Interface (ACPI) BIOS. The ACPI BIOS is responsible for tasks such as describing hardware that is not visible to Plug and Play because the hardware is connected to a bus that does not support Plug and Play. For example, the ACPI BIOS describes and helps in configuring devices such as system timers and programmable interrupt controllers on the motherboard, which is not on a bus that supports Plug and Play.
For all Plug and Play features to work on a given system, the system must include an ACPI BIOS and hardware devices and drivers that are Plug and Play compliant. An Advanced Power Management (APM) BIOS or a Plug and Play BIOS does not enable all Plug and Play features and is not as robust as ACPI.
When you troubleshoot or manually change resource settings, it is helpful to know whether Plug and Play functionality is provided by the operating system or by the BIOS. If Plug and Play is handled by the BIOS and you manually change resources that are allocated to hardware devices (such as interrupts or memory ranges), these changes become fixed and the operating system cannot reallocate those resources. When any hardware resource is fixed, Windows XP Professional loses some of its ability to optimally allocate resources among all devices in the system. When Windows XP Professional cannot optimally allocate all resources, the likelihood is increased that one or more devices might not function properly as a result of resource allocation problems.
For more information about ACPI, see the ACPI link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources and “Power Management” later in this chapter.
On x86-based computers, the way that the system BIOS code interacts with Plug and Play devices depends on whether the system BIOS or the operating system configures hardware. If your computer has this option, the setting for the Enable Plug and Play operating system switch can affect this interaction.
For more information about setting Plug and Play BIOS settings, see “Setting Plug and Play BIOS Settings” later in this chapter.
Some Plug and Play devices can be installed or removed while the system is running. For example, USB, IEEE 1394, and PC Card devices can be added to and removed from a fully powered system. When such hardware is added or removed, the operating system automatically detects insertion or removal of the device and manages system and/or hardware configuration as required. If the device is not designed to be removed while the system is running, it is recommended that you notify the operating system in advance to avoid problems. The Safely Remove Hardware application notifies the operating system that a device will be removed.
Table 9-1 shows the different types of Plug and Play devices and whether they can be removed while the system is turned on.
Table 9-1 Plug and Play Device Connections and Installation Guidelines
Devices on these buses or connectors
Can be added to or removed from a running system
System must be turned off before device is added/ removed from system
USB, IEEE 1394,
Yes. Remove hardware by using the Safely Remove Hardware application if it appears in the notification area.
PCI, ISA, EISA
Varies among computer manufacturers; most support docking and undocking while the computer is running.
Varies among computer manufacturers; most support docking and undocking while the computer is running.
For more information about the Safely Remove Hardware application, see “Safe Removal of Plug and Play Devices” later in this chapter. For information about the Hot Undocking feature for portable computers, see Chapter 7, “Supporting Mobile Users.”
Device Manager displays all devices installed in the system as shown in Figure 9-1. The devices shown in Device Manager represent the computer’s hardware configuration information. The Device Manager display is re-created each time the computer is started, or whenever a dynamic change to the computer configuration occurs, such as addition of a new device while the system is running. You can use Device Manager to enable or disable devices, troubleshoot devices, update drivers, use driver rollback, and change resources such as interrupt requests (IRQs) assigned to devices.
You can open Device Manager as follows:
On the Start menu, right-click My Computer, select Manage, and then select Device Manager under System Tools.
– or –
In Control Panel, click Performance and Maintenance, and then click System. On the Hardware tab, click Device Manager.
To view the property sheet for a device in Device Manager, double-click the device type. Rightclick the individual device, and select Properties. The following types of information are shown for the device type:
Driver name, vendor, date, version, and digital signature information
System resources allocated to the device, such as interrupt request (IRQ) lines, memory ranges, and I/O address ranges
Options to update the driver, roll back the driver, and uninstall the driver
Other options specific to the type of device being considered
Figure 9-1 shows a Device Manager listing of system devices.
Figure 9-1 System devices in Device Manager
From the View menu in Device Manager, you can select one of four views of system devices.
Devices by type
This is the default device tree view for Device Manager. Device types include hardware such as disk drives, keyboards, Human Interface Devices (HIDs), or system devices. Double-clicking on a device type displays a list of the devices of that type on the system.
Devices by connection
This view shows how devices are connected to each other. This might be useful, for example, when you connect devices to a USB hub, and then connect other devices to the devices on the hub. You can see where each device fits into the chain of connection.
Resources by type
This view shows the four default resource types (and any others that are configured on your system). The four default system resource types are direct memory access (DMA), input/output (IO), interrupt request (IRQ), and reserved memory. Double-clicking on a resource type displays a list of the devices that are using a resource of that type.
Resources by connection
This view shows the four default resource types (and any others that are configured on your system). Double-clicking on the system resource type shows the device types that are using a resource of that type, and how they are connected. This view might be particularly useful when you need to see whether a child device requires more memory resources than are available to a parent device.
Specific icons in Device Manager indicate device types and indicate any device problems, such as resource conflicts, or whether a device is disabled. The icons that denote device problems or disabled status are:
A yellow exclamation point, which means that the device has a problem.
A red “X,” which means that the device is disabled.
A blue “i” for “information,” which means that the device has forced resource configurations. This icon is seen only in the two resource views.
Error codes that describe the type of problem a device might be experiencing are also displayed on the Properties pages of the device. For a list of these error codes, see Microsoft Knowledge Base article 310123 “Explanation of error codes generated by Device Manager” found at http://support.microsoft.com/kb/310123.
To update the driver for the device, disable or uninstall the device, scan for hardware changes, or view the device properties, right-click the device and then make your selection on a menu.
Administrators can use Group Policy settings to prevent user access to Device Manager. For more information about Group Policy, see Chapter 5, “Managing Desktops.”
More Info For information about using Device Manager to configure devices, see “Configuring Device Settings” later in this chapter.
Viewing Hidden Devices
Two types of devices are hidden by default in Device Manager. Non–Plug and Play drivers, printers, and other classes of devices that are not typically useful in configuring or troubleshooting hardware issues are hidden. Also hidden are devices that were previously attached but are not connected to the computer at the present time, also known as nonpresent devices. Typically you will not need to view hidden devices unless you need to configure or troubleshoot hardware. Each category of hidden device requires a different procedure for Device Manager to display the devices in that category.
To view currently attached non–Plug and Play drivers, printers, and other devices
- In Device Manager, on the View menu, select Show hidden devices.
The following procedure shows nonpresent devices for this instance of Device Manager only.
To view a list of previously attached (nonpresent) devices
At the command prompt, type:
Devmgmt.msc set DEVMGR_SHOW_NONPRESENT_DEVICES=1
In Device Manager, on the View menu, select Show hidden devices.
The following procedure sets the option in Device Manager to show nonpresent devices whenever Device Manager is run.
To set Device Manager to always show previously attached (nonpresent) devices
To view the list of nonpresent devices with Device Manager, you must select Show hidden devices in Device Manager, as described earlier.
In Control Panel, click Performance and Maintenance, and then click System.
Click the Advanced tab.
Click Environment Variables.
The Environment Variables dialog box contains two sections, User variables and System variables. The changes made by adding a variable in the User variables section apply only to a specific user. If another user logs on to this computer, this variable will not be set for him. If you want this variable to apply to all users that log on to this computer, add it to System variables instead.
In the User variables or System variables dialog box, click New.
In the New User Variable or New System Variable dialog box, in Variable Name, type the following (including the underscores):
In Variable Value, type 1.
Click OK, and then in the Environment Variables dialog box, click OK to apply this change.
For more information about environment variables, see Chapter 29, “Troubleshooting the Startup Process.” For more information about using Device Manager, see Windows XP Professional Help and Support Center.
Plug and Play Device Detection
Plug and Play in Windows XP Professional provides the following services:
Detects a Plug and Play device, and determines its hardware resource requirements and device identification number
Allocates hardware resources
Dynamically loads, initializes, and unloads drivers
Notifies other drivers and applications when a new device is available
Works with power management to install and remove devices
Supports a range of device types
After Windows XP Professional detects a Plug and Play device, the device driver is configured and loaded dynamically, typically without requiring user input. Some buses, such as Peripheral Component Interconnect (PCI) and USB, take full advantage of Plug and Play. Older buses, such as ISA, do not take full advantage of Plug and Play and require more user interaction to ensure devices are correctly installed.
Plug and Play Detection on ACPI Systems
ACPI is a hardware and software interface specification that combines and enhances the Plug and Play and Advanced Power Management (APM) standards. ACPI also shifts many power management tasks to the operating system.
When a new device is plugged in, the following steps occur:
The function driver for the bus detects a new device on the bus.
The bus driver notifies Windows Plug and Play that its set of devices has changed.
Windows Plug and Play queries the driver for the current list of devices on the bus.
When Windows Plug and Play obtains the current list of devices, it determines whether any devices have been added or removed.
Windows Plug and Play gathers information about the new device and begins configuring it.
Windows Plug and Play checks the registry to determine whether the device has been installed on this computer before and if not, it stores information about the device in the registry.
Windows Plug and Play attempts to find and load the function and filter drivers for the device if any exist.
Windows Plug and Play assigns resources to the device if needed and issues an I/O request packet (IRP) to start the device.
For more information about device detection, see the Driver Development Kits link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
Plug and Play Detection on Non-ACPI x86-Based Systems
On non-ACPI x86-based computers, the system BIOS configures Plug and Play and performs the following steps:
Isolates any Plug and Play ISA devices for configuration.
Builds a map of the resources allocated to non–Plug and Play devices.
Maintains a list of previous resource configurations in nonvolatile storage or memory.
Selects and enables input and output devices required during the startup process.
Initializes the device ROM if the device is a boot device.
Allocates conflict-free resources to devices that have not yet been configured.
Activates appropriate devices.
Initializes any option ROMs that are detected.
Starts the bootstrap loader.
Allocating System Resources
Each installed device must be allocated a set of operating system resources to operate properly. Some of these resources can be shared, while others cannot, depending on the capabilities of the hardware and drivers. System resources allow hardware components to gain access to CPU and memory resources without conflicting with each other.
System resources include:
Interrupt request (IRQ) lines
Direct memory access (DMA)
Input/output (I/O) port addresses
Windows Plug and Play determines the system resources required by each device and assigns them appropriately. Windows Plug and Play can reconfigure resource assignments as necessary, such as when a new device is added that requires resources that are already in use. It can also detect ISA devices and configure non–Plug and Play hardware.
Interrupt Request Lines
IRQ lines are used by hardware devices to communicate with the CPU. The traditional architecture for x86-based computers uses 16 IRQs (numbered from 0 to 15), some of which are reserved for devices such as the system clock, keyboard, and math co-processor. As new expansion cards are added to the computer, the remaining free IRQs are allocated to these new devices as needed. However, not all devices require IRQs to operate. Certain ISA and PCI multimedia peripherals, for example, do not require use of IRQs. Also, traditional secondary bus types (such as SCSI) and more recent types (such as USB and IEEE 1394) require only a single IRQ regardless of the number of devices connected to the host adapter.
ISA devices that use IRQs require sole access to interrupt lines to function properly, so one interrupt cannot be shared by multiple ISA devices. Because of this restriction, any system that includes ISA devices has a higher likelihood of running out of IRQs. And, once all IRQs are allocated, if a new device is added, it cannot start because no IRQ is available for it to operate. One of the major benefits of PCI over ISA is that PCI allows x86-based systems to share IRQs. Although some problems with IRQ sharing exist, most are related to high-bandwidth devices. Windows XP Professional manages IRQs using a first in, first out (FIFO) stack. The more devices that share a single IRQ, the longer it takes to traverse this stack, which can have a systemwide performance impact. Performance problems might be reduced if high-bandwidth devices such as high-speed network adapters and high-end Small Computer Systems Interface (SCSI) controllers, for example, use different IRQs. More flexible interrupt handling models are available on newer x86-based ACPI systems that support the Advanced Programmable Interrupt Controller standard. Systems that incorporate the Advanced Programmable Interrupt Controller have access to more interrupts, which avoids the need to share interrupts.
Most x86-based systems do not support manual configuration of IRQ settings. However, a few do offer this capability as a troubleshooting feature. If you are experiencing problems with system lockups or stability, you have two alternatives:
If your system firmware supports manual configuration of IRQ settings, as a troubleshooting method, try manually assigning IRQs to specific PCI slots by using the configuration options in the BIOS. If you need to manually assign IRQ addresses for an ACPI-compliant computer and the BIOS option to disable ACPI is available, disable ACPI before installing Windows XP Professional. However, remember that it is best not to change the BIOS default or automatic settings unless you have a specific reason to do so.
If your system does not support manual configuration of IRQ settings, try moving high-performance peripherals to another slot.
For more information about PCI devices and IRQ sharing, see article 314068, “General Description of IRQ Sharing in Windows XP,” in the Microsoft Knowledge Base. To find this article, see the Microsoft Knowledge Base link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
Caution Changing default settings such as IRQs can cause conflicts that might make one or more devices unavailable on the system.
IRQ assignments can be reviewed using Device Manager. For more information about Device Manager, see “Device Manager” earlier in this chapter.
Direct Memory Access Channels
Direct memory access (DMA) channels allow devices to write and read directly to and from physical memory without placing a load on the CPU. This enhances system performance for devices such as network cards, because the CPU does not need to move blocks of data from memory to a device and back again. For x86-based systems, there are eight DMA channels, with several reserved for certain devices such as the DMA controller and floppy disk drive. Typically, x86-based systems have five or six available DMA channels.
I/O Port Address and Reserved Memory
Data passed between the CPU or RAM and a device must be moved through a dedicated block of memory. I/O port address ranges and memory address ranges denote a reserved area of memory that is dedicated to a specific device. Typically, these memory ranges are determined by the operating system. Manual changes are necessary only in specific cases (when using non–Plug and Play ISA hardware, for example).
Safe Removal of Plug and Play Devices
Some buses allow devices to be hot-plugged—added or removed while a system is running. Examples of such buses include USB, IEEE 1394, PC Card, and CardBus. For devices on other buses, such as ISA and PCI, the computer must be turned off before devices are added or removed.
Note While primarily intended for servers, Windows XP also supports the Hot-Plug PCI specification through ACPI. This specification allows users to install and remove PCI devices while the computer is running for compliant PCI devices and controllers. For more information, see http://www.microsoft.com/whdc/system/pnppwr/hotadd/hotplugpci.mspx.
When removing a device from a bus that supports hot plugging, if the Safely Remove Hardware icon appears in the notification area, use the Safely Remove Hardware application as explained later to ensure a safe removal of hardware from the system. The Safely Remove Hardware application informs Windows that the user intends to remove a device. This gives Windows an opportunity to prepare for the removal by taking steps such as halting data transfers to the device and unloading device drivers.
When hardware is removed from a running system without using the Safely Remove Hardware application, it is often referred to as surprise removal because the operating system is not notified in advance of the removal. Surprise removal is particularly a concern for storage devices for which write caching is enabled, because when such devices are surprise removed, data loss or corruption might occur. To reduce the likelihood of data loss or corruption as a result of surprise removal of consumer-oriented storage devices, Windows XP Professional disables write caching by default for these devices (such as cameras that include IEEE 1394 or USB storage, small form factor storage devices such as compact flash, and so on). While write caching policy addresses this particular issue, it is recommended that users continue to use the Safely Remove Hardware application when it appears in the notification area. Also, disabling write caching might slow the performance of consumer-oriented storage devices.
Write caching is enabled by default for high-performance external storage devices such as IEEE 1394 hard drives and SCSI hard drives, in addition to being enabled for storage devices inside the computer that cannot be surprise removed.
Caching policy defaults can be changed in Device Manager for high-performance external storage devices. In Device Manager, on the property sheet for the removable storage device, click the Policies tab to view the default write caching settings for the device. If the Policies tab does not display, this option is not provided for the device. If the write caching settings are enabled, you can change the settings based on your performance and safe removal needs as follows:
Click Optimize for quick removal to disable write caching on the storage device and in Windows. This allows you to remove the device without using the Safely Remove Hardware application, but it can have an impact on the performance of the device.
Click Optimize for performance to enable write caching in Windows, which can improve the performance of the storage device. However, you must use the Safely Remove Hardware application to disconnect the device from the computer.
If these write caching options are not available, your storage device is not removable without turning off the computer and a different option displays in the dialog box. This option allows you to disable write caching for your storage device, which can affect the performance of the device.
Users should also inform the operating system before removing a portable computer from a docking station. For more information about docking and undocking procedures, see Chapter 7, “Supporting Mobile Users.”
Safely Remove Hardware Application
Before you remove a device from a bus that supports hot plugging, check to see whether the Safely Remove Hardware icon appears in the notification area. If it does, it is recommended that you use the Safely Remove Hardware application to notify the operating system that the device is about to be unplugged.
To notify the operating system about removing a Plug and Play device
Click the Safely Remove Hardware icon in the notification area. The icon displays a notification bubble with a list of devices currently attached to the system.
Click the device you want to remove. The device is stopped and can then be unplugged.
Windows XP Professional includes many features that help ensure that the device drivers installed on your computer are reliable and up to date. Drivers are signed by Microsoft after they pass a series of tests for reliability. Windows XP Professional checks for a digital signature whenever a driver is installed and issues a message if the driver is not signed. In addition, drivers that are known to cause problems in Windows are blocked from loading or installing, because Windows XP Professional checks a database of known problem drivers when the computer is started or when a device driver is loaded. If the driver is located in the database of known problem drivers, it cannot be installed or used on your computer. Another feature is Windows Update, a Web site where updated versions of signed drivers are available for download. These and other Windows XP Professional features for device drivers contribute to a stable computing environment and are discussed here in more detail. Device Manager provides details about device drivers on the device’s Properties page. Click the Driver tab and select Driver Details to list all the drivers the device is using. Driver details displayed include whether the driver is signed, its version, and whether it has been blocked from loading. For more information about Device Manager, see “Device Manager” earlier in this chapter.
Microsoft uses a multistage process to test device drivers. Drivers are subjected to compatibility tests administered by the Windows Hardware Quality Lab (WHQL), and drivers that successfully complete the process are digitally signed. Because of this testing, signed drivers are typically more robust and reliable. Once a driver is digitally signed, Windows XP Professional recognizes it when it is loaded. Windows XP Professional notifies the user if a driver is not signed or if a driver file has been changed since its inclusion in the Windows Catalog, which contains an up-to-date list of hardware that is supported for Windows XP by Microsoft.
Tip The Windows Catalog at http://www.microsoft.com/windows/catalog replaces the older Hardware Compatibility List (HCL), but you can still access text-only versions of the HCL for different Windows versions from Windows Hardware and Driver Central at http://www.microsoft.com/sql/prodinfo/previousversions/winxpsp2faq.mspx.
The digital signature is associated with individual driver versions, and it certifies to users that the driver provided with the device is identical to the driver that was tested.
The following three driver-signing policy settings in the operating system enforce signature verification and determine what the operating system does with an unsigned driver:
Warn Checks the signature on the driver before installation, and displays a warning if the signature verification fails. The driver can still be installed, although installation is not recommended.
Block Checks the signature on the driver before installation, and blocks installation of the driver if the signature verification fails.
Ignore Silently checks the signature on the driver, logs any unsigned driver files to a log file, and allows the installation of the driver.
Note The computer displays the Warn dialog box if you try to replace a signed driver with an unsigned driver, even if the policy is set to Ignore.
“Warn” is the default setting. You can change the driver-signing policy for a user without administrator permissions, but you must have administrator permissions to change the driver-signing policy setting for a computer. Group Policy settings can be used to change the driver-signing policy from the defaults. For more information about using Group Policy, see Chapter 5, “Managing Desktops.”
To set signature verification options
In Control Panel, open Performance and Maintenance, and then open System.
Click the Hardware tab, and then click Driver Signing.
Under What action do you want Windows to take?, click the option for the level of signature verification that you want to set.
For more information about file signature verification and signature checking, see Appendix C, “Tools for Troubleshooting.”
Note If you are logged on as a member of the Administrators group, you can apply the selected driver-signing setting as the default for all users who log on to a computer by clicking Make this action the system default.
Windows Update is an online extension of Microsoft Windows and provides a central location for product enhancements, such as Service Packs, device drivers, and system security updates. Windows XP Professional users can install or update drivers from the Windows Update Web site. When a user accesses the Windows Update Web site, Windows Update compares the drivers installed on the user’s system with the latest updates available. If newer drivers are found, Windows Update offers the list of applicable drivers to the user. The user can then choose whether to download and install the newer drivers.
Because installing drivers not included on the Windows XP Professional installation CD-ROM requires administrative rights, you must be logged on as an administrator to update a driver from Windows Update. In addition, administrators can use Group Policy to restrict users’ access to Windows Update. For more information about restricting access to or configuring Windows Update, see Appendix C, “Tools for Troubleshooting.”
Drivers are included on Windows Update only if they are digitally signed, have passed the testing requirements for the Designed for Windows XP Logo Program, and the vendor has given Microsoft redistribution rights for those drivers. This ensures that the drivers offered to users from Windows Update are of high quality and reliable.
Using Automatic Updates, an administrator can configure a computer to notify a user about new updates, so the user can then download and install them, if desired, when they become available. This feature takes advantage of Windows Update to check the availability of critical updates that apply to your computer. Drivers are offered through Automatic Updates only if the driver is marked critical and no other driver is installed for a device.
You can access Windows Update by using any of the following methods:
Open Internet Explorer, and on the Tools menu, select Windows Update.
Open Help and Support Center and select Windows Update.
Open Programs and select Windows Update.
Use Update Driver in Device Manager.
Run the Add Printer Wizard for printer drivers.
Devices have a hardware ID that uniquely identifies the device. The Plug and Play IDs of devices include hardware IDs and compatible IDs. The list of hardware IDs and compatible IDs supported by an individual driver is listed in its .inf file. If the hardware ID of the device exactly matches one of the hardware IDs supported by the driver, there is a hardware match. If some other match occurs (for example, device hardware ID to driver compatible ID), there is a compatible match. Drivers that have a hardware or compatible match with the device are candidates for download and installation. If a hardware or compatible match exists, Windows Update determines whether the driver on Windows Update is newer than the installed one. If it is newer, the driver is presented to the user. Also, if the hardware ID for the driver on Windows Update is a better match than the installed one, Windows Update offers that driver to the user. If the user chooses to install the offered driver, the file is downloaded, and the Windows Update ActiveX control points the Device Manager to the .inf file for installation. For more information about hardware IDs and compatible IDs, see “Driver Ranking” later in this chapter.
For more information about Windows Update, see the Windows Update link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
Enterprise-Wide Driver Update Using Windows Update
IT administrators can standardize the updates made to device drivers and other software by using the Microsoft Windows Update Catalog site, which is accessible from the main Windows Update site. This site provides a comprehensive catalog of updates that can be downloaded for distribution to other computers or over a corporate network. To ensure that updates are synchronized enterprise-wide, you can download updates, and then test and approve the new software before distributing it. After the updated drivers are downloaded, tested, and approved, they can be prepared for enterprise-wide installation using standard software deployment tools and techniques such as Windows Update Services (WUS), Software Update Services (SUS), or Microsoft Systems Management Server (SMS). For more information on these solutions, see Chapter 15, “Managing Software Updates.”
Administrators who want to download updated device drivers for deployment to Windows XP computers on their network can use the Windows Update Catalog on the Windows Update Web site to do this as follows:
Open the Windows Update Web site at http://windowsupdate.microsoft.com.
Select Administrator options, click Windows Update Catalog, and click Find hardware driver updates.
Add the device drivers you want to your download basket.
Windows XP Professional uses driver-ranking schemes to determine which driver to load when multiple drivers are available for a device. Drivers are ranked by whether they are signed and how closely their Plug and Play ID matches the device’s Plug and Play ID. The Plug and Play ID of a driver or device consists of hardware IDs and compatible IDs. If the hardware ID of the driver exactly matches one of the hardware IDs of the device, there is a hardware match. If some other match occurs (for example, device hardware ID to driver compatible ID), there is a compatible match. Driver rank also depends on whether the device information file (.inf file) for the device includes information specifically for installations in a Microsoft Windows NT environment. If multiple drivers for a device exist, the lowest ranking driver is installed. The following list summarizes the driver-ranking scheme for Windows XP Professional from lowest (best match) to highest rank:
Signed driver with a hardware match to the device
Signed driver with a compatible match to the device
Unsigned driver with a hardware match to the device (with Windows NT–targeted INF section)
Unsigned driver with a compatible match to the device (with Windows NT–targeted INF section)
Unsigned driver with a hardware match to the device (without Windows NT–targeted INF section)
Unsigned driver with a compatible match to the device (without Windows NT–targeted INF section)
Windows Driver Protection
Windows Driver Protection features in Windows XP Professional prevent users from installing, loading, or running drivers on their system that are known to cause problems in Windows.
Microsoft maintains a database of known problem drivers that is used to determine which drivers Windows Driver Protection prevents from being installed or loaded. A driver is included in the database if there is a high probability that it will cause the system to hang or crash. The driver is identified in the database by file name, driver version, and link date. Updates to the database are downloaded to your computer from Windows Update.
If you try to install a driver that is listed in the known problem driver database, you will get a message notifying you that this is a driver that will cause system problems and the driver is not installed. The message also contains a link to a Web page that gives you more information and might offer updates to the drivers.
Note If you install drivers by using a custom executable, the problem driver database might not be checked during installation and notices about problem drivers might not be displayed. However, drivers that are missed by installation detection will be detected at load time and blocked successfully regardless of installation method.
The known problem driver database is also checked each time the computer is started and each time a driver is loaded to catch any problem drivers that might be loaded at startup. If a problem driver is installed after the computer is started, the next time you start the computer the loading process prevents the problem driver from being loaded.
When you log on to a computer where a driver has been blocked, an icon and a Help balloon display in the notification area. Clicking the icon accesses the My Computer Information—Health page in the Tools Center of Windows XP Professional Help and Support Center, where details are provided for the list of drivers blocked since the last time the computer was started. For each driver in the list, a link is provided that opens an appropriate help file that describes in more detail the problem with the driver and contact information for the device manufacturer.
Each time a known problem driver is blocked, an entry is made in the computer’s event log.
Driver Search Policy
When a new device is installed, Windows XP Professional searches four different locations for device drivers in this order: the hard drive, the floppy drive, the CD-ROM drive, and Windows Update. The default is to search all four locations in order for a device driver until the correct one is found, but you can configure the driver search locations to remove any or all of these locations. For example, you might want to prevent users from going to Windows Update to search for an updated driver.
To change driver search locations
Click Start, and then click Run. Type gpedit.msc and click OK to open the local Group Policy object (LGPO) in the Group Policy snap-in.
Select Local Computer Policy, select User Configuration, select Administrative Templates, and then expand the System item.
In the list of configuration options, double-click Configure driver search locations.
On the Setting tab, make sure that Enabled is selected.
Select the check boxes for the options you want to disable. Click Apply, and then click OK.
Device Drivers in the Driver.cab File
The Windows XP Professional device drivers included on the Setup CD are stored in a single cabinet file named Driver.cab. This file is used by Setup and other system components as a driver file source. You can view the contents of the Driver.cab file by double-clicking it in Windows Explorer.
Information files (.inf files) are searched when Windows XP Professional starts or new hardware is detected. These text files provide the names and locations (typically Driver.cab) of driver-related files and the initial settings required for new devices to work. During setup, Driver.cab is copied from the installation CD to the local hard disk in the %windir%\Driver Cache\I386 directory. The folder where the file can be found is specified in the registry entry DriverCachePath in the subkey HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \Windows\CurrentVersion\Setup.
Caution Do not edit the registry unless you have no alternative. The registry editor bypasses standard safeguards, allowing settings that can damage your system, or even require you to reinstall Windows. If you must edit the registry, back it up first and see the Microsoft Windows XP Registry Guide by Jerry Honeycutt (Microsoft Press, 2003).
Copying a large Driver.cab file to the local hard disk instead of leaving it on the CD or network has the following advantages:
With the driver set on the local hard disk, users do not need the Setup CD to install new devices, which especially benefits mobile users. Exceptions are products with Windows drivers that are not included on the Setup CD.
Users do not need local administrator rights to install new hardware because all device drivers stored in Driver.cab are on the hard disk and are digitally signed.
For network-based setups, copying the Driver.cab file to the local hard disk reduces bandwidth requirements in these ways:
During setup, less system and network overhead is required to copy the single large Driver.cab file than many small files.
During subsequent hardware installations, driver files already reside on the local hard disk and do not need to be copied over the network.
A new device requires corresponding driver files in order to work. Setup reads the Drvindex.inf file to find entries for the device. If an entry exists, Setup searches the following paths:
systemroot\Driver Cache\I386\servicepack.cab (for example sp2.cab when Windows XP Service Pack 2 is installed).
The original Windows XP Professional installation source, such as a network share or a local CD-ROM drive. The Windows XP Professional source location is stored in the registry entry SourcePath in the subkey HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion\Setup.
If the required files do not exist in any of the preceding locations, or if references are not located in the Drvindex.inf file, Setup prompts the user to supply the required files.
Windows XP Professional supports a broad range of hardware, including system buses such as Universal Serial Bus (USB) and Institute of Electrical and Electronics Engineers (IEEE) 1394. Other system buses are also supported, in addition to devices such as network adapters and other internal adapters, modems, digital audio devices, DVD, Human Interface Devices (HID), still-image devices, smart cards, and video-capture devices.
Note Additional hardware support for new kinds of devices might have been added to Windows XP in the most recent service pack released. For a complete and up-to-date list of all hardware and types of devices supported by Windows XP, see the Windows Catalog at http://www.microsoft.com/windows/catalog. For troubleshooting information concerning different kinds of devices supported by Windows XP, search the Microsoft Knowledge Base for that device type. For example, to find detailed technical information and troubleshooting help concerning USB devices, search the Knowledge Base for “USB” using the Microsoft Knowledge Base link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
Universal Serial Bus
Universal Serial Bus (USB) is a standards-based, external serial bus for the computer. USB is universal in that many types of peripheral devices can be connected to a computer by plugging them into USB ports, using standard USB cables, connectors, and sockets. USB fully supports Plug and Play, which means peripheral devices can be plugged in and unplugged while the computer is running. The operating system immediately detects a device that is plugged in and tries to load device drivers for the device.
USB hubs can be used to connect several devices to one computer. A hub provides multiple USB ports for Plug and Play devices. The hub is then plugged into the computer, directly or through another hub, using a single USB cable.
Windows XP Professional has built-in support for many USB devices. (See “USB Devices” later in this chapter.) When a user plugs in a USB device for which Windows XP Professional does not have built-in support, a dialog box is displayed that allows the user to manually point the Plug and Play subsystem to the location of the device drivers for that device (typically independent hardware vendor [IHV]–provided drivers on a floppy disk or CD-ROM).
USB has the following advantages:
All USB devices connect to the computer by using either the standard USB port or an A connector.
A USB controller supports up to 127 devices. Hubs are used to obtain ports in addition to those supported by the root hub.
USB supports hot plugging—plugging in or unplugging a USB device while the computer is running.
USB supports the selective suspend feature, which allows USB device drivers to selectively shut down their devices when they detect that the devices are idle. When the device is put back in use, such as when a user moves a USB mouse, the driver turns the device back on. This is particularly important for power management of mobile computers.
As illustrated in Figure 9-2, USB uses a tiered topology so that you can simultaneously attach up to 127 devices to the bus. USB supports up to seven tiers, including the root tier and five nonroot hubs. The lowest tier supports only a single nonhub device. Under the USB specification, each device can be located up to 5 meters from the hub or port it is connected to.
Figure 9-2 USB tiered topology
There are three types of USB components:
Host controller Also known as the root, the root tier, or the root hub, the host controller can be built into the motherboard of the computer or installed as an add-in CardBus or PCI card in the computer to gain additional ports and bandwidth. The host controller controls all traffic on the bus and also functions as a hub.
Hub Provides multiple ports, for attaching devices to the USB bus. Hubs are also responsible for detecting devices that are plugged in or unplugged, and for providing power for attached devices. Hubs are either bus-powered, drawing power directly from the USB bus, or self-powered, drawing power from an external AC adapter. Bus-powered hubs are capable of providing 100 milliamperes (mA) of power per port for attached devices, and they can provide a maximum of four ports for devices to be plugged into. Self-powered hubs, on the other hand, typically provide 500 mA of power per port, and they can provide more than four ports. Hubs can be stand-alone devices, or they can be integrated into other devices such as keyboards and monitors.
Device A USB device, which is attached to the bus through a port. A USB device can be any kind of peripheral device, such as a keyboard, mouse, game controller, printer, and so forth. Certain USB input devices such as keyboards and mice require only 100 mA of power to function. Thus, they can be plugged into both bus-powered and self-powered hubs, in addition to being plugged directly into a root port. Other devices such as printers, scanners, storage devices, and video-conferencing cameras might require 500 mA of power to function. These kinds of devices can only be plugged into root ports or self-powered hubs. If the device requires more than 500 mA of power, it includes a wall plug provided by the vendor for power.
A USB device typically implements a single function, as a keyboard or mouse does. However, a USB device can also implement multiple functions, such as scanning, printing, and faxing. When such a multifunction device, or USB composite device, is plugged in, the operating system enumerates all the functions in the device and loads device drivers for each function.
A USB device might also include a built-in hub to enable additional devices to be plugged into it. Such a device is known as a USB compound device.
Each USB device contains configuration information that describes its capabilities and resource requirements. This information is read from the device by the operating system during the enumeration process.
USB devices are recognized, initialized, and ready for use when plugged in. No additional installation or configuration steps are necessary.
Windows XP Professional features built-in support for USB device types, including integrated USB 2.0 support beginning with SP1, such as:
Uninterruptible power supply (UPS) devices
Input devices, such as keyboards, mice, and other pointing devices
Game controllers, such as joysticks and game pads
Storage devices, such as hard disk drives, CD-ROM drives, high-density disk drives, and compact flash readers
Speakers and microphones
Still image cameras
Video-conferencing cameras (also known as “webcam” cameras)
USB-to-Ethernet network adapters
Windows XP Professional supports only devices that are compliant with applicable USB device class specifications as developed and published by the USB Implementers’ Forum. For more information about USB specifications, see the USB link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
The only exception to this rule is USB-to-Ethernet adapters, which must be compliant with the Microsoft Remote Network Driver Interface Specification (Remote NDIS) to benefit from built-in support in Windows XP Professional. For more information about Remote NDIS, see the Remote NDIS link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
Data Transfer Types and Rates Supported by USB
USB supports two different data transfer modes: isochronous and asynchronous modes. Asynchronous mode uses three asynchronous data transfer types: interrupt, control, and bulk. Isochronous mode uses the isochronous transfer type.
The USB host controller determines the data transfer rate and the priority assigned to a data stream. USB supports the following maximum data transfer rates, depending on the amount of bus bandwidth a device requires:
5 megabits per second (Mbps) for low-speed devices that do not require a large amount of bandwidth, such as mice and keyboards
12 Mbps for full-speed, higher-performing, such as storage devices, speakers, scanners, and video cameras
400 Mbps for high-speed devices, higher-performing devices, such as hard drives, CD, and DVD drives that support the USB 2.0 specification
Asynchronous transfer mode
An asynchronous transfer employs a handshake system and allows data streams to be broken at random intervals. The three asynchronous data transfer types are described as follows.
Interrupt transfers reserve bandwidth and are guaranteed access to transfer data at the established rate. They are used when a device transfers unsolicited data to a host.
Control transfers are used to service devices and to handle specific requests. They are typically used during device configuration.
Bulk transfers are used to transfer large blocks of data that have no periodic or transfer rate requirement. Printers and storage devices typically deploy bulk transfers.
Isochronous transfer mode
An isochronous transfer requires a constant bandwidth within certain time constraints. Constant bandwidth is required to support the demands of streaming multimedia devices such as speakers or video cameras. Unlike asynchronous transfers, no handshaking occurs and data delivery is not guaranteed.
USB Support for Plug and Play
Windows XP Professional supports Plug and Play configuration of USB devices by using the following USB features.
Hot plug-in capability
You can plug a USB device into the system at any time. The USB driver stack enumerates the device and notifies the system that the device is present.
USB devices use descriptors to identify the device, its capabilities, and the protocols it uses. A device descriptor contains a Vendor ID (VID), a Product ID (PID), and a version number that tell the computer exactly which drivers to load. An optional serial number differentiates one device from another of the same type.
USB supports three power modes: On, Suspend, and Off.
User Interfaces for USB Device Properties
Windows XP Professional provides user interfaces to display relevant information about the status of USB devices. The information provided by the USB user interface in Device Manager provides the advanced user with property sheets for hubs and controllers that give specific USB power and bandwidth information.
In addition, an event-driven interface allows error detection and correction by notifying the user about a problem on the bus. The interface provides details about the error and suggests solutions. For information about the USB troubleshooting user interface, see “Troubleshooting a Universal Serial Bus Device” later in this chapter.
For more information about using Device Manager to display device properties, see “Device Manager” earlier in this chapter.
USB Root Hub Power Properties
The Power Management tab in the USB Root Hub Properties dialog box displays information about power usage on that hub. The Hub information box indicates the hub type and the amount of power available from each port (determined by hub type).
The Attached devices box lists devices attached to the hub’s ports and the power each device requires to function. If a device requires more power to function properly than the hub’s ports supply, a message notifies the user. The user can view the Device Manager property dialog box for the hub by double-clicking the device. Clicking Refresh updates the information in the dialog box, which shows devices that are attached or removed.
USB Host Controller Advanced Properties
The USB Host Controller dialog box displays information about bandwidth usage on the USB host controller and gives the user the option of turning off USB error detection. The Advanced tab in the USB Universal Host Controller Properties dialog box shows the bandwidth allocation page. The Bandwidth section of the dialog box describes USB bandwidth and how it pertains to what the user sees displayed on the property page. The list box displays all devices attached to the controller that consume isochronous bandwidth (typically, USB video cameras and USB speakers), along with the bandwidth each takes. To maintain bandwidth for control transfers, the amount of bandwidth reserved by the “System Reserved” device listing will change, depending on what devices are installed or removed. For every device that consumes one percent or more of the controller’s bandwidth, there is a corresponding section in the Bandwidth Used column, which displays cumulative bandwidth usage. However, HID-compliant devices do not display here, although they do cause an increase in the System Reserved percentage.
Checking the Don’t tell me about USB errors check box and clicking OK disables the display of the USB error detection and correction messages. For more information, see “USB User Interface Error Detection” later in this chapter. The default state for this button is unchecked.
Windows XP Professional supports the Institute of Electrical and Electronics Engineers (IEEE) 1394 bus, which is designed for high-bandwidth devices, such as digital camcorders, digital cameras, digital VCRs, and various storage devices. The IEEE 1394 bus is a digital, peer-to-peer interface that supports data transport speeds from 100 to 400 Mbps. It provides a high-speed Plug and Play–capable bus that reduces the amount of power that peripheral devices require and provides support for isochronous data transfer.
IEEE 1394 can connect up to 63 devices to one IEEE 1394 bus and link up to 1023 buses to form a network of more than 64,000 devices. Each device can have up to 256 terabytes of memory available over the bus. A built-in mechanism ensures that all devices have equal access to the bus.
Windows XP Professional supports three protocol standards for data transport over the IEEE 1394 bus:
SBP-2 Protocol Used for block transfer–type devices, such as storage devices, scanners, and printers.
61883 Protocol Used with streaming data–type technologies, such as networking, digital camcorders, DVD, and audio. Windows XP Professional supports the 61883-1 through 61883-4 protocols.
IP over 1394 Protocol Provides high-speed TCP/IP connectivity between PCs and is a good solution for home networking. Windows XP Professional supports IP over 1394 for both IPv4 and IPv6.
Note Microsoft Windows XP Professional x64 Edition only supports the SBP-2 protocol. It does not support the 61883 or IP over 1394 protocols.
Windows XP Professional supports IEEE 1394 by allowing IEEE 1394 device drivers to communicate with the IEEE 1394 bus class driver. In compliance with the Open Host Controller Interface (OHCI) 1.0 standard, Windows XP Professional includes the IEEE 1394 bus class driver with hardware-specific minidriver extensions for add-on and motherboard-based host controllers.
IEEE 1394 Bus Connector and Cable
The IEEE 1394 specification defines a standard connector and socket, which includes three interfaces: a 6-pin connector and cable, a 4-pin connector and cable, and a 6-pin-to-4-pin connector and cable. The 6-pin cables can supply power to a device over the bus, while a 4-pin cable can only carry data. An IEEE 1394 bus cable contains two pairs of twisted-pair cabling to accommodate the serial bus.
Data Transfer Rates Supported by IEEE 1394
IEEE 1394 supports both isochronous and asynchronous data transfer protocols. The IEEE 1394 specification currently supports the following bus transfer rates:
S100 (98.304 Mbps)
S200 (196.608 Mbps)
S400 (393.216 Mbps)
You can link devices with different data rates; communication takes place at the highest rate supported by the lowest-rate device.
Support for Plug and Play and Other Devices
Windows XP Professional provides additional support for the IEEE 1394 bus in use with the following specifications and devices.
Plug and Play
Windows XP Professional supports hot plugging of devices that use the IEEE 1394 bus. All IEEE 1394 devices can be plugged in while the computer is on, and the device is detected and configured. For more information, see “Plug and Play Overview” earlier in this chapter.
Windows XP Professional supports streaming digital video and transfer of MPEG-2 data to and from IEEE 1394 devices. An application of this is video editing, where the data is retrieved from a digital camera, edited, and then written back to the camera, to a digital VCR, or to a storage device.
Storage and other devices
Support for IEEE 1394 storage devices, printers, and scanners is implemented by using the SBP-2 protocol. For example, SCSI class drivers can use SBP-2 to connect and use IEEE 1394 devices. Devices that use the SBP-2 protocol must be OHCI compliant.
Other Bus Support
Most buses supported by previous versions of Windows function under Windows XP Professional. The buses that are supported include PCI, AGP, PC Card, CardBus, SCSI, ISA, and EISA buses.
Note Windows XP Professional does not support the Micro Channel bus. Micro Channel architecture is found mainly in older IBM PS/2 computers.
The Peripheral Component Interconnect (PCI) bus, included in all computers, is used for transferring data between the CPU and hardware devices, adapters, or non-PCI bus-circuit boards. PCI is a local bus system that allows up to 10 PCI-compliant expansion cards to be installed in the computer. The PCI bus system requires the presence of a PCI controller card, which can exchange data with the system’s CPU either 32 bits or 64 bits at a time, depending on the implementation, and controls data transfers between main memory and all the other devices on the PCI bus. Because of its high bandwidth, the PCI bus is capable of high-speed data transfers.
The PCI specification allows for multiplexing, a technique that permits more than one electrical signal to be present on the bus at one time. The PCI controller also allows intelligent, PCI-compliant adapters to perform tasks concurrently with the CPU using a technique called bus mastering. This improves performance in tasks because it frees the CPU for other work by enabling devices to take temporary control of the PCI bus for data transfer.
The Accelerated Graphics Port (AGP) bus is a dedicated video bus that provides fast, high-speed data transfers from system memory to the display adapter. For more information about AGP, see Chapter 10, “Managing Digital Media.”
PC Card and CardBus
Windows XP Professional supports the features of products designed for the PC Card standard. The 16-bit version of the PC Card is also known as PCMCIA. These products include multifunction cards, 3.3-V cards, and 32-bit PC Cards. Major advantages of PC Cards are small size, low power consumption, and Plug and Play support.
Windows XP Professional supports CardBus (also called PC Card 32), which is a combination of PC Card 16 and PCI. CardBus brings the advantages of 32-bit performance and the PCI bus to the PC Card architecture.
CardBus allows portable computers to perform high-bandwidth functions such as capturing video. For more information about PC Cards and CardBus in portable computers, see Chapter 7, “Supporting Mobile Users.”
The Small Computer Systems Interface (SCSI) standard defines a high-speed parallel bus that carries data and control signals from SCSI devices to a SCSI controller. It is an intelligent bus most often used for high-performance hard disks on multi-user systems. It is also flexible and can be used with lower throughput devices such as CD-ROMs, tape drives, or scanners.
The Industry Standard Architecture (ISA) bus is based on a design specification introduced for the IBM PC/AT. The specification allows components to be added as cards plugged into standard expansion slots, and it has a 16-bit data path. Plug and Play ISA devices can be used on existing computers because Plug and Play does not require any change to ISA buses. Windows XP Professional does not support non–Plug and Play ISA devices, although they work if manually configured.
The Extended Industry Standard Architecture (EISA) bus is based on a design specification for x86-based computers introduced by an industry consortium. EISA maintains compatibility with ISA, but it provides additional features. These include a 32-bit data path and the use of connectors that can accept cards made for both EISA and ISA buses.
Other Hardware Support
In addition to USB and IEEE 1394 bus devices, Windows XP Professional supports standards for a number of other hardware devices ranging from network adapters to digital media devices.
Windows XP Service Pack 2 adds native support for Bluetooth devices, with built-in drivers for a number of Bluetooth transceivers. The list of currently supported drivers can be found at: http://support.microsoft.com/kb/841803. Bluetooth is used for connecting low power, short distance devices to your computer, and for adding devices to a Personal Area Network (PAN). Bluetooth devices use a low-power radio signal in the 2.4-GHz band to transmit data at up to 700 kbps over short distances to and from devices such as a keyboard, mouse, Personal Digital Assistant (PDA), or phone.
Network and Other Internal Adapters
An adapter is a printed circuit board that allows a computer to use a peripheral device for which it does not already have connections or circuit boards. For example, a network adapter provides the physical interface (connector) and the hardware (circuitry) to connect a node or host to a local area network. A network adapter is also called an adapter card, a card, or a network adapter. Microsoft Windows XP includes support for traditional wired adapters, IEEE 1394 network adapters, and wireless network adapters.
For information about troubleshooting network and other internal adapters, see “Troubleshooting Network and Other Internal Adapters” later in this chapter.
For more information about networks, see Chapter 23, “Connecting Clients to Windows Networks.”
A modem is a communications device that enables a computer to transmit information over a standard telephone line. Modems convert a digital signal from a computer to an analog signal on the telephone line, and vice versa.
Modems fall into two distinct categories, standard and controller-less modems. Although both types offer similar functions and features, the back-end hardware and the drivers used in their implementation differ significantly.
Standard modems Internal and external standard modems incorporate processing devices or chips in the modem itself and are independent of the operating system. These modems do not rely on the CPU for their internal processing. External models connect to an existing serial port and therefore do not use additional system resources. Many external models have separate on/off switches, so their power source can be cycled independently of the computer’s power.
Controller-less modems Controller-less modems have only generic on-board processing devices. They rely on operating-system-specific code executed by the CPU to function.
Other modems Windows XP also supports high-speed DSL modems, cable modems, and ISDN modems.
Human Interface Devices
Windows XP Professional supports devices that are compliant with the Human Interface Device (HID) firmware specification. HID devices are devices used by humans to control the operation of computer systems. Examples of HID devices include keyboards and pointing devices such as mouse devices and touch screens; panel controls such as knobs, switches, and buttons; consumer appliance devices such as audio/video appliances and remote controls; and devices that might not require human interaction but provide data in a similar format, such as bar code readers or voltmeters.
The HID specification was developed by the USB Implementers Forum and is mainly implemented in devices connected by USB. However, Windows XP Professional includes HID support for devices connected by using other ports or buses. For example, HID devices connected by IEEE 1394 can be developed and supplied by vendors but are not common.
An HID device is Plug and Play compliant if its underlying bus is Plug and Play compliant, and it indicates its class and HID information when plugged into the host system. Plug and Play HID devices do not require installation of additional software drivers, but non–Plug and Play HID devices might. The use of Windows Driver Model (WDM)–compliant drivers provides operating system support. Windows XP Professional supplies the HID class driver, the HID minidriver for the HID USB miniport, and the HID parser. Support for Plug and Play and power management for USB/HID devices takes place within the USB driver stack that is part of the WDM-based architecture.
From the perspective of a computer program, any HID device can be accessed either through HID application programming interfaces (APIs) or through DirectInput Component Object Model (COM) methods. DirectInput, which is part of DirectX digital media architecture, provides an input device API to support HID devices.
For more information about the USB Implementers Forum and HID usage, see the USB link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
For more information about Input and HID Devices, see the Input and HID Devices link at http://www.microsoft.com/windows/reskits/webresources.
For more information about developing minidrivers and filter drivers, see the Driver Development Kits link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
DVD (digital video disc) is an optical disc storage technology that can hold video, high-quality CD audio, and computer data in a single digital format. DVD devices can read multiple, digitally stored data streams concurrently for playback of digital media applications and full-length motion pictures. Two major compression technologies, MPEG-2 and AC-3 (also called Dolby Digital), are used to store from 4.7 gigabytes (GB) to 17 GB of data on a single DVD disc.
DVDs also offer copy and distribution protection. This is accomplished by encrypting the content on a disc and by restricting playback of discs to specified geographical regions. For more information about copy and distribution protection offered by DVD, see Chapter 10, “Managing Digital Media.”
Windows XP Professional supports DVD in the following ways.
DVD video and audio playback
If the proper decoding hardware or software is present, Windows XP Professional supports playback of DVD video. This support is important for entertainment computers and any digital media platform intended to play movies. Windows XP Professional support includes the same interactivity and high-quality playback found on a standard DVD video player. DVD devices can also play most audio CDs.
DVD as a storage device
You can use DVD as a storage device on most computers that support DVD. DVD-ROM discs and devices provide cost-effective storage for large data files. The UDF file format is used to store data on most DVDs.
In Windows XP Professional, different types of DVD drives have differing capabilities, as follows:
DVD-ROM devices can read CDs or DVD-ROM discs in both UDF and FAT32 formats.
DVD-R/RW devices can read CD or DVD content in both UDF and FAT32 formats, but they do not support DVD writing.
DVD-RAM devices can read any CD or DVD, can write content in FAT32 format, and can read UDF and FAT32 formats. These discs cannot be read in most DVD-ROM devices.
For more information about DVD, see Chapter 10, “Managing Digital Media.” For more information about the UDF and FAT32 file formats, see Chapter 13, “Working with File Systems.”
Digital Audio Devices
Windows XP Professional uses the Windows Driver Model (WDM) audio architecture to support digital audio devices. The operating system can manage multiple audio streams, and two or more applications can play sounds simultaneously. For example, if you are listening to music on your computer, you can also hear the notification that a message has arrived. The WDM audio architecture performs audio processing in kernel mode, which significantly reduces latency, the time required for a signal to travel from one point to another.
Windows XP Professional also supports the Audio Codec ‘97 (AC ‘97) specification for digital audio, which defines a widely adopted audio architecture. The AC ‘97 controller that is typically integrated into the chipset handles the digital aspects of audio, while the AC ‘97 codec handles the analog aspects of audio. The AC ‘97 specification describes the architecture of the codec and the digital interface between the controller and the codec. Windows XP Professional includes AC ‘97 audio drivers to support the integrated AC ‘97 controllers from four major computer chipset manufacturers. As a general rule, these AC ‘97 audio drivers support any manufacturer’s AC ‘97 controller when paired with any codec that is AC ‘97 compliant.
Because digital audio is processed by the operating system, a separate sound card is not required to process digital audio. Digital audio is supported on several bus types, including PCI, ISA, and PCMCIA, and on external digital audio devices connected with USB and IEEE 1394.
Windows XP Professional supports the following digital audio features and devices:
Audio chipsets and sound cards implemented on the PCI, ISA, and PCMCIA buses.
USB audio devices, such as USB microphones, speakers, and MIDI devices.
Multichannel audio output and playback of various audio formats. Volume can be set for each speaker in a multichannel configuration.
Acoustic echo cancellation (AEC).
Global Effects Feature (GFX), which enhances USB audio support by allowing filter drivers to support devices such as USB array microphones.
IEEE 1394 audio devices.
Copying of the audio capture stream so that multiple applications can have access to the stream.
Support for Digital Rights Management (DRM) in the WDM audio architecture to allow audio drivers to be authenticated as trusted. Some DRM content can be rendered only on trusted audio devices.
Digital Signal Processors (DSPs).
Windows XP Professional also supports DRM technology that allows content providers such as artists and record companies to protect proprietary music or other data by encrypting digital content and attaching usage rules to it. These rules determine restrictions such as the number of times content plays and the types of devices that play it. Using Windows XP Professional, you can ensure that a device or driver is trusted not to violate usage rules or allow a user to circumvent security. Trusted drivers are only relevant to DRM content that requires this security.
Driver modules that handle audio content must include a DRM signature before they can render protected content that requires a trusted audio device. Windows XP Professional uses a DRM signature in the driver’s catalog files to identify a trusted device. This is not the same as the signature required for Windows drivers. To play DRM-encrypted content requiring a trusted audio device, WDM audio drivers and any associated filter components must be DRM compliant.
Still Image Devices
Windows XP Professional supports still-image devices through Windows Image Acquisition (WIA), which uses the WDM architecture. WIA provides robust communication between applications and image-capture devices, allowing you to capture images efficiently and transfer them to your computer for editing and use.
WIA supports SCSI, IEEE 1394, USB, and serial digital still image devices. Support for infrared, parallel, and serial still image devices, which are connected to standard COM ports, is provided by standard infrared, parallel, and serial interfaces. Image scanners and digital cameras are examples of WIA devices. WIA also supports Microsoft DirectShow–based webcams and digital video (DV) camcorders to capture frames from video.
WIA supports a camera class driver that is based on Picture Transfer Protocol (PTP), a standard that enables digital cameras to communicate with each other, with printers, and with computers. WIA automatically recognizes all PTP digital still cameras that support the PTP class ID and provides all the basic still image functionality as with any other WIA device. PTP cameras that do not support the PTP class ID can also be recognized by means of a third-party .inf file that maps the device Plug and Play identifier to the WIA PTP class driver.
WIA provides a driver model for manufacturers to write drivers for cameras with proprietary protocols. When such a WIA driver is installed, all WIA features are available to this camera.
WIA also provides Mass Storage Class (MSC) device support. The storage on MSC cameras can be accessed using a drive letter that appears in My Computer. If the camera uses the MSC driver provided with the operating system, the AutoPlay dialog box is displayed when it is connected to the computer, which allows the user to select the Scanner and Camera Wizard.
Support for Microsoft DirectShow-based webcams and digital video camcorders is provided by a generic DirectShow filter, which identifies itself as a source of images.
WIA architecture describes both an API and a device driver interface (DDI). The WIA architecture includes components provided by the software and hardware vendor, in addition to Microsoft. Figure 9-3 illustrates the WIA architecture.
Figure 9-3 Components of WIA architecture
Windows Explorer user interface
Windows Explorer extensions such as My Computer and My Pictures, as well as Scanners and Cameras in Control Panel, provide a user interface by which users can access WIA devices. For example, an icon for each installed WIA device appears in the My Computer folder. If a still image camera is installed, clicking the camera icon opens an interface that shows thumbnail pictures, controls for saving pictures, and a live preview that you can capture if the camera is a supported webcam or Digital Video (DV) camcorder.
The My Pictures folder includes thumbnails of images, a link to the WIA Scanner and Camera Wizard, a built-in slide show, an enhanced preview window called the Windows Picture and Fax Viewer, and the option to print pictures from the preview window.
Microsoft Paint also supports WIA. When a WIA device is present, From Scanner or Camera is enabled on the File menu, and users can retrieve pictures from WIA devices.
The imaging class installer supports easy removal and installation of WIA devices. The installer also supports Plug and Play devices for USB, SCSI, IEEE 1394 buses, and serial-based digital still cameras.
Scanner and Camera Wizard
Using the Scanner and Camera Wizard, users can retrieve images from any of the supported devices installed on the system. The wizard provides a preview page where the user can select from several scanning options and adjust image settings. It is opened by default when WIA-enabled scanners are activated (a “scan event”) and when Plug and Play still digital cameras are connected (a “connect event”). By using the AutoPlay dialog box, the wizard can also be opened when media, such as flash memory cards, that contain image files are inserted into the computer (a “media-insertion event”). Note, however, that the wizard is not opened by default for video cameras.
Using the wizard for a digital still camera, the user can select one or more pictures, rotate them, and view information such as picture size and resolution.
With a video camera, the user can select previously captured still images, rotate them, view picture information, and even see live video and capture still images. The user can also name the pictures, save them in the My Pictures folder, categorize pictures by using subfolders, and publish them on the Web.
For non–Plug and Play devices, the user can start the wizard by opening Scanners and Cameras in Control Panel and clicking the Add an imaging device link.
Note The WIA driver for DirectShow-supported webcams and digital video camcorders stores captured pictures in a temporary file. As a result, when you capture pictures with a webcam or DV camcorder, be sure to save the pictures you want to keep to the My Pictures folder or some other location on the PC. This ensures that the pictures are not deleted from the drive when clearing out the Temp folder, either manually or using the Disk Cleanup utility.
Visual Basic and other scripting languages
WIA includes a scripting model, which allows advanced users and IT professionals to develop WIA applications by using Microsoft Visual Basic and other scripting languages. For more information about developing WIA applications, see the MSDN Library’s Windows Development section using the MSDN Library link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
Users can start image acquisition and manipulate images by using either the WIA Wizard or another application. Two primary types of WIA applications use still images:
Image editing applications Examples include Adobe PhotoShop and Microsoft Picture It!
Image display applications These applications are for authoring documents that include image data, but they provide no editing or limited editing of image data. Examples include Microsoft Word and Microsoft PowerPoint.
TWAIN Data Source Manager
The TWAIN Data Source Manager (DSM) is an industry-standard software library used to abstract TWAIN applications from still image devices. WIA uses the TWAIN DSM implementation in Microsoft Windows XP together with the TWAIN compatibility driver to provide a compatibility layer for applications that support TWAIN version 1.7 or later, but don’t yet support WIA.
WIA common system dialogs
All scanner and camera device drivers that ship in Windows XP Professional use the WIA common system dialogs. There are four system dialogs that are used in WIA imaging applications to access WIA-enabled scanners and cameras. The dialog that displays is tailored to the device type used. For example, when scanning an image into Paint using a WIA-enabled scanner, Paint displays a WIA dialog that allows you to preview the scanned image; crop the image; set the color, contrast, and brightness; and so on. Specific dialogs for still camera and video camera are displayed when those devices are accessed. The device selection dialog displays when more than one WIA device is active on the system.
When the WIA device driver is started, it creates a device object that allows the application to communicate with the hardware. There are four types of device objects: full WIA minidriver, WIA flatbed scanner microdriver, WIA generic PTP camera driver, and WIA video camera driver.
WIA Device Manager object
When an application first communicates with a device, the WIA Device Manager detects all the devices, creates the device objects, establishes the link between the application and the device object, and retrieves and sets device properties.
WIA event model
As discussed earlier, Still Image devices can generate various events. Some devices, such as scanners, can support multiple events, which are traditionally mapped to the buttons on the scanner itself. The most common event for scanners is Scan, which is normally mapped to the scan button.
By default, the Scanner and Camera Wizard is associated with the Scan event (for scanners) and the Connect event (for still digital cameras). Consequently, when the scan button is pressed on a WIA scanner that uses a driver supplied with Windows XP Professional, the Scanner and Camera Wizard appears.
The WIA event model includes a set of predefined events that can be associated by means of WIA device drivers or .inf files. At the same time, these predefined events are available to applications so that they can automatically start when the event takes place.
An application can register itself to be the default event handler by calling the WIA APIs documented on the SDK. The application has three handler options: global, device-specific, and device- or event-specific.
When an application registers as a global or device-specific event handler, a dialog appears when the event takes place. This dialog prompts the user to choose which application is to be the default event handler. The Scanner and Camera Wizard is presented as one of the options.
When an application registers as a combination device or event handler, the dialog does not appear.
When multiple applications are registered for the same event, a user can manually switch between them by using the Events tab on the device Properties page, which can be accessed by right-clicking the device icon from My Computer and selecting Properties.
Image Color Management 2.0
Because colors can vary by monitor or printer, Image Color Management (ICM) version 2.0 ensures that images have accurate colors by storing standard, objective color characteristics for each output device that produces an image. As a result, a photograph taken by a digital camera looks the same on the monitor as when it was captured. In turn, the printed version of the same image accurately represents the image and colors seen through the camera and on the monitor.
Software for color management uses profiles, which are data about how each device represents color. These profiles provide the information that allows the color management software to prepare an accurate color reproduction.
ICM is based on the industry standard ICC profile, the standardized Color Management Module (CMM), and the default Standard RGB (red, green, blue) color space. Although this flexible system allows the use of any CMM, ICM uses LinoColor CMM by default. This makes Windows applications that use ICM 2.0 compatible with other platforms with respect to color management.
ICM 2.0 on Windows XP Professional is set up to run transparently for printing, which benefits users who do not need advanced color configuration options for devices. However, ICM provides full manual control with a selection of alternative color profiles—a benefit to users who need color consistency on devices and platforms that might otherwise be incompatible.
ICM supports sRGB, which complements current color management strategies by enabling a default method of handling color in the operating system and on the Internet. It efficiently provides good quality color representation and backward compatibility. Standard RGB (sRGB) is the default color space in Windows XP Professional for all color images that do not have another embedded profile or are not specifically tagged with other color information. If a specific color profile is assigned to an image or a device, that color profile is used. If no color profile is assigned, the default sRGB profile is assumed.
Video Capture under Windows XP Professional is based on the WDM streaming-class driver. Windows XP Professional provides minidrivers for USB and IEEE 1394 cameras, as well as PCI and videoport analog video devices. Support includes DirectShow filters for WDM video capture interfaces and a Video for Windows (VFW)–to–WDM mapper for compatibility with previous interface versions. The mapper, also called the VFWWDM mapper, allows WDM video capture devices to take advantage of existing 32-bit VFW applications.
Capturing video with WDM has the following advantages:
Full integration with DirectShow and streaming architecture
Single-class driver architecture for hardware (such as video ports and chip sets), which is shared by video-capture devices and DVD or MPEG devices
Support for vertical blanking interval (VBI), and video port extensions
Capture applications are available that use both DirectShow and VFW. Code samples for DirectX version 9.0c can be found in the MSDN Library’s Graphics and Multimedia section by using the MSDN Library link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
Video Capture provides real-time and step-frame modes for capturing video sequences.
Real-time capture of video images demands a fast computer and hard disk. A video source for real-time capture (such as a video camera or videodisc) provides an uninterrupted stream of information to the capture hardware. The capture hardware copies each frame of the video sequence and the audio portion and transfers it to the hard disk before the next frame of data enters the capture hardware. Each video frame contains one image. If the system lags during capture, frames of video data are lost.
Step-frame capture collects video frames from a video sequence in a series of steps, capturing frames one at a time, typically from a paused video device. Step-frame capture causes the video source to pause as it collects each image. If an audio source is also selected, the capture mode rewinds the media in the video source and collects audio data as the video source plays a second time. You can perform step-frame capture manually, advancing the video source by using the controls on the video device. Windows XP Professional Video Capture also provides automatic step-frame capture for video devices that support the Media Control Interface. With this method, Video Capture issues frame-advance commands to the source device and captures the sequence frame by frame. When Video Capture finishes capturing the current frame, it advances the video source to the next capture point.
Step-frame capture provides an alternative for systems that cannot process a video sequence in real time because of a slow I/O subsystem. Because the system can fully process a video frame before contending with the next frame, you can use larger frame sizes and color formats, and you can compress the video sequence during capture.
Step-frame capture is also available by using WIA technology. For more information about WIA, see “Still Image Devices” earlier in this chapter.
Smart Card technology is fully integrated into Windows XP Professional, and is an important component of the operating system’s public-key infrastructure (PKI) security feature. A smart card is a small electronic device, often the size of a credit card, that contains an embedded integrated circuit. The smart card serves as a secure store for public and private keys and as a cryptographic engine for performing a digital signature or key-exchange operation. Smart card technology allows Windows XP Professional to authenticate users by using the private and public key information stored on a card.
Smart cards provide the following benefits:
Tamper-resistant storage for protecting private keys and other forms of personal information
Isolation of security-critical computations involving authentication, digital signatures, and key exchange from other parts of the system
Portability of credentials and other private information between computers at work, home, and elsewhere
The Smart Card subsystem on Windows XP Professional supports industry standard Personal Computer/Smart Card (PC/SC)–compliant cards and readers, and it provides drivers for commercially available Plug and Play smart card readers. Smart card readers attach to standard peripheral interfaces, such as RS-232, PS/2, PCMCIA, and USB. Windows XP Professional detects Plug and Play–compliant smart card readers and installs them using the Add Hardware Wizard.
To install a smart card reader driver, follow the directions in the Add Hardware Wizard for installing device driver software. The process requires that you use either the Windows XP Professional CD or media from the smart card reader manufacturer that contains the appropriate device driver.
Note Microsoft does not support or recommend using non–Plug and Play smart card readers. If you use a non–Plug and Play reader, you must obtain installation instructions and associated device driver software directly from the manufacturer of the smart card reader.
For information about Windows XP Professional–compatible smart card readers, see the Windows Catalog at http://www.microsoft.com/windows/catalog.
Before using a smart card to log on, a user must be enrolled to do so by a user who has the privilege to enroll other users. This is required because enrollment for a smart card certificate is a controlled procedure in the same manner that employee badges are controlled for identification and physical access. Enrollment provides the user with the public encryption key and certificate that is required for authentication and secure exchange of information. The user also needs a Personal Identification Number (PIN) to complete the logon process. Usually the user sets the PIN during enrollment or is given a default PIN with instructions to change it as soon as possible.
Using a smart card to log on to Windows XP Professional requires at least one service provider so that applications can access card-based services. A cryptographic service provider (CSP) makes available the cryptographic services of the smart card, such as key generation, digital signature, and key exchange. A Smart Card Service Provider (SCSP) makes the noncryptographic services of a smart card available to an application.
For more information about installing a smart card reader and smart card certificate enrollment, see Windows XP Professional Help and Support Center. For more information about using smart cards for logon and authentication, see Chapter 16, “Understanding Logon and Authentication.”
In Windows XP Professional, how you install a device depends on whether the device and the computer are Plug and Play compatible. When installing Plug and Play devices, Windows XP Professional detects and configures the device with little or no user intervention. Device driver installation also requires little user involvement because Windows XP Professional uses driver-ranking schemes and driver search location policies, among other features, to determine which drivers are loaded.
Installing a Device in Windows XP Professional
Windows XP Professional Setup performs an inventory of all devices on the computer and records the information about those devices in the registry. Setup gets configuration information for system devices from the .inf file associated with each device and, for Plug and Play devices, from the device itself.
When a new device is installed, Windows XP Professional uses the device’s Plug and Play ID to search Windows XP Professional .inf files for an entry for that device. Windows XP Professional uses this information to create an entry for the device under the Hkey_Local_Machine subtree in the registry, and it copies the drivers needed. Registry entries are then copied from the .inf file to the registry entry for the driver.
When you install a new device, rely first on Plug and Play to detect and configure it. How you install hardware depends on the type of device:
For Plug and Play external devices, plug in the device.
For Plug and Play internal devices, turn the computer off and install the device according to the manufacturer’s documentation. You can, however, typically insert and remove PC Card, CardBus, and other Plug and Play devices without turning the computer off.
For PCI and ISA Plug and Play cards, turn the computer off and then install the device. When you restart the computer, Windows XP Professional detects the device and starts the Plug and Play installation procedures.
For non–Plug and Play devices, turn the computer off and then install the device. When you restart the computer, run the Add Hardware Wizard and let Windows XP Professional detect the device. This requires administrator permissions. If Windows XP Professional cannot detect the device, you might need to manually configure it. Consult the hardware vendor’s documentation if this is necessary.
Note Whenever possible, use Plug and Play devices even in computers that do not have an ACPI BIOS in order to make available any additional Plug and Play functionality.
Many device drivers are installed with no user intervention. For example, when you plug in a USB mouse device, the drivers are automatically detected and installed.
Drivers are installed without user intervention if certain conditions are met:
Installing the driver does not require showing a user interface.
The driver package contains all files needed to complete the installation.
The driver package is available on the system in the Driver.cab file, or it was previously installed.
The driver package is digitally signed.
No errors occur during installation.
If any of these conditions is not met, the device installation restarts and the user might need to respond to dialog boxes or messages. Manual installation of a driver requires administrator permissions.
Note Drivers that support features specific to Windows XP Professional are not compatible with Microsoft Windows 98 or Microsoft Windows Millennium Edition (Me).
Windows XP Professional determines which device driver to load for a device by using these features:
Driver search location policies
Windows Driver Protection
For more information about device drivers, including driver-ranking schemes, Windows Driver Protection, driver search location policy, and Windows Update, see “Device Drivers” earlier in this chapter.
Setting Plug and Play BIOS Settings
For x86-based systems, the way that the system BIOS code interacts with Plug and Play devices can vary, depending on whether the system BIOS or the operating system is responsible for configuring hardware. Whether the system BIOS is set to enable Plug and Play can affect this interaction if this option exists for your system. System conditions and recommended BIOS settings are listed in Table 9-2.
Table 9-2 Recommended Plug and Play BIOS Settings for x86-Based Systems
Recommended BIOS Setting
Fully compliant ACPI system (ACPI BIOS present; ACPI Hardware Abstraction Layer [HAL] installed)
Windows XP Professional assigns device resources and ignores BIOS settings. This includes re-assigning IRQ, DMA, and Input Output (I/O) resources and arbitrating conflicts for all PCI devices. Because Windows XP Professional ignores the Plug and Play BIOS setting and uses ACPI, the BIOS setting can be left at either Yes/Enabled or No/Disabled. However, it is recommended that you set this option to No/Disabled.
Noncompliant ACPI system (ACPI BIOS present; compliance problems prevented ACPI HAL installation)
The system BIOS assigns device resources prior to the loading of the operating system, and the Plug and Play BIOS setting must be No/Disabled. If your devices have a static configuration, you must turn off your computer before removing or attaching most devices. For more information about whether to turn your computer off when installing a device, see “Installing a Device in Windows XP Professional” earlier in this chapter.
The system BIOS assigns device resources prior to the loading of the operating system, and the Plug and Play BIOS setting must be No/Disabled. If your devices have a static configuration, you must turn off your computer before removing or attaching most devices.
Dual boot Windows XP Professional and Microsoft Windows 95, Windows 98, or Windows Me operating systems
The Plug and Play BIOS setting must be No/Disabled. Disabling Plug and Play in the BIOS is recommended to prevent errors that might arise. For example, if the system check for Plug and Play on a Windows 98 ACPI system passes, the system check for Plug and Play might fail on a Windows XP Professional ACPI system.
For information about viewing or modifying your computer’s BIOS settings, consult your computer’s documentation or manufacturer’s support Web site.
Note Motherboards based on Itanium-based architecture rely on ACPI and the operating system to configure resources. The option to enable or disable ACPI settings is not available on Itanium-based computers.
Configuring Device Settings
Windows XP Professional identifies devices and their hardware resource requirements. The operating system allocates the optimal resources and attempts to resolve conflicts when two or more devices request the same resource. Consequently, you must not manually change resource settings for a Plug and Play device unless it is absolutely necessary to resolve a problem with the device. Doing so fixes its settings, preventing Windows XP Professional from granting another device’s request to use that resource. Changed resource settings can be returned to the original values by selecting the Use automatic settings check box on the Resources tab of the Device Properties Page in Device Manager. See the procedure “To change resource settings for a device by using Device Manager” later in this section.
Note Windows XP Professional might allocate a single resource to more than one device. For example, multiple PCI devices might share the same IRQ.
During setup, Windows XP Professional detects non–Plug and Play devices that have fixed resource requirements. For example, some ISA modems require fixed I/O port settings and cannot operate at any other I/O setting. After running Setup, you can use the Add Hardware Wizard to install non–Plug and Play devices. This is the only instance in which you need to use the Add Hardware Wizard to install a device.
Certain circumstances might require you to change resource settings after Windows XP Professional configures a device. For example, Windows XP Professional might not be able to configure one device without creating conflicts with another. Typically a message explains that a conflict exists and suggests a solution, such as turning off or disabling a device or assigning nonconflicting resources.
For more information about troubleshooting devices, see “Hardware Troubleshooting” later in this chapter or Appendix C, “Tools for Troubleshooting.”
To manually change the configuration of a device, use Device Manager. Use the following strategies when using Device Manager to resolve device conflicts manually:
Identify a free resource, and assign it to the device.
Disable or remove one of the conflicting devices to free resources.
Remove non–Plug and Play hardware and device drivers.
Rearrange resources used by a device or devices to free resources that the conflicting device requires.
Use Device Manager to select nonconflicting resource values. Use device configuration software, jumpers, or DIP switches to adjust actual hardware values to match those used by Device Manager.
You can print a report about your system and device resource settings. In Device Manager, highlight the device that you are interested in. On the Action menu, select Print. In the Report Type section of the Print dialog box, select a system summary report, a report of the selected class or device, or a report of all devices with a system summary. Click Print to send the report to the printer.
The following procedure explains how to change a device’s resource settings by using Device Manager.
Caution Change resource settings only if absolutely necessary. Changing resource settings can cause conflicts and can cause you to lose Plug and Play functionality.
To change resource settings for a device by using Device Manager
Some devices do not have a Resources tab on their property sheet. You cannot manually change the resources for these devices.
In Device Manager, expand the device class to show the available devices.
Right-click a device, and then click Properties.
On the Resources tab, notice that the Conflicting device list shows conflicting values for resources used by other devices.
In the Resource type list, select the setting you want to change, clear the Use automatic settings check box, and then click Change Setting.
If there is a conflict with another device, a message is displayed in Conflict Information.
If an error message says, “This resource setting cannot be modified,” browse for a configuration that you can use to change resource settings without conflicting with other devices.
Click OK, and then restart Windows XP Professional.
Verify that the settings are correct for the device.
Note Many legacy devices have jumpers or DIP switches that set the IRQ, DMA, and I/O addresses. If you change these settings in Device Manager, you must also change the settings on the device to match them.
Using Hardware Profiles for Alternate Configurations
Windows XP Professional uses hardware profiles to determine which drivers to load. A computer can have different profiles that describe different hardware configurations. Hardware profiles are especially important for portable computers that can be docked. Windows XP Professional uses one hardware profile to load drivers when the portable computer is docked and another when it is undocked. For example, a different profile is used at a customer site that has a monitor different from the one at the office.
Configurations are created when Windows XP Professional queries the BIOS for a dock serial ID and assigns a name for the docked and undocked configurations. Windows XP Professional then stores the hardware and software associated with these configurations. Applications access and store information for each hardware configuration used by the mobile user. Using multiple profiles enables applications to adapt to various hardware configurations.
Windows XP Professional prompts you for the name of a hardware profile only when two profiles are so similar that it cannot differentiate between them. If this happens, the operating system displays a Hardware Profile menu from which you can choose the correct profile.
For more information about hardware profiles for portable computers, see Chapter 7, “Supporting Mobile Users.”
Changing Hardware Acceleration Settings for Digital Audio
Windows XP Professional includes a driver that provides hardware acceleration. This driver speeds up the delivery of digital audio data, which improves Microsoft DirectSound Audio performance. You can change the level of hardware acceleration available to DirectSound Audio applications by using the Hardware Acceleration option for Sounds and Audio Devices. You can use these settings for testing or to improve the stability of the system.
Hardware Acceleration for DirectSound Audio has four settings, which are described in Table 9-3.
Table 9-3 Hardware Acceleration for DirectSound Audio
Forces emulation mode so that audio applications run as though no DirectSound Audio–compatible driver is on the system and no hardware acceleration is provided. Use this setting only if other acceleration settings do not function properly.
Disables hardware acceleration so that applications run as though no hardware acceleration is present. This option is useful if you want to emulate a non-DirectSound-accelerated sound card for testing purposes.
Enables hardware acceleration, but disables any vendor-specific properties so that only standard acceleration features are used. This is the default setting for Windows XP Professional.
Enables hardware acceleration and all vendor-specific properties so that all acceleration features are available.
To change the hardware acceleration setting for audio devices
In Control Panel, open Sounds, Speech and Audio Devices, and then open Sounds and Audio Devices.
Click the Audio tab, and under Sound Playback, click the Advanced button.
In the Advanced Audio Properties dialog box, click the Performance tab.
Under Audio Playback, move the Hardware Acceleration slider to the desired setting.
Configuring the Display
The Display option in Control Panel allows you to change the settings on your monitor and make other changes to your desktop, including the following:
Change the display driver.
Change screen resolution and color depth (without restarting the computer when using display drivers that support this functionality).
Change color schemes and text styles in all screen elements, including fonts used in dialog boxes, menus, and title bars.
View changes in colors, text, and other elements of display appearance before the changes are applied.
Configure display settings for each hardware profile, for example, docked and undocked configurations.
Configure multiple monitors. For information about configuring multiple monitors, see “Configuring Multiple Monitors” later in this chapter.
Windows XP Professional also includes mechanisms to ensure that incompatible display drivers cannot prevent a user from accessing the system. If a display driver fails to load or initialize when Windows XP Professional is started, Windows XP Professional automatically uses the generic VGA display driver. This ensures that you can start Windows XP Professional to fix a display-related problem.
Changing the Display Driver
You can change or upgrade a display driver by using Device Manager to view the properties for the monitor. When you select Update Driver from the Driver tab, the Hardware Update Wizard installs the driver automatically, or you can choose to install a different driver from a list of known drivers for the display. For more information about adding or changing a device driver, see Windows XP Professional Help and Support Center.
If you install a new Plug and Play monitor, the system detects the monitor and the Found New Hardware Wizard guides you through the installation process. After attaching the monitor, uninstall the old monitor in Device Manager, and scan for the new hardware by clicking Scan for hardware changes on the Action menu.
Note If a driver is not included with your monitor, check Windows Update for an updated driver for your monitor. If there is no driver in Windows Update, check the manufacturer’s Web site for the most recent driver.
If the monitor is detected as Default Monitor, either the display adapter or the monitor is not Plug and Play. If the monitor is not detected as Plug and Play Monitor, the monitor is not included in the monitor .inf files. Check Windows Update or contact your hardware manufacturer for an updated Windows XP Professional .inf file.
Warning Incorrect display settings can physically damage some monitors. Check the manual for your monitor before choosing a new setting.
Changing Hardware Acceleration Settings for Graphics Hardware
Windows XP Professional uses hardware acceleration to improve display performance. If using hardware acceleration causes a problem, such as mouse pointer problems or corrupt images, you can turn off some or all hardware acceleration features. By turning off hardware acceleration, you can manually control the level of acceleration and performance supplied by your graphics hardware, which can help you troubleshoot display problems.
Hardware acceleration for your graphics hardware has six settings. Table 9-4 shows the settings and their meanings.
Table 9-4 Hardware Acceleration for Graphics Hardware
Disables all accelerations. Use this setting only if your computer frequently stops responding or has other severe problems.
Disables all but basic accelerations. Use this setting to correct more severe problems.
Disables all DirectX Graphics accelerations, as well as all cursor and advanced drawing accelerations. Use this setting to correct severe problems with DirectX accelerated applications.
Disables all cursor and advanced drawing accelerations. Use this setting to correct drawing problems.
Disables cursor and bitmap accelerations. Use this setting to troubleshoot mouse pointer problems or corrupt images.
Enables all acceleration features. This setting is recommended if your computer has no problems.
Note If you use multiple monitors, changing hardware acceleration settings affects all monitors.
To change hardware acceleration
Right-click the desktop, and then click Properties.
In the Display Properties dialog box, click the Settings tab, and then click the Advanced button.
Click the Troubleshoot tab, and then choose the desired level of hardware acceleration.
Windows XP Professional supports write combining, which improves video performance by speeding up the display of information to your screen. However, increased speed can also cause screen corruption. If display problems occur, you can disable write combining to troubleshoot this problem.
To disable write combining
Right-click the desktop, and then click Properties.
In the Display Properties dialog box, click the Settings tab, and then click the Advanced button.
Click the Troubleshoot tab, and then clear the Enable write combining check box.
Configuring Display Resolution and Appearance
You can configure the display resolution and colors, fonts, and backgrounds for your Windows XP Professional display. Right-click the desktop, select Properties, and make changes from the Settings tab on the Display Properties dialog box.
You can also adjust the refresh frequency rate for your display. A higher refresh frequency rate reduces flicker on CRT displays. On the Settings tab, click the Advanced button, and then change the refresh frequency on the Monitor tab.
Windows XP Professional allows you to change resolution and color depth without restarting the computer if the installed display adapter is using a video driver provided with Windows XP Professional. You might have to restart the computer if you are not using a Plug and Play display adapter and driver.
Configuring Power Management for the Display
The Display Properties dialog box, accessed by right-clicking the desktop and selecting Properties, allows you to set the screen saver and other desktop attributes. In addition, you can use settings in Screen Saver properties to take advantage of power management support in Windows XP Professional if your hardware supports this feature. Windows XP Professional can support screen saver power management if your computer is Energy Star compliant. An Energy Star–compliant monitor supports the Video Electronics Standards Association (VESA) Display Power Management System (DPMS) specification. To determine whether your monitor is Energy Star compliant, look for the Energy Star logo on the Screen Saver tab of the Display dialog box.
The display monitor is typically one of the most “power-hungry” components of a computer. Manufacturers of newer display monitors have incorporated energy-saving features based on the DPMS specification. By using signals from the display adapter, a software control can place the monitor in standby mode or even turn it off completely, thus reducing the power the monitor uses when inactive.
You can adjust monitor power settings on the Screen Saver tab by clicking the Power button, and, on the Power Schemes tab, selecting the amount of time the monitor will stay on without any activity before it turns itself off.
Enabling Mode Pruning
Mode Pruning is a Windows XP Professional feature that is used to remove display modes that the monitor cannot support. Display modes are the combinations of screen resolution, colors, and refresh rates available for the selected video adapter. In Mode Pruning, the graphics modes of the monitor and the display adapter are compared, and only modes common to both the monitor and display adapter are available to the user.
Mode Pruning is available only if a Plug and Play monitor is detected or if a specific monitor driver is loaded in Device Manager. Mode Pruning is not available if the monitor driver is Default Monitor. On Plug and Play monitors, Mode Pruning is enabled by default. If Mode Pruning is disabled, you can select display modes that are not supported by your monitor.
Warning Choosing a mode that is inappropriate for your monitor might cause severe display problems and might damage your hardware. You must be logged on as a member of the Administrator’s group to view unsupported modes. It is not recommended that you change this setting. If you choose to view unsupported display modes, consult your hardware documentation.
To disable Mode Pruning
Right-click the desktop, and then click Properties.
In the Display Properties dialog box, click the Settings tab, click Advanced, and then click the Monitor tab.
Clear Hide modes that this monitor cannot display, and then click Apply.
Using Digital Flat Panel Monitors
Windows XP Professional supports using digital flat panel (DFP) monitors with display adapters that have the appropriate output connectors. These connectors include Digital Video Interconnect (DVI) and DFP. Most display adapters also have standard CRT connectors for more common monitors.
Using Multiple Monitors
By using the Multiple Monitors feature, you can configure up to ten monitors so that the Windows XP Professional desktop display spreads across all the monitors. For each monitor, you can adjust position, resolution, and color depth.
In the Display Properties dialog box, one monitor is designated as the primary display. This is the default display used for prompts and pop-up windows, and it has full hardware DirectX Graphics acceleration. It is also the only display that can run DirectX applications in full-screen mode.
POST vs. Primary Display Device
In Windows XP Professional, any supported VGA monitor can be used as the power-on self test (POST) device. The adapter that displays the system BIOS and system memory count when the computer is turned on is the POST device. This is the only device that can be used for MS-DOS mode operations in full-screen mode. The POST device does not have to be the same as the Primary Display, which is the default display that is used for prompts and pop-up windows. The Primary Display has full hardware DirectX Graphics acceleration, and it is also the only display that can run DirectX applications in full-screen mode.
Configuring Multiple Monitors
A monitor must meet the following criteria to be used as a secondary monitor. It must be a PCI or AGP device, be able to run in graphical user interface (GUI) mode without using VGA resources, and have a Windows XP Professional driver that enables it to be a secondary display. For more information about monitors that can be used as secondary monitors, see the Windows Catalog at http://www.microsoft.com/windows/catalog.
Note To use multiple monitors, a working monitor capable of VGA graphics must be connected to each installed display adapter.
In a multiple monitor environment, only one graphics device can be VGA compatible. This is a limitation of computer hardware that requires that only one device respond to any hardware address. Because the VGA hardware compatibility standard requires specific hardware addresses, only one VGA graphics device can be present in a computer, and only this device can physically respond to VGA addresses. Thus, applications that require a full-screen view will run only on the particular device that supports VGA hardware compatibility.
If you have an on-board display device, it must be used as the VGA device. Some computers cannot activate the onboard display when a VGA-capable PCI display device is present. In this case, disable the on-board hardware VGA for the secondary devices so that the onboard device runs a POST routine.
To add a second monitor to your computer
Verify that your primary display adapter works properly.
Plug in the second monitor.
Windows XP Professional detects and installs the new monitor.
In the Display Properties dialog box, click the Settings tab.
Icons for both monitors display in the dialog box.
Click the icon for the new monitor, labeled 2.
Select Extend my Windows desktop to this monitor, and then click OK.
To adjust the color depth on the new monitor, use the Color Quality drop-down list box. To adjust the resolution, use the Screen Resolution slider.
Verify that the on-screen arrangement of the monitors matches the physical configuration of your monitors. This can be changed by dragging the icon of the monitor to the location on the screen that corresponds to the location of the monitor on your desk.
Multiple Monitors and DirectX
Only the primary monitor in a multiple monitor configuration can accelerate DirectX Graphics functions that use the full capabilities of the monitor. Additionally, only the primary monitor can run DirectX applications in full-screen mode. For this reason, you need to make sure that the monitor with the best DirectX Graphics performance and features is the primary monitor.
To set the primary monitor in a multiple monitor configuration
Right-click the desktop, and then click Properties.
In the Display Properties dialog box, click the Settings tab.
On the Settings tab, select Use this monitor as the primary display.
Using Multiple Monitors with Portable Computers
Dualview, another feature of Windows XP Professional, allows both portable and desktop computers to display independent output on the onboard display and an external monitor. Dualview is very similar to the multiple monitor feature, except that you cannot select the primary display. The portable computer display must be used as the VGA device.
Dualview requires that the display adapter provide dual outputs. The external VGA port on the portable computer provides the second monitor connection. Dualview can be used with docked or undocked portable computers. The display driver for the adapter must support this feature, so it is not available in all computers.
Windows XP Professional does not support hot undocking of portable computers that have an active multiple monitor configuration. To hot undock a portable computer, set up a non-multiple monitor hardware profile and log on again using that profile. You can also open Display in Control Panel to detach the secondary display before undocking.
Configuring Communications Resources
A communications resource is a physical or logical device that provides a single, asynchronous data stream. Communications ports, printer ports, and modems are examples of communications resources.
Two types of communications resources appear as ports in Device Manager:
Communications ports These ports, also called COM ports, serial ports, or RS-232 COM ports, connect RS-232-compatible serial devices, such as modems and pointing devices, to the computer. Several types of communications ports might be listed in Device Manager:
Serial ports. Ports, also known as RS-232 COM ports, to which external serial devices can be attached. Typically these ports require a 9- or 25-pin plug. Serial ports designed for Windows XP Professional use the 16550A buffered UART, which has a 16-byte FIFO that gives the CPU more time to serve other processes and that can serve multiple characters in a single interrupt routine.
Internal modem adapters. Internal modems are modems that are constructed on an expansion card to be installed in an expansion slot inside a computer.
Printer ports These ports, also known as LPT ports or parallel ports, connect parallel devices, such as printers, to the computer. For more information about configuring printer ports, see Chapter 11, “Enabling Printing and Faxing.”
Note If Windows XP Professional does not detect an internal modem, the modem must be installed and configured by using the Modems option in Control Panel.
When you install a communications device, Windows XP Professional assigns COM names to communication ports, internal modem adapters, and PC Card modem cards according to their base I/O port addresses as shown in the following list:
COM1 at address 3F8
COM2 at address 2F8
COM3 at address 3E8
COM4 at address 2E8
If a device has a nonstandard base address or if all four standard ports are assigned to devices, Windows XP Professional assigns the modem to COM5 or higher. Some 16-bit Microsoft Windows version 3.1–based applications might not be able to access ports higher than COM4. Thus, when using the System option in Control Panel, you must adjust the base address in Device Manager or delete other devices to free a COM port at a lower address.
Also, if some devices installed on a computer are not Plug and Play, you might need to change resource settings for their communications ports. You can change communications port settings by using Device Manager, as described in “Device Installation” earlier in this chapter.
Tip For future reference, it is recommended that you record the settings that appear on the Resources sheet for each communications port.
Configuring Scanners and Cameras
Configuration of scanners and cameras is completed during setup. Standard or default settings are applied when you run Setup, but you can change many of these settings by opening the Scanners and Cameras Properties dialog box in Control Panel.
For serial devices, to view the port being used by the scanner or camera, go to the Port Settings tab in the Scanners and Cameras Properties dialog box in Control Panel. On the Port Settings tab, you can configure the baud rate—faster to speed image transfer or slower to accommodate hardware limitations.
Warning Do not set the baud rate higher than the fastest speed supported by the hardware, or the image transfer will fail.
Image Color Management
The standard color profile is sRGB for Image Color Management (ICM 2.0) on the World Wide Web, in Microsoft Windows, Microsoft Office, and similar display environments. However, you can add, remove, or select an alternate color profile for a device. In Control Panel, open the Scanners and Cameras Properties dialog box, and then use the Color Management tab.
Infrared Picture Transfer (IrTran-P) is an image transfer protocol that sends images to Windows XP Professional by using infrared technology. On a camera that supports IrTran-P, when you press the Send button, the camera sends its stored images to Windows XP Professional. The IrTran-P server in Windows XP Professional then detects the connection the camera is attempting to establish, begins a session, accepts the images, and stores them in the My Pictures folder.
To use IrTran-P, you need an imaging device, typically a camera that can produce infrared transmissions, and a computer that can receive infrared transmissions. Most IrTran-P devices are Plug and Play and do not need any special configuration.
Pushbutton scanning allows a scanner to associate a particular application with the push button on the scanner, and it is typically configured during device installation. However, you might need to associate an application with a scanner button if this is not done automatically. In Control Panel, open the Scanners and Cameras Properties dialog box, and then use the Events tab to configure the button events for a scanner.
Windows XP Professional offers enhanced power-management features for desktop and mobile computers. The operating system supports the Advanced Configuration and Power Interface (ACPI) specification, which provides reliable power management and system configuration.
On an ACPI-compliant system, Windows XP Professional manages, directs, and coordinates power so that the system is instantly accessible to users when needed but consumes the least possible power when not actively working. In earlier power management architectures such as APM, the BIOS controlled the power state of system devices without coordinating with the operating system.
By contrast, devices and applications designed in compliance with the ACPI specification work with the operating system to respond to or request a change in the system power state. For example, an active application or input from a device, such as a mouse, indicates to the operating system that the computer or device is in use. The operating system’s power policy manager then allocates full power to the system. Otherwise, the operating system attempts to put the computer into a lower power or sleep state. For example, a fax modem can operate while the system is in a low-power state, consuming little energy until the phone rings, at which time the system returns to full power to receive a fax. It then transitions back into a low-power state when the system is no longer needed.
For more information about power management, ACPI, and Advanced Power Management (APM), see Chapter 7, “Supporting Mobile Users.”
Power Management Features
Windows XP Professional supports power management features based on ACPI and the OnNow design initiative. The operating system also provides more limited power management support for systems based on the older APM specification. Windows XP Professional includes the following power management features:
Improved boot and resume performance Reduced startup times mean the computer is ready for use quickly when powering up from a low-power state; reduced shutdown times allow the computer to quickly enter a low-power state.
Wake-on support The computer is in a low-power state when not in use, but it can still respond to wake-up events, such as a phone call or a network request.
Improved power efficiency Features that improve power efficiency, especially for portable computers, include native support for processor performance control technologies, LCD dimming when on battery power, and turning off the laptop display panel when the lid is closed.
Power management features in applications Applications designed to use power management features in Windows tell the operating system what not to put into sleep mode. For example, presentation software, which might be displaying a screen but not actively processing, can tell the operating system not to put the monitor into a sleep state.
Power policy ownership for individual devices All devices designed to use power management features in Windows can participate in power management. When they are not in use, they can request that the operating system put them into a low-power state to conserve power.
User interface for setting power preferences In Control Panel, Power Options provide an interface through which a user can set preferences by choosing or creating power schemes, specifying battery usage options, and setting low-power alarms. If an Uninterruptible Power Supply (UPS) is present, Power Options can also manage the UPS.
Decreased thermal output Power reduction for unused devices results in decreased thermal output, which can prolong the life of hardware components.
Decreased noise When the computer is in a low-power state, power can be reduced sufficiently to cause cooling fans to turn off, thereby decreasing noise.
Caution Devices or applications that are not ACPI-compliant might prevent the operating system from putting the system into a low-power state, such as standby or hibernation. Noncompliant applications or devices might cause data loss or other failures if the computer wakes up and the application or device is not properly designed to handle a change in the system power state.
Power Policy Overview
The goal of power management is to conserve power while the computer is working and to put the computer into low-power states when it is not working. The power policy manager, in conjunction with applications and devices, implements the decisions that determine how to save energy and when to put the computer into a low-power state. Power policies are based on user preferences, the requirements of applications, and the capabilities of the system hardware. The implementation of power policy is distributed throughout the system, with system components acting as policy owners for the various devices. For example, the operating system is the policy owner responsible for determining when the computer goes into a low-power state, the level of power reduction, and how to operate the processor to reduce power consumption.
Each device in the computer has a power policy owner, which is the component that manages power for that device. Each policy owner works in conjunction with the operating system’s policy for putting the computer into low-power states.
Device drivers carry out power policy—controlling devices so that when power consumption or capabilities change for each specific device, these changes are shared among the drivers in the stack. Device-specific drivers save and restore device settings across transitions to and from low-power states. When a device power policy owner detects conditions that permit or require a change in the power state of a device, it sends a request to the power policy manager in the operating system to put the device into the desired state. For example, if a network cable is unplugged, the network device driver can notify the operating system that the network adapter does not need full power and can be put into a lower power state until the network cable is plugged back in.
Another instance of the use of power management is Wake on LAN. As a network administrator, you can send information over the network to run an application or configure a system remotely. A remote system in a low-power state powers up when it receives the LAN request, accepts the information, and then returns to a low-power state when the task is complete.
Using the Power Management Interface
In Windows XP Professional, you can use Power Options in Control Panel to configure and monitor power management features and set power management options called power schemes. You can configure optional features, such as support for hibernation, and you can monitor the status of power components, such as the remaining power in your laptop battery. If your system has an Uninterruptible Power Supply (UPS), you can configure and view details of the UPS.
For more information about configuring power schemes for your desktop computer or power management for portable computers, see Chapter 7, “Supporting Mobile Users.” For procedural information about using the Power Options Properties dialog box to configure power options, see “Power Options” in Windows XP Professional Help and Support Center.
For ways to troubleshoot power management see Appendix C, “Tools for Troubleshooting.”
Any device installed in your system can cause startup and stability problems. Thus, it is important to become familiar with common issues so that you can diagnose and troubleshoot hardware. This compilation of troubleshooting examples can help you resolve common hardware problems by using Windows XP Professional features such as Device Manager. Checklists of troubleshooting suggestions included in this section might also provide solutions to hardware problems.
Troubleshooting Hardware by Using Device Manager
The list of devices shown in Device Manager can provide valuable information about hardware problems you might encounter. For example, devices that have resource conflicts or other problems are marked with a yellow exclamation point. You can fix problems with device drivers by updating or uninstalling the driver from Device Manager. You can view a device’s properties and system resources to establish where a conflict originates. You can disable a device by using Device Manager to see which device might be causing a problem.
When there is a problem with a device, Device Manager provides an error code on the device’s properties page. For a list of Device Manager error codes and suggested solutions, see Microsoft Knowledge Base article 310123, “Explanation of error codes generated by Device Manager,” found at http://support.microsoft.com/kb/310123.
For more information about Device Manager, see “Device Manager” earlier in this chapter.
Troubleshooting Network and Other Internal Adapters
Typically, installation of new internal devices in Windows XP Professional proceeds smoothly. If a problem occurs, Table 9-5 can help you identify the cause and find a solution.
Table 9-5 Suggestions for Troubleshooting Network and Other Internal Adapters
Course of Action
Check the Windows Catalog.
Verify that the device is listed in the Windows Catalog and then check Windows Update for newer Windows XP Professional drivers. For unsupported devices, consult the manufacturer’s Web site for Windows XP Professional updates.
Update device drivers.
Check Windows Update to determine whether updated drivers are available. If your device driver is not listed on Windows Update, check the manufacturer’s Web site. If you cannot restart the computer after installing new drivers, see Chapter 29, “Troubleshooting the Startup Process.”
Upgrade the adapter’s firmware.
Upgrade the computer’s firmware to the latest revision. Certain types of network cards, such as combination modem and network cards for portable computers and Preboot Execution Environment (PXE) adapters used for Remote Installation Services (RIS) might require BIOS updates to take full advantage of advanced features.
Note: To start from a PXE device into a Windows 2000 Professional or Windows XP Professional RIS enabled network, the system firmware boot order option must be set so that the network adapter is the first device on the list. Typically, the floppy disk or CD-ROM is the first device, with the network adapter set as one of the last options.
Upgrade the adapter’s firmware to the newest version. This could improve the adapter’s stability and compatibility.
Upgrade the computer’s firmware.
For a discussion about keeping motherboard firmware revisions current, see Chapter 27, “Understanding Troubleshooting.”
Verify that ISA devices operate in Plug and Play mode.
For ISA devices, verify that they are operating in Plug and Play mode. For non–Plug and Play devices, choose resource settings that do not conflict with existing settings for other devices.
Replace or move the adapter.
Replace the adapter with an identical adapter type. If problems disappear, this indicates a hardware problem with the first device.
You can also try physically moving the adapter to another slot. Some motherboards assign resources based on slot position, and relocating a device from one slot to another might resolve hardware conflicts. Manuals for some PCI network adapters strongly advise that you use a “master” slot whenever possible to avoid problems on x86-based systems. Refer to your computer’s documentation for the location of these master PCI slots. If you are experienced with hardware, some x86-based motherboards have a firmware option that allows you to assign IRQ resources manually.
Restart or shut down the computer.
Restart the computer to make sure that device drivers are activated. This is sometimes required for ISA devices that must restart to fully initialize. For multiple boot x86-based systems with Windows 95 or Windows 98 installed, each operating system might assign different resources to the same device, resulting in initialization problems. If you suspect a problem, you can use Device Manager to verify that the device is still functioning. A yellow exclamation point or a red “X” indicates malfunctioning or improperly installed hardware. Restarting the computer might work, or a full shutdown might be required before you can switch operating systems.
Verify that the network driver is properly installed.
Verify that the Local Area Connection icon is present in Network Connections in Control Panel. If an installation problem exists, no icon appears. Try refreshing the screen to display the icon.
Verify network driver settings.
Many adapters use drivers that attempt to auto-detect network settings such as media type, media connector, and duplex. Occasionally, automatic settings are incorrectly detected, and you might need to make manual changes so that the device works. (A common example is the duplex setting.) If default driver settings do not work, try manually changing each parameter one at a time and observe the result.
Note: For TCP/IP networks, Windows XP Professional uses Media Sensing, a feature that attempts to re-establish broken connections without restarting the computer. This can cause problems when two computers are connected directly to each other by a crossover network cable. For best results, avoid using crossover cables and use network hubs instead. For more information about disabling media sensing, see article 239924, “How to Disable Media Sense for TCP/IP in Windows 2000,” in the Microsoft Knowledge Base. To find this article, see the Microsoft Knowledge Base link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
Verify compatibility of network tools.
Bonus tools are often included with products installed by using OEM drivers. These tools might be incompatible with Windows XP Professional. Uninstall extra tools (leaving the base drivers in place) to determine whether this resolves problems. If bonus tools cause the problem, search for updated versions on the manufacturer’s Web site.
Typically, modem troubleshooting involves setup and installation problems. Understanding the differences between the two types of modems, standard and controller-less, can help to resolve problems. See “Modems” earlier in this chapter.
If problems arise during setup or installation of modems, use the following steps for troubleshooting:
Standard (external) modems
Verify that the computer uses the serial port to communicate with the modem. If the system requests area code and dialing options information, open Phone and Modem Options in Control Panel. On the Modems tab, click Properties to verify that the information screen is not blank.
If you have difficulty, repeat the verification step mentioned earlier, and then check to see whether Device Manager lists your modem. If it does not, a specific driver for your modem was not found. Windows XP Professional might substitute a Standard Modem driver that provides basic functionality, but it might not support all the advanced features of the modem. You can use the Standard Modem driver temporarily until you obtain an update from the modem manufacturer.
To use the Standard Modem driver, perform the following tasks:
Shut down and restart the computer, and then repeat the earlier steps.
If you are still having problems with the modem, try moving the external modem to another free serial port if one is available.
For internal modems, see “All modems” below.
Troubleshooting options for controller-less modems are limited to updating driver software. Controller-less modems rely on operating-system-specific code to function, so you must use the most current Windows XP Professional drivers.
Use the following suggestions to troubleshoot standard external modems, internal modems, and controller-less modems:
If lack of system resources is an issue (especially for x86-based systems), disable unused COM ports in both the BIOS and in Device Manager. Communication ports consume resources whether they are actively used or not. Disabling unused ports might reduce the potential for hardware conflicts.
If applicable, upgrade modem firmware to the newest version.
Replace the modem with an identical model to verify that the current hardware is not malfunctioning.
Refer to the troubleshooting options listed in Table 9-5, earlier in this chapter.
Note Some modems use USB interfaces. For information about troubleshooting USB devices, see “Troubleshooting a Universal Serial Bus Device” later in this chapter.
Troubleshooting Video Adapters
Video problems can stem from two common causes:
The wrong video driver is installed.
The settings made by using Display in Control Panel are incorrect, such as setting the wrong monitor type. This mismatch can result in distorted images if the monitor cannot synchronize with the video card’s resolution or refresh rate.
If video distortion occurs immediately after manipulating the Display settings, press ESC to undo the changes. If you succeed in restoring the previous settings, select the correct monitor from the list of available models. If you cannot locate an exact match, use the Default Monitor or obtain a suitable driver from the manufacturer.
If you use the wrong video driver or settings, the system might stop responding and display a Stop message, or the screen might go blank soon after Windows XP Professional starts. To restore previous video settings, restart the computer, and then press F8 to view the following choices on the Windows XP Professional Advanced Options menu:
Last Known Good Configuration Select Last Known Good Configuration to restore the registry and driver configurations to their state the last time the computer was successfully started.
Safe mode Start in safe mode and manually update, remove, or roll back the video driver.
Enable VGA mode Select the Enable VGA mode option to enable standard VGA 640 x 480 resolution and 16-color capability. You can then use Display in Control Panel to select the correct driver for your video adapter.
If the preceding suggestions do not resolve the problem, try the troubleshooting suggestions in “Troubleshooting Network and Other Internal Adapters” earlier in this chapter.
Under certain circumstances, aggressive video driver settings can cause problems with the monitor. If problems persist, try reducing graphics hardware acceleration. The appropriate setting is often determined by trial and error. For more information about changing hardware acceleration settings, see “Changing Hardware Acceleration Settings for Graphics Hardware” in this chapter.
Troubleshooting Multiple Monitors
When using multiple monitors, you can avoid problems during Windows XP Professional startup by taking the following precautions:
Keep all monitors turned on during startup. This precaution lets you keep track of the image on your screen, which can move from one monitor to another during startup. You can then set your primary and secondary monitor preferences: in Control Panel, open Display and click the Settings tab. For more information about adjusting multiple monitor settings, see Windows XP Professional Help and Support Center.
Verify the BIOS video card initialization sequence. Some system firmware gives you the option of initializing either the PCI or Advanced Graphics Port (AGP) first. You might be able to avoid the video shift from one monitor to another by setting the BIOS values to match your primary and secondary monitor preferences in Windows XP Professional. Consult your hardware documentation before you make any changes to the BIOS.
Troubleshooting a Universal Serial Bus Device
USB devices are typically reliable and easy to install. However, problems can arise when a new USB device is installed, or when other changes are made to the system that affect a USB device. Windows XP Professional provides error messages when certain USB error conditions are encountered. Refer to the error messages, a description of the error conditions, and recommended solutions in this section to help troubleshoot these problems. Begin with the following USB troubleshooting checklist, which provides suggestions for solutions to common problems with USB devices.
For a step-by-step approach to troubleshooting USB problems, see the USB Troubleshooter in Windows XP Professional Help and Support.
USB Troubleshooting Checklist
Adding a USB device might cause your system to stop responding. If resetting the computer does not solve the problem, turn off the computer, and try restarting it. If startup or stability problems persist, try any of the following troubleshooting suggestions:
To troubleshoot problems with the USB controller, refer to Table 9-5 earlier in this chapter. USB controllers are either built into the computer or available as add-on PCI adapters.
Follow the manufacturer’s installation instructions for the USB device. Some installations require that you run a setup program before plugging the device into your computer.
Plug the device into another computer to make sure that the problem is not caused by your computer configuration. If you can reproduce the problem, the USB device might be malfunctioning.
If the device is attached to a USB hub, unplug it from the hub and reconnect it. Turn the hub off and on or connect the device directly to a free USB port on the computer.
Check the Event Log for USB-related error messages. The message can provide clues or other valuable information about the problem.
Check Device Manager to make sure that all devices on the Universal Serial bus controllers tree are functioning properly. Setting Device Manager to show USB devices by connection is usually the easiest way to spot a faulty device. Check that the device is not disabled. If a yellow exclamation point precedes a device, check Windows Update or contact your hardware vendor to obtain the most recent, compatible driver.
Note Some x86-based motherboards with built-in USB controllers feature a BIOS option labeled Assign IRQ to USB. This option must be set to on or yes for USB devices to function.
Verify that you are not exceeding USB power limits. If a USB device attempts to draw more than 500 milliamps (mA) of electrical current, the device must be accompanied by a wall adapter to draw the additional power. If you are unsure about total USB power consumption for your system, use the power supply if one is furnished with your device to guarantee adequate power.
The USB specification allows up to five external hubs to be connected in a chain.
Always use the cables included with the device and replace damaged or worn cables with an identical type. USB cables come in many kinds and lengths, depending on the capability of the device. Using incorrect cables can degrade performance or cause the device to stop functioning.
To view information about USB power consumption
Open Device Manager, and then expand Universal Serial Bus controllers.
Double-click USB Root Hub.
Click the Power Management tab to view information about power consumption.
Installing Unsupported USB Devices
When you install a USB device and an appropriate driver exists in the Driver.cab file, the device is configured without the operating system requesting a device driver. However, some USB devices might not be supported with Windows XP Professional drivers.
When you attempt to install an unsupported device, Windows XP Professional prompts you for the appropriate driver. When prompted, select the location on removable media that contains the drivers supplied by the device manufacturer drivers. You can optionally specify a network location.
Note The fact that a USB device functions properly in Microsoft Windows 98 or Microsoft Windows 2000 does not guarantee problem-free installation in Windows XP Professional. Some USB devices might stop functioning if you upgrade to Windows XP Professional without updating drivers. Be sure to verify that USB peripherals are listed in the Windows Catalog, or that the driver supplied by the manufacturer is compatible with Windows XP Professional.
USB User Interface Error Detection
The USB error detection and correction scheme uses WMI event-driven architecture to resolve errors. The interface notifies the user when a problem occurs on the bus, gives information about the error, and suggests solutions.
When the user clicks on an error message, a dialog box appears that shows the following:
A description of the error condition.
The tree-view, which is a topological view of the bus. The tree is expanded so that the device in question is displayed, selected, and appears in boldface type.
A recommended user action, which depends on the current topology of devices on the bus.
The following six error conditions reported for USB devices result in messages that give error descriptions, and some also give troubleshooting advice:
Electrical surge on hub port Either a device attached to the port or the port itself has drawn more current than allowed, and the hub turned off the port. The port will not function correctly until you reset it. If the device is the cause, it must be detached before resetting the port. To reset the port, disconnect the device, and then click Reset in the dialog box. If the port is the cause, close the dialog box, and do the following to re-enable the port:
Disconnect the hub.
Re-attach the hub.
If it is the root hub, unplug all attached USB devices from the computer, and (if they have power supplies) unplug them from the electric supply. After a few moments, reconnect the devices. The computer can be restarted at any time.
USB hub port power exceeded A device that requires more than 100 mA has been plugged into a bus-powered hub that can supply only 100 mA to each of its ports. The device will not work until it is plugged into a self-powered hub, or into a root hub, that supplies 500 mA to each port. Disconnect the problem device, and reconnect it to an unused port that meets its power requirements. (The error dialog box lists the appropriate port in boldface type.)
USB host controller bandwidth exceeded A device request for allocation of bandwidth has failed because the USB host controller is in full use and has no spare bandwidth. Typically, devices support several settings at various levels of bandwidth. A device tries to allocate the highest bandwidth, progressively metering itself back after each bandwidth allocation fails. Repeated requests trigger an error condition.
It is recommended that you close some applications that are using USB devices that use bandwidth. In Device Manager, you can view the property page for the host controller to see bandwidth status. Pressing Refresh in the dialog box after making any changes updates bandwidth data to show whether bandwidth is freed.
Maximum number of hubs surpassed Six or more USB hubs are linked in a chain, and the USB specification allows a maximum of five. It is recommended that you remove the most recently connected hub and connect it to a port that is highlighted on the tree view list in green (signifying that it is free and recommended).
Device enumeration failure A device is plugged into a USB port, but the operating system does not recognize the device. The failure can have various causes. For example, the device might not initialize properly when it is plugged in, or the device driver might be faulty. If the cause is not a permanent malfunction in the physical device, unplugging the device and plugging it in again might allow it to enumerate properly.
Identical serial numbers The serial number in a device, if it exists, must be unique for each device that shares the same USB Vendor ID and Product ID. Occasionally hardware vendors mistakenly program devices with identical serial numbers. When two or more USB devices with identical serial numbers are plugged into the same system, only the first one plugged in functions. For further assistance, contact the hardware vendor.
For more information about the USB standard, see the USB link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
For more information about troubleshooting USB, see the Microsoft Knowledge Base link on the Web Resources page at www.microsoft.com/windows/reskits/webresources. Search the Knowledge Base by using the keywords USB and USB troubleshooting.
Troubleshooting IEEE 1394 Bus Devices
Although IEEE 1394 devices are generally reliable, problems do arise with these devices, often when changes are made to the system. The following suggestions for troubleshooting IEEE 1394 devices can help to solve hardware problems:
When installing PCI IEEE 1394 adapters, refer to the troubleshooting options listed in Table 9-5 earlier in this chapter. Some manufacturers provide IEEE 1394 controllers that are integrated into the motherboard, while others offer them as optional components.
Follow the manufacturer’s installation instructions. Some IEEE 1394 hardware installations require that you run a setup program before plugging the device into your computer.
Install the IEEE 1394 adapter and peripherals in another computer to make sure that the problem is not caused by your computer configuration. If you can reproduce the problem, the IEEE 1394 adapter or the connected device might be malfunctioning.
Be sure to use the correct cables and follow the manufacturer’s recommendations for length and type. For example, four-pin IEEE 1394 connectors do not provide power to connected devices, so you must use a separate power adapter. Six-pin connectors do provide power if IEEE 1394 bus power specifications are not exceeded and electrical current is supplied while your computer is on. If problems occur, use the power supply packaged with your device.
For security reasons, you cannot simultaneously connect IEEE 1394 storage devices to multiple Windows XP Professional computers. By design, Windows XP Professional does not mount an IEEE 1394 storage device that is being used by another computer. You must disconnect an IEEE 1394 hard disk from one computer before another computer can use it.
“Bus-resets” might cause a data flow interruption immediately after a device is attached or removed. Avoid connecting or detaching an IEEE 1394 device during a time-critical operation such as capturing video or burning a CD-ROM. Add or remove devices only during idle periods.
For more information about the IEEE 1394 standard, see the IEEE 1394 link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
These resources contain additional information related to this chapter.
Chapter 4, “Supporting Installations,” for information about device detection during system startup
Chapter 25, “Connecting Remote Offices,” for information about Universal Plug and Play
Chapter 11, “Enabling Printing and Faxing,” for information about using printers
Chapter 7, “Supporting Mobile Users,” for information about power management on portable computers
Appendix C, “Tools for Troubleshooting,” for information about troubleshooting hardware
The Windows Update link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources
The Driver Development Kits link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources
The Microsoft Knowledge Base link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources, for information about troubleshooting devices
The OnNow link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources, for information about the OnNow power management initiative
The ACPI link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources
The Plug and Play link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources
Windows Hardware and Driver Central at http://www.microsoft.com/whdc
An overview of Windows Hardware Quality Lab (WHQL) testing at http://www.microsoft.com/whdc/whql
The “Designed for Windows” logo program at http://www.microsoft.com/winlogo
Windows Quality Online Services (Winqual) found at https://winqual.microsoft.com
The Windows Catalog at http://www.microsoft.com/windows/catalog