Windows Logo Kit USB-IF Testing - 10

Total Page:16

File Type:pdf, Size:1020Kb

Windows Logo Kit USB-IF Testing - 10

Windows Logo Kit USB-IF Testing

September 8, 2010

Abstract This paper provides information about the Windows® Logo Kit (WLK) 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 Logo Program submission. This information applies to the following operating systems: Windows Server® 2008 R2 Windows 7 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: http://www.microsoft.com/whdc/connect/usb/wlk-usb-if-testing.mspx

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. 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.

© 2010 Microsoft Corporation. All rights reserved. Windows Logo Kit USB-IF Testing - 2

Document History Date Change August 25, 2010 First publication

Contents

September 8, 2010 © 2010 Microsoft Corporation. All rights reserved. Windows Logo Kit USB-IF Testing - 3

Introduction The previous version of the WLK USBIF testing requirements stated that a USB device or host controller must first be certified by the USB-IF to qualify for a Windows logo. USB is not the only device connectivity technology that must meet the electrical and mechanical requirements of an independent standards organization to receive a Windows logo. For example, for a Bluetooth device to receive a Windows logo, the device manufacturer must first qualify their product with the Bluetooth Special Interest Group. When the USBIF testing requirements were 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 WLK USBIF requirements so that USB device vendors are not required to submit their 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 WLK USB-IF testing requirements allows partners to download and run tests from the USBIF website, the results of which will be consumed by the WLK. If your device has been certified by the USB-IF, you simply need to provide the USBIF Test ID (TID) for the device to the WLK. This enables partners who get their devices USBIF certified to avoid any test duplication. Partners who do not get their devices USB-IF certified simply need to run a few of the USB-IF tests on their own and then provide the logs from those tests to the WLK.

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 provides test specifications and tools. Today, the WLK and the USB-IF compliance program have several overlapping tests to ensure coverage of both the Windows logo tests and the USB-IF’s tests, as shown in Figure 1.

Figure 1. USB-IF and Windows logo tests

September 8, 2010 © 2010 Microsoft Corporation. All rights reserved. Windows Logo Kit USB-IF Testing - 4

USB devices that do not comply with the USB specification can negatively affect the PC ecosystem. Even if USB devices pass today’s Microsoft Windows Logo 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 with product 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 negatively affect 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 provide many 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 logo qualification: 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.

September 8, 2010 © 2010 Microsoft Corporation. All rights reserved. Windows Logo Kit USB-IF Testing - 5

CONNECT-0093 and BUSPORT-0034 Requirements Overview We understand that requiring USB-IF certification might not meet the specific business needs and market solutions for all USB devices. While we strongly suggest USB-IF certification, WLK requirements CONNECT0093 and BUSPORT0034 no longer require USB-IF certification. Instead, these requirements state 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 WLK testing. For more information about how to run the required USB- IF tests, see ”USB-IF Self-Testing” later in this paper. 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. The CONNECT0093 requirement also applies to the unclassified Windows Logo Program for devices. We believe that these requirements are 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 Logo Program Submission Options To submit your USB devices for Windows logo qualification to meet the new USB-IF testing requirement, follow one of the scenarios that are summarized in Table 1.

Table 1. Windows Logo Program 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 logo qualification. USB-IF self-testing First download the USB Command Verifier test tools and the USB interoperability test documents and run the required tests. Then submit the device for Windows logo qualification. The following sections describe each of these Windows Logo Program submission options in more detail.

USB-IF Certification The following steps describe how to obtain USB-IF certification for your device to qualify for a Windows logo. 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.

September 8, 2010 © 2010 Microsoft Corporation. All rights reserved. Windows Logo Kit USB-IF Testing - 6

If your device passes the USB-IF certification tests, you will receive a Test ID number from the testing lab. You provide this Test ID number to the WLK when you run the rest of the WLK 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 a Windows logo: 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 WLK. After these tests are run, the WLK 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 logo qualification for multiple versions of Windows. The results of these tests are applicable for all Windows logo submissions for all versions of Windows. The following steps describe how to perform the required USB-IF tests yourself to qualify your device for a Windows logo. Download the USB Command Verifier test tool (USB20CV), 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 in the USB Command Verifier test tool (USB20CV) with the device attached behind an EHCI host controller. 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 Bus Implementers Forum Full and Low Speed Electrical and Interoperability Compliance 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 Chapter 9 Tests in the USB Command Verifier test tool (USB20CV) with the device attached behind an EHCI 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.

September 8, 2010 © 2010 Microsoft Corporation. All rights reserved. Windows Logo Kit USB-IF Testing - 7

Table 3. USB-IF tests for USB hubs USB version USB-IF tests USB 2.0 Run the Chapter 9 Tests and the Chapter 11 Tests in the USB Command Verifier test tool (USB20CV) with the hub attached behind an EHCI host controller. Run the Chapter 9 Tests [USB 2.0 devices] and the Chapter 11 Tests [USB 2.0 devices] in the USB 3.0 Command Verifier test tool (USB30CV) with the hub attached behind an xHCI host controller. Run the interoperability tests as described in section D of the “Universal Serial Bus Implementers Forum Full and Low Speed Electrical and Interoperability Compliance 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] and the Chapter 11 Tests [USB 3.0 devices] in the USB 3.0 Command Verifier test tool (USB30CV) with the hub attached behind an xHCI host controller. Run the Chapter 9 Tests in the USB Command Verifier test tool (USB20CV) with the hub attached behind an EHCI 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.

Table 4. USB-IF tests for USB host controllers USB version USB-IF tests All Run the interoperability tests as described in section C.2 of the “USB-IF Embedded Host Compliance Plan” document. Note: The interoperability tests are not currently automated. However, they will be automated in the future. When this occurs, the WLK will be updated so that it can consume the logs from the interoperability tests. A tool will be provided in the WLK to consume the USB-IF test results. Run this tool to integrate the results of the USB-IF tests with the results of your WLK tests.

Acquiring USB-IF Certification This section provides details for obtaining USB-IF certification and ensuring compliance for your USB device. You can certify your USB device in the following two ways: Submit your device to one of the many USB-IF authorized independent test labs. These test 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 device to one of the USB-IF sponsored compliance workshops. Each year four workshops are held in the USA, and one workshop is held in Asia. For more information about these workshops, see the USB-IF website. The following two prerequisites are required for submitting a USB device to 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).

September 8, 2010 © 2010 Microsoft Corporation. All rights reserved. Windows Logo Kit USB-IF Testing - 8

After your device has successfully passed the USB-IF certification tests, you are entitled to 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.

September 8, 2010 © 2010 Microsoft Corporation. All rights reserved. Windows Logo Kit USB-IF Testing - 9

USB-IF Certification Steps Figure 2 shows a flowchart of the steps to obtain USB-IF certification for a USB device.

Read USB-IF Read USB-IF Join USB-IF test white Run your own FAQ (optional ) papers tests

USB-IF compliance Select Qualification by workshop submission similarity method USB-IF authorized test lab Read USB-IF Select Register Qualification authorized for workshop by Similarity test lab information

Sign test Run USB-IF agreement Submit request tests at with to USB-IF workshop test lab

Send device to Passed tests? Approved? test lab

Yes Yes

Get paperwork Passed tests? and test ID

Yes

Get paperwork and test ID

Review USB-IF adds USB-IF product to Logo usage Integrators List guidelines

Figure 2. USB-IF certification steps

September 8, 2010 © 2010 Microsoft Corporation. All rights reserved. Windows Logo Kit USB-IF Testing - 10

Feedback If you have additional questions or feedback regarding these new requirements, contact us at [email protected].

Resources USB Implementers Forum (USB-IF) http://www.usb.org USB-IF Compliance Program http://www.usb.org/developers/compliance/ Independent Test Labs http://www.usb.org/developers/compliance/labs/ USB Command Verifier test tool (USB20CV) http://www.usb.org/developers/tools/ USB 3.0 Command Verifier test tool (USB30CV) http://www.usb.org/developers/ssusb/ssusbtools Universal Serial Bus Revision 3.0 USB Command Verifier Compliance Test Specification http://www.usb.org/developers/ssusb/ssusbtools/USB30CVSpec_1_0.pdf Universal Serial Bus Implementers Forum Full and Low Speed Electrical and Interoperability Compliance Test Procedure http://www.usb.org/developers/docs/USB-IFTestProc1_3.pdf 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 http://www.usb.org/developers/docs/EH_Compliance_v1_0.pdf

September 8, 2010 © 2010 Microsoft Corporation. All rights reserved.

Recommended publications