Hardware Support

You can connect the following USB devices to your computer: monitor controls, audio I/O devices, telephones, modems, speakers, keyboards, mouse devices, joysticks, scanners, printers, low-bandwidth video devices, digital still-image cameras, data gloves, and digitizers. For computer-telephony integration, USB provides an interface for Digital Subscriber Line (DSL), Integrated Services Digital Network (ISDN), and digital Private Branch Exchanges (PBXs).

For USB, the computer host controller is implemented through the Open Host Controller Interface (OHCI) standard or the Universal Host Controller Interface (UHCI) standard. To work with USB, the host controller must comply with one of these standards.

USB Connector and Cable

The USB specification defines a standard connector, socket, and cable, which all USB devices can use. This single standard eliminates the confusion caused by the current mixture of connector and cable types required for hardware devices.

Data Transfer Rates Supported by USB

USB supports two data transfer modes: isochronous and asynchronous . An isochronous transfer requires a constant bandwidth within certain time constraints. A constant bandwidth is required to support the demands of multimedia applications and devices. Unlike asynchronous transfers, no handshaking occurs and delivery is not guaranteed. By contrast, asynchronous transfers employ a handshaking system and allow data streams to be broken at random intervals.

There are three variants of the asynchronous mode: interrupt, control, and bulk. Each mode applies to the endpoints of the same name and has unique characteristics. In the USB architecture, the term endpoint refers to a USB logical device.

Interrupt    Interrupt endpoints reserve bandwidth and are guaranteed access to transfer data at the established rate. This mode is used when a device transfers unsolicited data to a host.

Control    The control mode is used to transfer specific requests. It is generally used during device configuration.

Bulk    A bulk transfer is used to transfer large blocks of data that have no periodic or transfer rate requirement. Printing uses bulk transfers.

The USB host determines the data transfer rate and the priority assigned to a data stream. USB supports the following maximum data transfer rates, depending on the amount of bus bandwidth a device requires:

  • 1.5 megabits per second (Mbps) for devices that do not require a large amount of bandwidth, such as pointing devices and keyboards.

  • 12 Mbps isochronous transfer rate for higher bandwidth devices, such as telephones, modems, speakers, scanners, video devices, and printers.

USB Support for Plug and Play

Windows 2000 Professional supports Plug and Play configuration of USB devices by using the following methods.

Hot Plug-in Capability    You can plug a USB device into the system anytime. The USB hub driver enumerates the device and notifies the system that the device is present.

Persistent Addressing    USB devices use descriptors to identify the device, its capabilities, and the protocols it uses. A descriptor contains a Vendor ID (VID) and Product ID (PID) that tell the computer exactly which drivers to load. An optional serial number differentiates one device from another of the same type. Older devices might have a Plug and Play ID, which can also be used to identify the device type and subtype.

Power Options Support    USB supports three power modes: On, Suspend, and Off.

USB Driver Interface

Windows 2000 Professional supports USB by allowing USB device drivers to communicate with the USB driver stack. The USB Driver Interface (USBDI) is between the drivers for USB devices (such as keyboards, mice and joysticks) and the USB driver stack. In Windows 2000 Professional, communication through the USBDI takes place in the Windows Driver Model (WDM) architecture.

Windows 2000 Professional can recognize a USB device once the client device driver communicates with the USB driver stack. This requires that a WDM I/O request packet (IRP) be issued to pass information across the USBDI between the client device driver and the USB driver stack.

For more information about how device drivers communicate with the USB through the use of I/O Request Packets (IRPs), see Driver Development Kits link on the Web Resources page at https://windows.microsoft.com/windows2000/reskit/webresources