USB Support on Windows 98

Updated: December 4, 2001
*

Information about USB support for Microsoft Windows Me, Windows 2000, and later versions is provided in the current Windows DDK.

The Windows 98 and Windows Millennium Edition (Windows Me) operating systems contain second-generation Universal Serial Bus (USB) support from Microsoft. A fundamental assumption in the PC industry is that second-generation software is always more stable and has fewer bugs than the first-generation version. This is partly because the availability of first-generation software encourages IHVs to produce a greater number and variety of devices; therefore, as the second-generation software is developed, it can be tested against many more devices.

This is particularly true for USB device support; only a handful of devices were available for testing the USB support first released to OEMs in October 1996 (in the release known as OEM Service Release [OSR] 2.1). In contrast, the USB support in Windows 98/Windows Me has been tested against over 100 production, pre-production, and engineering prototype USB devices. In particular, more interoperability testing has been done, with multiple USB devices attached to the bus at the same time. In addition to stability and fewer bugs--and therefore a better user experience with USB--USB support in Windows 98/Windows Me has significantly more functionality than the first-generation release.

This article summarizes the key stability improvements and new features in Windows 98/Windows Me USB support, as contrasted with OSR 2.1. The information comparing Windows 98 in this article also applies to Windows Me.

Note on developing USB devices for Windows 95. Windows 95 drivers for USB (OSR 2.1) are currently available only on OEM platforms. If you want to develop USB devices for Windows 95, it is possible that your current platform may already have the drivers you want. To find out if it does, go to http://www.usb.org This link leaves the Microsoft.com site and use the USB evaluation utility. If it doesn't, your only option is to purchase an OEM platform. For the reasons outlined in this article, however, Microsoft recommends that all IHVs ship only USB devices that have Windows 98/Windows Me drivers and/or Windows 2000/Windows XP drivers.

Differences Between OSR 2.1 and Windows 98 USB Support

One of the fundamental differences between OSR 2.1 and Windows 98 is the level of Win32 Driver Model (WDM) support in the two releases. This is important for USB support, because all the USB core drivers are WDM drivers, in both OSR 2.1 and Windows 98. WDM support available to OSR 2.1 drivers was immature. In fact, the Readme file for the OSR 2.1 release characterized WDM support as version 0.9. The USB core drivers in Windows 98 have full, mature WDM support that has been tested and improved.

The USB core driver components, which make up the so-called USB driver stack, are the USB driver interface (USBDI), the hub driver, the UHCI host controller driver, and the OHCI host controller driver. Besides the level of WDM support and testing, there are other differences between these USB core drivers for OSR 2.1 and Windows 98; these differences are summarized in Table 1.

Another fundamental difference between OSR 2.1 and Windows 98 is the development of a number of WDM class drivers for Windows 98. The Windows 98 class drivers that are most significant for the performance of USB devices are listed in Table 1.

Table 1. Comparison of USB Support in OSR 2.1 and Windows 98

ComponentOffered in OSR 2.1?Changed in Windows 98?Description of Change

USBDI support for control, interrupt, and isochronous transfer methods

Yes

Yes

Minor changes based on testing code with more devices.

USBDI support for bulk transfer method

Yes

Yes

Significant improvements, including major bug fixes. Types of USB devices that use bulk transfer are scanners, printers, modems, and some video cameras.

WDM hub driver

Yes

Yes

Many improvements, based on the ability to test code with significantly more external hubs.

WDM UHCI driver

Yes

Yes

Minor changes based on testing code on a greater variety of platforms with UCHI host controllers.

WDM OHCI driver

Yes

Yes

Significant improvements, including major bug fixes. OHCI host controllers became available platforms from OEMs such as HP, Compaq, and Hitachi only after OSR 2.1 shipped. Testing the WDM OHCI driver on these platforms enabled full development of the WDM OHCI driver for Windows 98.

WDM Streaming class driver

No

Yes

WDM Streaming offers significant advantages over the one-off, unique, device-specific drivers required for USB digital video cameras in OSR 2.1. USB audio devices also use WDM Streaming in Windows 98.

WDM HID class driver

No

Yes

The HID class driver offers support for any HID-compliant device. The HID class driver is the basis for complete, built-in support for USB keyboards, mice, and game controllers (just plug them in and they work). In OSR 2.1, a one-off, unique, device-specific device must be provided for each input device plugged into a USB connector; this potentially compromises the interoperability of devices.

STI USB interface

No

Yes

The STI interface offers standardization and push technology (imaging application launch and scanning operation initiated by using the device rather than the PC UI) to USB scanners. In OSR 2.1, scanners use one-off, unique, device-specific drivers.

Top of pageTop of page

Windows 95/98, OSR 2/2.1, and the User Experience

Users who purchase new platforms with Windows 98 or Windows Me preinstalled will have excellent built-in USB support, as will users with existing platforms who upgrade to Windows 98 or Windows Me.

From a user's point of view, a USB connector on the platform indicates that it is a USB-capable system. In other words, if a USB connector is on the platform, the user who buys a USB device and plugs it into the USB connector expects it to work. If the device does not work, this is a bad user experience. And some users will have that bad experience for one of the following reasons:

The platform has a USB connector, but the version of Windows running on the platform does not contain USB support. There is no USB support in Windows 95 Gold or the OSR 2 release (which primarily added FAT32 file support to Windows 95).

The platform has a USB connector and the Windows 95 OSR 2.1 release is installed, but the USB IRQ is disabled by the BIOS.

How probable is a truly bad experience for the user who buys a USB device? A case can be made that it is not too probable, based on the release date of OSR 2.1 and the release dates of platforms with USB connectors. However, about 60 million PCs have been sold with USB ports, so even a small percentage with problems will result in many users with bad experiences.

USB vendors can protect their customers by encouraging them to make sure their systems have the best USB support available. A free USB evaluation utility can be downloaded from the Shopping Bag page at http://www.usb.org This link leaves the Microsoft.com site that can be used to determine whether a platform with USB connectors is running a version of Windows that understands USB. USB hardware vendors should encourage their customers (and potential customers) to run this utility to determine whether they only have Windows 95 Gold or OSR 2 installed.

Users who purchase USB devices should not settle for the level of USB support in OSR 2.1--although they may be uninformed about the issues. The purchase of a USB device should trigger the action item in the user's head: "If my PC is not running Windows 98 or Windows Me, I need to upgrade!" Therefore, IHVs who distribute USB devices should encourage their customers to upgrade their platform to Windows 98/Windows Me.

No IHV should ship a USB product with only an OSR 2.1 driver. Every USB device should also include a Windows 98 driver.


Top of pageTop of page