Windows 98 allows you to configure and manage your system devices by using Device Manager, which you gain access to by clicking the System icon in Control Panel. Using Device Manager is recommended and is described in the sections that follow.
Note
If Windows 98 does not include a driver for your device, check the \Drivers directory on the Windows 98 compact disc.
Understanding Device and Bus Classes
To install and manage device drivers and allocate resources, Windows 98 groups devices and buses into classes. The registry contains a subkey for every class of device supported, and the hardware tree (described in "The Hardware Tree" later in this chapter) is organized by bus type. Windows 98 uses class installers to install drivers for all hardware classes. Device Manager, for example, sends messages to the various class installers to tell them to add, remove, or configure specific hardware.
The following are some examples of class names defined in the Windows 98 registry.
Adapter CD-ROM Display FDC HDC HID |
Keyboard Media Modem Monitor Mouse |
MTD Net NetService Nodriver PC Card |
Ports Printer SCSI Adapter System USB devices |
The Windows 98 hardware tree is a record of the current system configuration, based on the configuration information for all devices in the hardware branch of the registry. The hardware tree is created in random access memory (RAM) each time the system is started or whenever a dynamic change occurs to the system configuration.
Each branch in the tree defines a device node with the following requirements for system configuration:
For more information about the components that work together in Windows 98 to configure the system, see Chapter 28, "Windows 98 Architecture."
Most information in the Windows 98 hardware tree can be accessed by using Device Manager, shown in Figure 24.1. Device Manager contains a representation of the active hardware device tree, listing the system device nodes. Under each node are listed the actual devices configured for your system; double-clicking a device node exposes its device list. You can reconfigure the device driver and resource settings for a specific device from the Device Properties dialog box, reached by clicking the device name and then Properties.
For more information about using Device Manager to configure devices, see "Configuring Device Settings" later in this chapter.
Note
You can also see the information in the hardware tree in the Windows 98 registry. For more information about the Windows 98 registry, see Chapter 31, "Windows 98 Registry."
Figure 24.1 Device Manager dialog box
Plug and Play is an independent set of computer architecture specifications that hardware manufacturers use to produce computer devices that can be configured with no user intervention. When you install a device, you do not need to know its Plug and Play requirements, because they will be set automatically.
You can install hot-pluggable Plug and Play–compliant devices simply by plugging in the device. For other devices, such as Plug and Play Industry Standard Architecture (ISA) cards, you must plug in or install a device while the computer is off and then turn the computer back on to initialize the device.
For example, a user can do the following:
Windows 98 detects the presence of a Plug and Play–compliant device. This is known as enumerating the device. After enumeration, the device driver can be configured and then loaded dynamically, requiring little or no user input. Certain buses (for example, peripheral component interconnect [PCI] and Universal Serial Bus [USB]) are also automatically enumerated; these buses take full advantage of Plug and Play capability.
You can add some Plug and Play functionality by adding Plug and Play–compliant devices on legacy computers. Therefore, it is best to add Plug and Play–compliant devices on legacy computers rather than adding non–Plug and Play devices. To be able to use all Plug and Play features, however, your system must also include one of the following:
The Plug and Play implementation in the Windows 98 operating system provides the following benefits:
For more information about ACPI, see Chapter 30, "Hardware Management."
For more information about the supporting architecture, see Chapter 28, "Windows 98 Architecture."
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.
Note
Windows 98 assigns resources first to ISA, EISA, and Micro Channel Architecture (MCA) devices, next to PCI devices, and finally to Accelerated Graphics Port (AGP) devices.
Universal 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. This means that they can be connected at any time, even when the computer is running. USB devices are automatically configured as soon as they are physically attached — without the need to reboot or run the setup sequence. Windows 98 supports USB and includes a driver for a digital camera. Contact your hardware manufacturers for other drivers.
The IEEE 1394 bus is designed for high-bandwidth PC devices such as digital camcorders, cameras, and videodisc players. Windows 98 supports hot plugging of IEEE 1394 devices. To use an IEEE 1394 device, you must obtain the appropriate Win 32 Driver Model (WDM) driver. Windows 98 includes a driver for a digital camera; for other drivers, contact your hardware manufacturer.
For more information about USB and the IEEE 1394 bus, see Chapter 30, "Hardware Management."
Small 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 a SCSI bus that is not Plug and Play–compliant is difficult for most users. The long list of issues related to configuring a SCSI bus includes the following:
For example, the SCSI-2 specification does not define an automated ID assignment mechanism, so the user is responsible for making sure that no two SCSI devices on the same SCSI bus share the same SCSI ID. Also, you might replace a SCSI host adapter with one from another company and find it does not work because of differences in disk geometries or the way devices are mapped to hardware interrupt 13 (INT13) parameters.
For more information about hardware interrupts as well as support for SCSI devices and drivers, see Chapter 10, "Disks and File Systems."
Windows 98 supports the new features of products designed for the PC Card standard, also known as the Personal Computer Memory Card International Association (PCMCIA) standard. These products 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 98 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 laptop PCs to run high-bandwidth applications such as Video Capture. For more information about how Windows 98 supports Video Capture, see Chapter 30, "Hardware Management."
Windows 95 and Windows 98 have the same driver development structure. This means many of the drivers that worked under Windows 95 should work under Windows 98.
The Video Electronic Standards Association (VESA) Local (VL) bus standard allows high-speed connections to peripherals (compared to ISA devices). VL bus devices are not totally Plug and Play–compliant but work similarly to ISA devices.
The peripheral component interconnect (PCI) local bus has become the industry-standard bus and is used in most Pentium computers as well as in the Apple Power Macintosh. It is considered the successor to the VL bus. The PCI bus architecture meets most Plug and Play requirements, because the PCI bus and devices use agreed-upon mechanisms for identifying themselves and declaring their resource settings and/or requirements. Windows extracts PCI and ISA Plug and Play – compliant device resource information from the system BIOS, and the BIOS provides the PCI IRQ Steering Table for PCI devices. With the information from the PCI IRQ Steering Table, Windows 98 can reassign PCI device resource requirements dynamically, if necessary. For example, when a PCI-based laptop is hot-docked into a docking station, Windows 98 might have to reassign a PCI device's IRQ on the fly to accommodate the new hardware.
Note
Windows 98 can manipulate only the ISA 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.)
Industry 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:
For legacy devices, standard ISA cards can coexist with Plug and Play ISA cards in the same computer. Windows 98 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–compliant devices.
Extended Industry Standard Architecture (EISA) is a bus design for x86-based computers, specified by an industry consortium. EISA devices use cards that are upwardly compatible from ISA. EISA devices use standard software mechanisms for identification and configuration. Windows 98 includes a bus enumerator that makes configuration information from these devices accessible to the operating system. This means that Windows 98 does not reconfigure EISA cards but instead uses the information that hardware detection derives from the EISA nonvolatile RAM storage to determine which resources are used.
Other 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 Capability Ports (ECPs), and communications ports.
Parallel ports (ports designated as LPT) 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 also meets Plug and Play specifications. For computers that comply with the Plug and Play BIOS specification, the file Bios.vxd provides the BIOS Plug and Play enumerator. For computers that conform to the ACPI specification, the file Acpi.sys provides the motherboard Plug and Play enumerator.
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 98 or OSR2, this process is more effective than with previous Plug and Play implementations.
Many newer motherboards, with newer Plug and Play BIOSs, can store individual device settings in an area of non-volatile CMOS memory. This area, called the Extended System Configuration Database (ESCD), is a data structure that stores resource requirement data about Plug and Play, non-Plug and Play, EISA, ISA, and PCI devices. It also contains information about the standard devices in the system, such as serial and parallel ports. If a Plug and Play BIOS supports the ESCD, on shutdown Windows 98 actually writes to the CMOS, telling the Plug and Play BIOS which PCI and Plug and Play ISA devices have forced configurations (that is, if the user fixed their resource settings) and which legacy devices Windows 98 has already assigned. Windows 98 writes this information to the CMOS so that the Plug and Play BIOS will not attempt to reassign those resources to another Plug and Play device on the next boot. An added benefit is that if system hardware has not changed, Plug and Play – compliant devices will initialize with the same resources, from boot to boot.
In previous implementations, the operating system wrote to the CMOS using Plug and Play BIOS functions 9 and A. This method, called the bitmap method, allowed only the most primitive form of data exchange to occur. Instead of providing complete device descriptions and their resource requirements, the operating system described only IRQs and I/O addresses that were off-limits to the Plug and Play BIOS. If a Plug and Play BIOS does not support the ESCD but does support the bitmap method, Windows 98 uses the bitmap method to communicate with the Plug and Play BIOS.