Windows 95/98

Windows Support Menu




Universal Serial Bus (USB) as defined by Microsoft: "a bi-directional isochronous, dynamically attachable serial interface for adding peripheral devices such as game controllers, serial and parallel ports, and input devices on a single bus."

USB is a controller that will provide plug and play support for external peripherals. It is capable of automatically configuring a device as soon as it is physically connected to the port without requiring a reboot or the running of setup software. This will allow users to connect a new peripheral to their systems as easily as plugging a toaster to a wall outlet.

USB support also elevates a computerís inability to support additional peripherals due to lack of available interrupts. It has the ability to support up to 127 devices daisy-chained simultaneously without requiring an additional interrupt other then the one assigned to controller.

How USB Works

USB derives its intelligence from the Pentium ® processor or Pentium Pro processor equipped host PC, which enables the bus to sense when peripheral devices are attached or detached.

When a peripheral is added, the USB controller automatically determines the needed driver software and bus bandwidth resources and makes them available instantly without user intervention. Because USB employs a "one-size-fits-all" industry-standard connector and socket interface, user no longer need to worry about matching cable and expansion ports. For manufacturers, the hardware standard saves system real estate, while helping reduce the desktop footprint of the PC.

USB and WIN98

USB and Device Manager

During installation or boot, USB devices go through the following detection scheme.

  • The PCI bus will enumerate the USB Host controller.
  • The Host controller driver is loaded and will enumerate any devices (including hubs) connected to it.
  • Drivers will load for those devices that have been identified.
  • If a hub driver is loaded, it will force the hub to enumerate any devices attached to it.
  • Drivers for each subsequent device detected will loaded.

The best way to see how the USB devices are connected is to choose the "View Devices by connection" from within the Device Manager. The Host Controller will be shown as a branch under the PCI bus. Expanding out the branches will show the devices that are attached to the host controller as well as any hubs that are connected. Hubs that have devices can be expanded out as well to identify what devices are attached.

USB Drivers

Microsoft set four basic requirements for USB drivers in Win98

  • Platform independent
  • Plug and Play Aware
  • Power Management Enabled
  • Legacy Application Compatible

Platform Independent

The Win98 implementation of the USB spec uses the Win32 Driver Model. This means that the drivers must work in both Win98 and NT.

Plug and Play

Through system level drivers, enumeration occurs and devices connected to the host or a hub device are then available to the system. By using hardware and OS-level Plug and Play support, devices can be connected and disconnected without the need to turn off or restart the computer (commonly called Hot Docking). Moreover, the Host Controller automatically determines what resources, including driver software and bus bandwidth, each peripheral needs, and makes those resources available without user intervention.

Power Management

USB drivers must support the Win32 Driver Model power management structure. This allows a single device on a hub to be placed in a low power or suspend mode without effecting other devices connected to the same hub.

Application Compatible

Legacy application should be able use USB devices where appropriate. For example, MS-DOS based games should be able to use a USB joystick from a VM even if they have no direct support for the USB version of the device.