October 10, 20001
2 Testing USB 2.0 Devices and Drivers Scott Thompson USB Test Developer Windows Division Microsoft Corp.
October 10, Outline Microsoft USB 2.0 Testing w USB 2.0 Test Cases – How Microsoft is testing the new USB 2.0 driver stack – How you can test your drivers – Concerns for USB devices w Demos – Driver Verifier – USB Verifier – Bulk Loopback
October 10, Testing New Driver Stack Microsoft USB 2.0 Testing w New Generic Driver – Exposes USBDI to user-mode applications – Allows commands to be sent to any USB Device w Manual Tests – Currently testing with NEC Host Controller – Devices include a scanner, an IDE bridge, and loopback boards
October 10, Testing New Driver Stack Microsoft USB 2.0 Testing w Automated Test Suites – Runs overnight testing many parts of the USB stack – Ability to compare device tree throughout test run – Logging allows for identifying reproducible problem scenarios – Cycler u Simulates a surprise remove and re-enumeration of device – Disabler u Disables and removes drivers – PMTE u Tests Power Management features
October 10, Testing New Driver Stack Microsoft USB 2.0 Testing w Code Coverage – Provides information on what parts of the source code have been executed w PREfix – Simulates execution of source code – Some of the defects detected u Usage of uninitialized variables u Divide by Zero u Freeing NULL Pointer
October 10, Testing 3 rd Party Drivers Microsoft USB 2.0 Testing w Driver Verifier – Monitors drivers – Some of the checks Driver Verifier looks for: u Uses special memory pool to monitor memory access u Driver unload – Included with Windows 2000 w USB Verifier – Similar to Driver Verifier – Installs as a filter driver – Looks for specific USB issues in drivers
October 10, Testing USB Devices Microsoft USB 2.0 Testing w Areas of Concern – PNP u Hot plugging devices – Power Management u Test all sleep states (S1-S4) – Interoperability of Devices u Test with many devices u Test downstream of 5 hubs u Test on multiple host controllers (1.1 and 2.0)
October 10, Demos Microsoft USB 2.0 Testing w Driver Verifier w USB Verifier – Available in DDK – Runs on Windows 2000, Windows Me, and “Whistler” w Bulk Loopback