Windows Hardware Certification Kit USB-IF Testing - 1

Windows Hardware Certification Kit USB-IF Testing

February 8, 2012

Abstract

This paper provides information about the Windows Hardware CertificationKit (HCK) USB Implementers Forum (USB-IF) testing requirements for Windows operating systems. It provides guidelines for hardware vendors and device manufacturers to prepare their USB devices and host controllers for Windows HardwareCertificationsubmission.

This information applies to the following operating systems:
Windows 8 Consumer Preview

Windows Server 8 Beta

Windows Server 2008 R2
Windows7

Windows Server 2008
Windows Vista

References and resources discussed here are listed at the end of this paper.

The current version of this paper is maintained on the Web at:
Windows Hardware Certification Kit USB-IF Testing

Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. Some information relates to pre-released product which may be substantially modified before it’s commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here. You bear the risk of using it.

This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes.

© 2012 Microsoft Corporation. All rights reserved.

Document History

Date / Change
August 25, 2010 / First publication
February 8, 2012 / Updated to reflect IF certification requirement for hubs and controllers and to reflect Windows Hardware Certification Program wording

Contents

Introduction

Background

UsbController.UsbifCertification and UsbDevices.UsbifCertification Requirements Overview

Windows Hardware Certification Submission Options

USB-IF Certification

USB-IF Self-Testing

Acquiring USB-IF Certification

USB-IF Certification Cost

USB-IF Certification Steps

Feedback

Resources

Introduction

The previous version of the HCK USBIF testing requirementsstated that a USB device or host controller must first be certified by the USB-IF to qualify for Windows Certification.USB is not the only device connectivity technology that must meet the electrical and mechanical requirements of an independent standards organizationto receive Windows Certification. For example, for a Bluetooth deviceto receive Windows Certification, the device manufacturer must first qualify their product with the Bluetooth Special Interest Group.

When the USBIF testing requirementswere originally introduced, our USB device vendor partners raised concerns about the cost, timing, and fringe device cases with the USBIF certification process. To address those concerns, we reworked the HCKUSBIF requirementsso that USB device vendors are not required to submittheir devices to the USB-IF for testing. However, we still recommend USBIF certification, as it covers more in-depth testing of USB devices and host controllers and ensures a high-quality USB implementation.

The new version of the HCK USB-IF testing requirements allows partners to download and run tests from the USBIF website, the results of which will be consumed by the HCK. If yourdevice has been certified by the USB-IF,you simply need to provide the USBIF Test ID (TID) for the device to the HCK. This enables partners who get their devices USBIF certified to avoid any test duplication.Partners who do not get their devices USB-IF certifiedsimply need to run a few of the USB-IF tests on their own and then provide the logs from those tests to the HCK.

Background

Over the past decade a number of Special Interest Groups (SIGs) were formed to help address interoperability issues between devices and computers and between each other. One of those groups is the USB-IF,which maintains the USB specifications and also providestest specifications and tools. Today, the HCK and the USB-IF compliance program have several overlapping tests to ensure coverage of both the Windows Certification tests and the USB-IF’s tests, as shown in Figure1.

Figure 1. USB-IF and Windows Certification tests

USB devices that do not comply with the USB specification can negativelyaffect the PC ecosystem. Even if USB devices pass today’s Microsoft Windows Certification Program requirements, many of those devices do not fully comply with the USB specification. Over the years, Microsoft product teams and USB engineering groups analyzed these problems. Based on our experience withproduct and quality assurance testing in our USB labs, we identified the following trends in USB specification non-compliance:

Hubs

A common failure of a USB hub is that it reports having external power when it actually has only bus power, leading to an invalid voltage condition on the bus.

Hard disk drives

A common failure of a USB hard disk drive is that it does not enumerate correctly because of excessive power draw from the USB bus. In many situations, these hard disk drives require non-standard cables to work correctly.

Flash drives

A common failure of a USB flash drive is that it does not handle the descriptor requests correctly, which can cause the device to fail the Microsoft OS descriptor and hang.

Card readers

A common failure of a USB card reader is that it does not enter into the Selective Suspend state.

Printers

A common failure of a USB printer is that it does not resume from standby.

Audio

A common failure of a USB audio device is that it does not resume from standby.

Shipping non-compliant USB devices can negativelyaffect many parts of the PC ecosystem. A non-compliant USB device can cause a poor user experience, difficult public relations, product returns and loss of revenue, high product support call volume, and increased costs associated with servicing bugs in shipped products.

Microsoft has spent a great amount of time and effort over the past few years to develop, test, and providemany solutions in Windows to address and prevent issues that are caused by non-compliant USB devices. Microsoft has identified the following characteristics of devices that have both USB-IF certification and Windows Certification:

  • They offer a much more reliable Windows user experience.
  • They are much less likely to incur support costs.
  • They are more interoperable with other devices and computers in the Windows ecosystem.
  • They are easier to identify as devices that have been tested for compatibility with Windows.

When a USB device does not comply with the USB specification and does not adhere to its architecture, the Windows user experience can be poor and often the device does not function as expected.

UsbController.UsbifCertification andUsbDevices.UsbifCertification Requirements Overview

We understand that requiring USB-IF certification might not meet the specific business needs and market solutionsfor all USB devices. While we strongly suggest USB-IF certification, HCK requirement Device.Connectivity.UsbDevices.UsbifCertification no longer requires USB-IF certification for USB devices. The requirement states that the device can be either USB-IF certified or a subset of the USB-IF’s certification tests can be run on the device during HCKtesting. For more information about how to run the required USB-IF tests, see USB-IF Self-Testing later in this paper. Host controllers (Device.BusController.UsbController.UsbifCertification) and hubs (Device.Connectivity.UsbDevices.UsbifCertification) are still required to obtain full USB-IF certification in order to meet their respectiveHCK requirements.

These requirements apply to both USB device manufacturers and USB host controller manufacturers. System manufacturers should be aware of these requirements when selecting USB host controllers to integrate into their systems.

We believe that these requirementsare a significant step forward to improving the customer experience with USB devices, helping to prevent key reasons for crashes and hangs, and reducing the amount of time spent by Microsoft and our partners debugging non-compliance issues.

Windows Hardware Certification Submission Options

To submit your USB devices for Windows Certification qualification to meet the new USB-IF testing requirement, follow one of the scenarios that are summarized in Table 1.

Table 1. Windows Certification submission options

Submission option / Submission sequence
USB-IF certification / First obtain USB-IF certification from a USBIF authorized testing lab.Then submit the device for Windows Certificationqualification.
USB-IF self-testing / First download the USB Command Verifier test toolsand the USB interoperability test documents and run the required tests. Then submit the device for Windows Certificationqualification.

Note: USB host controllers and hubs are not eligible for the USB-IF Self-testing option and must obtain full USB-IF certification.

The following sections describe each of these Windows Certification Program submission options in more detail.

USB-IF Certification

The following steps describe how to obtain USB-IF certification for your device or host controllers to qualify for Windows Certification.

  • Submit your device to one of the many USB-IF authorized independent test labs for testing. For more information about the location of these labs, see the Independent Test Labs page on the USB-IF website.

Alternatively, you can bring your device to one of the USB-IF sponsored compliance workshops. Each year, four workshops are held in the USA, and one is held in Asia. For more information about these workshops, see the USB-IF Compliance Program page of the USB-IF website.

  • If your device passes the USB-IF certification tests, you will receive a Test ID number from the testing lab. You provide thisTest ID number to the HCK when you run the rest of the HCK tests for your device.

USB-IF Self-Testing

There are two main test areas to focus on if you select the USB-IF self-testing option to meet the USB-IF testing requirements to qualify for Windows Certification:

USB Command Verifier Tests

These tests verify the ability of your device to understand and accept common USB commands.

USB Interoperability Tests

These tests target the functionality and the ability of your device to coexist with other USB peripherals.

Both of these tests are downloaded and run outside of the HCK. After these tests are run, the HCK consumes the log files that are generated by the tests. Note that these tests only need to be run on the latest version of Windows (as specified by the USBIF), even if you are submitting your USB device for Windows Certification qualification for multiple versions of Windows. The results of these tests are applicable for all Windows Certificationsubmissions for all versions of Windows.

The following steps describe how to perform the required USB-IF tests yourself to qualify your device for Windows Certification.

  • Download the USB 3.0 Command Verifier test tool (USB30CV), and the interoperability test documents from the USB-IF website.
  • Run the USB-IF tests for your USB hardware as specified in the following tables.

Table 2. USB-IF tests for USB devices

USB version / USB-IF tests
USB 2.0 /
  • Run the Chapter 9 Tests[USB 2.0 devices] in the USB 3.0 Command Verifier test tool (USB30CV) with the device attached behind an xHCI host controller.
  • Run the interoperability tests as described in section D of the “Universal Serial BusImplementers ForumFull and Low Speed Electrical andInteroperabilityCompliance Test Procedure” document. Run these tests twice—once with the device attached behind an EHCI host controller and once with the device attached behind an xHCI host controller.

USB 3.0 /
  • Run the Chapter 9 Tests [USB 3.0 devices] in the USB 3.0 Command Verifier test tool (USB30CV) with the device attached behind an xHCI host controller.
  • Run the interoperability tests as described in the “XHCI Interoperability Testing” document. Run these tests twice—once with the device attached behind an EHCI host controller and once with the device attached behind an xHCI host controller.

Acquiring USB-IF Certification

This section provides details forobtaining USB-IF certification and ensuring compliance for your USB device. You can certify your USB devicein the following two ways:

  • Submit your device to one of the many USB-IF authorized independent test labs. Thesetest labs offer testing services for a wide range of USB products.For more information about the location of these labs, see the Independent Test Labs Web page.
  • Bring your deviceto one of the USB-IF sponsored compliance workshops. Each year four workshops are held in the USA, and one workshopis held in Asia. For more information about these workshops, see the USB-IF website.

The following two prerequisites are required for submitting a USB deviceto one of the authorized independent test labs for USB-IF certification:

  • The device manufacturer must register with the lab.
  • The device manufacturer must have a valid vendor ID (VID).

After your device hassuccessfully passed the USB-IF certification tests,you areentitledto the take the following actions:

  • You can use the USB logo for brochures, packaging, and product information for your device.
  • You can be listed on the USB-IF Integrators List.

Typically, a single USB device that is submitted to an authorized independent test lab can take one to two weeks to be tested for compliance with the USB specification.

USB-IF Certification Cost

The cost of testing and certifying a USB device at an authorized independent test lab can vary from lab to lab. Some authorized independent test labs offer volume discounts or discounts for some affiliated businesses.The cost of testing and certifying a USB device at any of the USB-IF-sponsored compliance workshops is free.You must be a member of the USB-IF to attend a USB-IF sponsored compliance workshop.

USB-IF Certification Steps

Figure2 shows a flowchart of the steps to obtain USB-IF certification for a USB device.

Figure 2. USB-IF certification steps

Feedback

If you have additional questions or feedback regarding these new requirements, contact us at .

Resources

USB Implementers Forum (USB-IF)

USB-IF Compliance Program

Independent Test Labs

USB Command Verifier test tool (USB20CV)

USB 3.0 Command Verifier test tool (USB30CV)

Universal Serial Bus Revision 3.0 USB Command Verifier Compliance Test Specification

Universal Serial Bus Implementers Forum Full and Low Speed Electrical and Interoperability Compliance Test Procedure

XHCI Interoperability Testing

This document is not yet available. When it is released, it will be published on the USB-IF website.

USB-IF Embedded Host Compliance Plan

February 8, 2012
© 2012 Microsoft Corporation. All rights reserved.