Considerations when you select OHCI USB driver on Windows CE 4.0 (320925)



The information in this article applies to:

  • Microsoft Windows CE Platform Builder 4.0
  • Microsoft Windows CE .NET Operating System

This article was previously published under Q320925

SUMMARY

Windows CE 4.0 includes two separate Open Host Controller Interface (OHCI) versions for Universal Serial Bus (USB) host controllers:
  • The Open Host Controller Driver (OHCD) component, which is included in Platform Builder versions 2.11, 2.12, and 3.0. The OHCD component is located in the following directory:

    Public\Common\Oak\Drivers\Usb\Hcd\OHCD

  • The new OHCI driver, which is included in Platform Builder 4.0. The OHCI driver is located in the following directory:

    Public\Common\Oak\Drivers\Usb\Hcd\OHCD2

This article describes why Windows CE 4.0 includes a choice between OHCI versions and how to decide which version to use for a particular application.

MORE INFORMATION

Disadvantages of the Old Driver

The old driver has experienced some long-standing functional issues, including:
  • Cannot issue bulk or control transfers that are larger than 4 kilobytes (KB).
  • Does not work well on architectures with 1 KB Memory Management Unit (MMU) pages.
Additionally, the old driver has some major structural issues, including:
  • Non-obvious control flow.
  • Resource leaks in some suspend/resume cases and hot-plug scenarios.
The old driver also has some other minor code problems. Bugs in the old driver will not be fixed except by upgrading to the new driver.

Advantages of the Old Driver

Because the old driver was used for more than three product releases, the old driver was subjected to more extensive testing than the new OHCD2 driver.

Disadvantages of New Driver

There are some known problems with the new driver. For example, the new driver does not enumerate certain USB Bluetooth dongles.

Advantages of the New Driver

Problems that occur with the new driver will be fixed in the new driver. Additionally, the new driver shares a lot of code with the Universal Host Controller Interface (UHCI) driver, which makes them easier to maintain.

Microsoft recommends that all OEMs use the new driver whenever possible unless there is a very compelling reason not to do so.

REFERENCES

For more information, see the "USB Specification v1.1" and "OHCI specification v1.0a" documents on the following USB Implementers Forum Web site: Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.

Modification Type:MinorLast Reviewed:1/6/2005
Keywords:kbinfo KB320925