Man is a shrewd inventor, and is ever taking the hint of a new machine from his own structure, adapting some secret of his own anatomy in iron, wood, and leather, to some required function in the work of the world.-Ralph Waldo Emerson
Emerson's concept of a "machine" was decidedly low-tech ("iron, wood, and leather"), but his basic idea is still apt in these high-tech times. Man has taken yet another "secret of his own anatomy"-the brain-and used it as the "hint of a new machine"-the computer. And although even the most advanced computer is still a mere toy compared to the breathtaking complexity of the human brain (Deep Blue notwithstanding), some spectacular advancements have been made in the art of hardware in recent years.
One of the hats an operating system must wear is that of an intermediary between you and your hardware. Any OS worth its salt has to translate incomprehensible "device-speak" into something you can make sense out of, and it must ensure that devices are ready, willing, and able to carry out your commands. Given the sophistication and diversity of today's hardware market, however, that's no easy task. The good news is that Windows 98 brings to the PC world an unprecedented level of interaction with hardware. From its basic architecture to the advanced device management tools it provides, Windows 98 is built from the ground up to make your hardware travails trivial. Did Microsoft achieve this laudable goal? Not really, no. But it's a huge improvement over the primitive tools that existed in previous versions of Windows, so, if nothing else, it will make your hardware chores easier. This chapter provides you with an introduction to Windows 98's hardware support and provides detailed coverage of Device Manager and hardware profiles. I cover specific hardware devices in Chapter 11, "Device Advice: Dealing with Devices in Windows 98."
We begin our examination of Windows 98 hardware issues by looking at a few of the innovations Windows 98 brings to device management. But first, let's recap how people dealt with devices before Windows 98 came along.
Installing and configuring hardware has always been the bete noire of PC owners. Sure, getting cards and drives into their particular slots or bays wasn't a big deal, as long as you were at least minimally dexterous (and could stomach the idea of dealing with your computer's innards). It was the "before" and "after" phases that gave most people ulcers and prematurely gray hair. The before phase usually consisted of adjusting jumpers and setting DIP (dual inline package) switches; the after phase involved configuring a few more device parameters by using some kind of setup program.
What was the purpose of all this adjusting, setting, and configuring? To coax the device into working with our hardware and to avoid conflicts with other devices. For most devices, this
required configuring three resources: the Interrupt Request Line (IRQ), the Input/Output (I/O) port address, and the Direct Memory Access (DMA) channel.
The IRQ is a hardware line over which a device (such as a keyboard or a sound card) can send signals (called interrupts) to get the attention of the processor when the device is ready to accept or send data. The basic problem is that although you need a separate IRQ for each device that needs one, only 16 IRQs are available to go around. That might sound like plenty, but many of these IRQs are used by system devices. Table 10.1 lists the IRQ distribution in a typical PC.
|
Table 10.1. |
|
| IRQ | Device |
|
0 |
System timer |
|
1 |
Keyboard |
|
2 |
Programmable interrupt controller |
|
3 |
Serial port 2 (COM2) |
|
4 |
Serial port 1 (COM1) |
|
5 |
Available, or parallel port 2 (LPT2) |
|
6 |
Floppy disk controller |
|
7 |
Parallel port 1 (LPTI) |
|
8 |
Real-time clock |
|
9 |
Same as IRQ2 |
|
10 |
Available |
|
11 |
Available |
|
12 |
Available |
|
13 |
Math coprocessor |
|
14 |
Hard disk controller |
|
15 |
Available |
This leaves only four or five IRQs for your sound card, network card, SCSI controller, motherboard mouse port, video adapter, and whatever other devices you've stuffed inside your machine. An IRQ conflict-either two devices trying to use the same IRQ or software that thinks a device is using one IRQ when in fact it's using another-is the cause of many hardware problems. Note that some newer buses, most notably PCI and EISA, let devices share IRQs, but few software programs are set up to support interrupt sharing.
An I/O port is a memory address that the processor uses to communicate with a device directly. After a device has used its IRQ to catch the attention of the processor, the actual exchange of data or commands takes place through the device's I/O port address. An I/O port address is expressed as a hexadecimal (base 16) number.
There are 1,024 I/O ports available-more than enough to satisfy all your device needs. As with IRQs, however, no two devices can share an I/O port, so conflicts can lead to problems. Note also that many devices use multiple I/O port addresses. In this case, the I/O port is expressed as a range of hexadecimal numbers.
A DMA channel is a connection that lets a device transfer data to and from memory without going through the processor. The transfer N coordinated by a DMA controller chip. Modern computers support eight DMA channels, as shown in Table 10.2.
|
Table 10.2. |
|
| DMA Channel | Device |
|
0 |
Available |
|
1 |
Available |
|
2 |
Floppy disk controller |
|
3 |
Available |
|
4 |
DMA controller |
|
5 |
Available |
|
6 |
Available |
|
7 |
Available |
As with the other resources, problems can arise when two devices attempt to use the same DMA channel. This is a rarer problem, however, because few devices use DMA and most of the DMA channels are available.
It's bad enough just trying to make sense of all these acronyms and abbreviations, but installing hardware devices is a lonely business because you're on your own. The situation has improved somewhat, because some device setup programs have improved in recent years, and the resources for many recent devices are software selectable. However, we're still left with lots of troubling questions:
What the PC world needed badly was a way to manage devices easily. In other words, some kind of new approach to device management was needed that would provide two things:
Windows 98 is the boldest and most ambitious attempt yet by the PC community to solve the thorny problem of device management. From day one, Microsoft designed its new operating system to offer greatly improved support for all kinds of peripherals, including CD-ROMs, printers, SCSI controllers, modems, PCMCIA devices, video adapters, and newer technologies such as the universal serial bus (USB) and FireWire (IEEE 1394). To that end, Windows 98 comes loaded with new device management features, including the following:
Universal driver/mini-driver architecture: For each hardware class, Windows 98 has a universal driver that incorporates the code necessary for the devices in that class to work with the appropriate operating system component (such as the printing subsystem). This universal driver is then augmented with smaller, simpler mini-drivers that provide the commands and routines necessary to operate a specific device. (See the "Device Driver Architecture" section later in this chapter for more information.)
Virtual device drivers: These are drivers that Windows 98 uses to replace the real-mode device drivers used by DOS. They're 32_bit protected-mode drivers that reside in extended memory and that let multiple applications use the device simultaneously. Virtual device driver files use the VXD extension, so they're often referred to as VxDs, in which the x depends on the device. For example, the virtual device driver for a printer is a VPD, and the virtual device driver for a display is a VDD.
Windows 98 stores all its hardware data in the Registry, but it provides the Device Manager to give you a graphical view of the devices on your system. To display the Device Manager, use either of the following techniques:
In the System Properties dialog box that appears, select the Device Manager tab, as shown in Figure 10.1. Device Manager's default display is a treelike outline that lists various hardware classes (CD-ROM, Disk drives, and so on).
To see the specific devices, click the plus sign (+) to the left of a device class or highlight the class and press the + key on the keyboard's numeric keypad. For example, opening the Disk drives class displays all the disk drives attached to your computer, as shown in Figure 10.2.
| FIGURE 10.1. The Device Manager shows you a visual representation of all the devices on your system. |
![]() |
| FIGURE 10.2. Opening a hardware class shows you the specific devices within that class that are attached to your computer. |
![]() |
If you like, you can also view the devices according to the component to which they're connected by activating the View devices by connection option button. This is handy, for example, if you want to see the devices attached to your SCSI controller.
One of the major problems associated with device management has always been knowing which of your system's hardware resources were being used, and by which device. This is particularly true of limited resources such as IRQs and DMA channels. One of Device Manager's most powerful features is its capability of showing you a list of your devices according to the hardware resources they use. To try this, highlight the Computer item at the top of the list and then click the Properties button. You see the Computer Properties dialog box, shown in Figure 10.3. Use the option buttons at the top of the dialog box to select the type of resource you want to view. (The Memory option shows you which areas of upper memory are being used by your devices.)
| FIGURE 10.3. Use the Computer Properties dialog box to view your devices by specific resources.
|
![]() |
|
RESERVING RESOURCES |
| If your system has legacy devices and you plan to install a Plug and Play device, there's a chance the Plug and Play device will end up using a resource that belongs to one of the legacy peripherals. To prevent this from happening, Device Manager lets you reserve the resources used by your legacy devices so that they can't be assigned to a different device. In the Computer Properties dialog box, select the Reserve Resources tab. For each resource you want to reserve, use the option buttons to activate the appropriate resource type, click Add, enter the resource value, and click OK. |
Device Manager's hardware listing and the capability of viewing devices by resource are among the highlights of the Windows 98 package. However, Device Manager won't do you a lick of good if you're having some kind of hardware problem that prevents you from starting Windows 98. That might never happen, but just in case it does, you should print a hard copy of the device data. Here's how you do so:
| FIGURE
10.4. You can get a printout of your system' device information. |
![]() |
If your computer has a Plug and Play BIOS and you remove a device, the BIOS informs Windows 98 that the device is no longer present. Windows 98, in turn, updates its device list in the Registry, and the peripheral no longer appears in the Device Manager tab.
If you don't have a Plug and Play BIOS, but the device you're removing is Plug and Play compliant, Configuration Manager figures out that the device is missing and updates Windows 98 accordingly.
If you're removing a legacy device, however, you need to tell Device Manager that the device no longer exists. To do that, highlight the device in the Device Manager tab and click the Remove button. If you've defined multiple hardware profiles (as described later, in the "Setting Up Hardware Profiles" section), Windows 98 will ask whether you want to remove the device from all the profiles or just from a specific profile. Select the appropriate option. When Windows 98 warns you that you're about to remove the device, click OK.
|
DON'T FORGET TO REMOVE THE DEVICE |
| If you remove a device from the Device Manager, you must also remove the physical device from your system. Otherwise, either the BIOS or Windows 98 will just detect the device again, or the device's resources won't be freed for other devices to use. |
Each device listed in the Device Manager has its own properties sheet. You can use these properties sheets not only to learn more about the device (such as the resources it's currently using), but also to make adjustments to the device's resources, change the device driver, alter the device's settings (if it has any), and make other changes.
To display the properties sheet for a device, display the device in the Device Manager tab, and then either double-click the device or highlight the device and click Properties. Figure 10.5 shows the properties sheet for a sound card. The General tab tells you the name of the device and its hardware class, the manufacturer's name, and the hardware version (if known). The Device status group tells you whether the device is working properly. You use the Device usage group to add and remove devices from hardware profiles (see "Setting Up Hardware Profiles" later in this chapter).
| FIGURE 10.5. The properties sheet for a sound card.
|
![]() |
Besides this general information, a device's properties sheet includes a wealth of other useful data. Depending on the device, the properties sheet can also tell you the resources used by the device, the device driver, and miscellaneous settings specific to the device. I cover each of these items in the next few sections.
To view the resources being used by the device (if any), select the Resources tab, shown in Figure 10.6. The two-column list shows you the resource type on the left and the resource setting on the right. If you suspect that the device has a resource conflict, check the Conflicting device list to see whether any devices are listed. If the list displays only No conflicts, the device's resources aren't conflicting with another device.
If, however, you do have a conflict, you need to change the appropriate resource. Some devices have multiple configurations, so one easy way to change resources is to select a different configuration. To try this, use the Setting based on drop_down list to select a different configuration.
| FIGURE 10.6. The resources tab outlines the resources used by a device.
|
![]() |
Otherwise, you need to play around with the resource settings by hand. Here are the steps to follow to change a resource setting:
| FIGURE 10.7. Use this dialog box to change an IRQ. Other resources display similar dialog boxes. |
![]() |
In a device's properties sheet, you can click the Driver tab's Driver File Details button to see the current driver (or drivers) associated with the device.
If you need to change the driver (for example, if you've obtained an updated driver from the manufacturer), you can do it from Device Manager. In the Driver tab, click the Upgrade Driver button to start the Upgrade Device Driver Wizard. Click Next > and the Wizard displays a dialog box with two options:
Search for a better driver than the one your device is using now: Choose this option to have Windows 98 search your disk drives or even the Internet for a more recent driver. If you have a disk from the manufacturer, insert it into the appropriate drive now.
Create a list of all the drivers in a specific location, so you can select the driver you want: Choose this option to select a driver from a list of the devices that Windows 98 can work with.
Click Next > to proceed.
If you asked Windows 98 to search for a better driver, the Wizard displays the dialog box shown in Figure 10.8. Activate the appropriate check boxes and then click Next >. If you activated the Microsoft Windows Update option, Windows 98 connects to the Windows Update site on the Internet. The first time you do this, Windows 98 installs a "download agent" to help you download and install drivers. (Note, too, that you must register your copy of Windows 98 before you can access the online driver updates.) If the Wizard finds a better driver, follow the instructions onscreen to install and configure the driver.
| FIGURE 10.8. Select the locations the Wizard should search for a newer driver. |
![]() |
If you opted to select the driver you want from the Windows 98 list, you see a dialog box similar to the one shown in Figure 10.9.
| FIGURE 10.9. Use this dialog box to pick the new driver for the device. |
![]() |
There are three ways to proceed from here:
| FIGURE 10.10. Activating Show all hardware displays Windows 98's complete list of drivers for this hardware class. |
![]() |
At this point, Windows 98 will likely ask whether you want to restart your computer. Click Yes to reboot and put the new driver into effect.
Some devices have a Settings tab in their properties sheet that lets you set various options specific to the device (see Figure 10.11). For a CD-ROM drive, for example, you can specify the drive letter to use and whether the drive runs the Windows 98 AutoPlay feature. For a SCSI controller, you can add any command-line parameters or switches the driver might need.
| FIGURE 10.1 1. For some devices, you can use the Settings tab to adjust various device parameters. |
![]() |