Plug and Play
Plug and Play is a combination of the system BIOS, hardware devices, system resources, device drivers, and the operating system software. This combination provides for dynamic installation and configuration of new hardware components with little or no manual intervention.You can install Plug and Play devices by plugging in the device. For other devices, such as Plug and Play Industry Standard Architecture (ISA) cards, turn off the computer to install the device, then restart the computer to initialize the device.Plug and Play allows users to do the following:
Insert and remove Plug and Play devices such as PC cards without having to configure them.Connect to or disconnect from a docking station or network without restarting the computer or changing configuration parameters. Add a new monitor or USB keyboard by plugging it in and turning it on.
Plug and Play support depends on both the hardware device and the device driver. A legacy device can gain some benefit by using a Plug and Play driver. For example, an ISA sound card or an Extended Industry Standard Architecture (EISA) network adapter can be manually installed and gain some Plug and Play functionality by means of a Plug and Play driver.If a driver does not support Plug and Play, its devices behave as non–Plug and Play devices, regardless of hardware Plug and Play support. Table 19.1 shows how the level of Plug and Play for a device depends on hardware and software.Table 19.1 Plug and Play Requirements in Windows 2000 Professional
Device Type | Plug and Play Driver | Non–Plug and Play Driver |
---|---|---|
Plug and Play device | Full Plug and Play | No Plug and Play |
Non–Plug and Play device | Partial Plug and Play | No Plug and Play |
NOTE
Windows 2000 Professional supports Plug and Play for monitors only if the monitor, the display adapter, and the display driver are Plug and Play; otherwise, the monitor is detected as "Default Monitor." For more information about Plug and Play device detection, see "Setup and Startup" in this book.
Plug and Play in Windows 2000 Professional
In Windows 2000 Professional, Plug and Play support is optimized for computers that include Advanced Configuration and Power Interface (ACPI) system boards. In addition, Plug and Play support for many device classes is provided by the Win32 Driver Model (WDM), which includes support for power management and other new capabilities that are configured by the operating system.The Plug and Play implementation in the Windows 2000 Professional operating system provides the following benefits:
Dynamically loads, initializes, and unloads drivers. Enumerates devices. Automatically allocates resources during enumeration. Notifies other drivers and applications when a new device is available for use. Windows 2000 Professional also includes an automatic installation procedure to ensure that appropriate drivers are installed and loaded. Provides a consistent driver and bus interface for all devices. Works with power management to handle insertion and removal of devices. Supports a wide range of device types.
Windows 2000 Professional detects the presence of a Plug and Play device in a process called enumeration. After enumeration, the device driver can be configured and loaded dynamically, requiring little or no user input. Certain buses, such as the peripheral component interconnect (PCI) and Universal Serial Bus (USB), take full advantage of Plug and Play capability and are also automatically enumerated.
IMPORTANTComputers running Windows 2000 Professional that do not have an ACPI BIOS can gain Plug and Play functionality by adding Plug and Play devices. To be able to use all Plug and Play features, however, your system must include an ACPI BIOS and Plug and Play hardware devices. If you have an Advanced Power Management (APM) BIOS or a Plug and Play BIOS, you still have many advantages of Plug and Play, but it is not as robust. With a non-ACPI BIOS, Plug and Play is provided by the BIOS and not by the operating system. This difference can become important during troubleshooting or if you manually change resource settings. On a non-ACPI system, if you manually change resource settings, they become fixed, and those resources cannot be reallocated by the operating system and you no longer have Plug and Play functionality.For more information about how Plug and Play detects devices during startup on ACPI and non-ACPI computers, see "Setup and Startup" in this book. For more information about ACPI, see "Power Management" in this book.
Although Plug and Play devices can be hot-plugged, or installed without restarting the computer, some devices, such as internal modems and network adapters, should not be unplugged while the computer is running. This is also true for removable storage devices.
Plug and Play Devices
A variety of devices are compliant with Plug and Play. The following sections describe the types of devices and provide details for Plug and Play.USB DevicesUniversal Serial Bus is a bus standard that brings Plug and Play capability to external hardware devices, such as keyboards, mouse devices, speakers, and cameras. USB devices are hot pluggable, meaning that they can be connected even when the computer is running. USB devices are automatically configured when they are attached—without the need to restart the computer or run Setup. IEEE 1394 DevicesThe IEEE 1394 bus is designed for high-bandwidth devices such as digital camcorders, cameras, and videodisc players. Windows 2000 Professional supports hot plugging of IEEE 1394 devices. To use an IEEE 1394 device, obtain the appropriate Win 32 Driver Model (WDM) driver. For more information about USB and the IEEE 1394 bus, see "Hardware Support" in this book.SCSI DevicesSmall computer system interface (SCSI) is a multiple-device chained interface used for many devices such as hard disks and CD-ROM drives. Plug and Play SCSI devices support dynamic changes to the adapter and automatic configuration of device ID and termination, as long as the driver supports it.Configuration of a SCSI device can be separated into two distinct processes:
Configuring the SCSI bus itself, for example, by terminating both ends of the SCSI bus and setting device IDs.Configuring the SCSI host adapter, for example, by assigning an interrupt request (IRQ) channel, direct memory access (DMA) channel, and so on.
PC Card Devices and CardBusProducts designed for the PC Card standard include multifunction cards, 3.3-V cards, and 32-bit PC Cards (CardBus). These advances add the modularity and bus-independence of Plug and Play without affecting device drivers. Windows 2000 Professional also supports CardBus, a 32-bit implementation of PC Card also known as PC Card 32. CardBus brings 32-bit performance and the benefits of the PCI bus to the PC Card format. CardBus allows portable computers to run high-bandwidth applications such as Video Capture. For more information about how Windows 2000 Professional supports Video Capture, see "Hardware Support" in this book.VL DevicesThe Video Electronics Standards Association (VESA) Local (VL) bus standard allows high-speed connections to peripheral devices. VL bus devices are not completely Plug and Play but work similarly to ISA devices. PCI DevicesThe peripheral component interconnect (PCI) local bus meets most Plug and Play requirements. It is considered the successor to the VL bus. The PCI bus and devices use agreed-upon mechanisms for identifying themselves and declaring their resource settings and requirements. Windows gathers PCI and ISA Plug and Play device resource information from the system BIOS, which provides the PCI IRQ Steering Table for PCI devices. With the information from the PCI IRQ Steering Table, Windows 2000 Professional can reassign PCI device resource requirements dynamically, if necessary. For example, when a PCI-based portable computer is hot-docked into a docking station, Windows 2000 Professional might dynamically reassign a PCI device's IRQ to accommodate the new hardware.
NOTEISA DevicesIndustry Standard Architecture (ISA) bus design is the architecture specified for the IBM PC/AT. Plug and Play ISA devices can be used on existing computers, because the specification does not require any change to ISA buses. To configure Plug and Play ISA devices, the system performs the following actions:
Windows 2000 Professional can manipulate only the physical IRQ that is mapped to a particular PCI INT#. It cannot alter the link value for the PCI device listed in the PCI IRQ Routing Table. (The link value is the combination of the device's INT# assignment and the specific PCI slot the device is installed in.)
Isolates each card and retrieves a unique device ID and a unique serial number.Reads the resource requirements and capabilities stored on each card.Allocates resources to each card, reserving these resources so that they cannot be assigned to other Plug and Play cards in the computer.Activates the Plug and Play ISA cards.
For legacy devices, standard ISA cards can coexist with Plug and Play ISA cards in the same computer. Windows 2000 Professional determines the type of hardware and its configuration during Setup, by either polling the hardware or asking the user to supply values. This configuration information is stored as static values in the registry and cannot be changed dynamically, but it is used to determine resource assignments for Plug and Play devices.EISA DevicesExtended Industry Standard Architecture (EISA) is a bus design specified by an industry consortium. EISA devices use cards that are upwardly compatible from ISA and standard software mechanisms for identification and configuration. Windows 2000 Professional includes a bus enumerator that makes configuration information from these devices accessible to the operating system. Windows 2000 Professional does not reconfigure EISA cards, but it uses the information that hardware detection derives from the EISA nonvolatile RAM storage to determine which resources are used.Other Device TypesOther device types can take advantage of Plug and Play if they provide mechanisms for identification and configuration. These include integrated device electronics (IDE) controllers, Extended Capabilities Ports (ECPs), and communications ports. Parallel ports can also take advantage of Plug and Play. The most common parallel port type is the Centronics interface. Plug and Play parallel ports meet Compatibility and Nibble mode protocols defined in IEEE P1284. Compatibility mode provides a byte-wide channel from the computer to the peripheral. Nibble mode provides a channel from the peripheral to the host through which data is sent as 4-bit nibbles using the port's status lines. These modes provide two-way communication between the host and the peripheral. Nibble mode is also used to read the device ID from the peripheral for device enumeration.For totally Plug and Play–compliant computers, the BIOS must also meet Plug and Play specifications. With Plug and Play, the operating system and the BIOS can communicate with each other to share information about system resources. This communication channel is not new, but with newer system BIOSs combined with either Windows 2000 Professional or Windows 98, this process is more effective than with previous Plug and Play implementations.