Compliance testing the Linux USB sub-system

Brad Hards

This document is an early draft of compliance test procedures for the USB sub-system under Linux.

Please send any corrections to the author and to


Table of Contents
I. USB Interoperability Guidelines
1. Introduction
2. Overview
USB Unique Features
3. Requirements
System Requirements
Software Requirements
Suggested Devices
4. About Interoperability
So what is device interoperability?
Who should do interoperability?
When should interoperability be done?
5. Undesirable Side Effects
Kernel oopses and panics
System reboots
System hangs
Device not detected
The most important issue
6. Typical end-user scenarios
Hot attach
Application installation (if applicable)
Warm reboot
Cold boot
Asynchronous detach and reattach
USB topology change
Application Removal
7. Device Operability - the basis of interoperability
Drive Images
8. Non-hub device tests
Test Configuration Recording
Compliance tests
Bandwidth degradation (isochronous devices only)
Root hub operation - UHCI
Root hub operation - OHCI
Fifth tier operation - UHCI
Fifth tier operation - OHCI
Multiple identical devices - UHCI
Multiple identical devices - OHCI
9. Non-hub Device Interoperability
Introduction
System configuration with UHCI
Enumeration test with UHCI
Additional Software installation
Specific driver installation with UHCI
System configuration with OHCI
Enumeration test with OHCI
Additional Software installation
Specific driver installation with OHCI
System functionality test
Function under load test
Inactive Detach / Reattach
Active Detach / Reattach
Topology change
Warm boot test
Cold boot test
Test Configuration Recording
10. Hub device tests
Test Configuration Recording
Hub Compliance tests
Root hub operation - UHCI
Root hub operation - OHCI
Fifth tier operation - UHCI
Fifth tier operation - OHCI
Multiple identical hubs - UHCI
Multiple identical devices - OHCI
11. Hub Interoperability
Introduction
System configuration with UHCI - self powered
System configuration with OHCI - self powered
System configuration with UHCI - bus powered
System configuration with OHCI - bus powered
Test Configuration Recording
12. Disk Image Utilities
II. About this Document
13. Contributors
14. Licensing and Copyright
License
15. Corrections