october 10, 20001. 2 testing usb 2.0 devices and drivers scott thompson usb test developer windows...

9
October 10, 2000 1

Upload: winfred-augustine-campbell

Post on 13-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: October 10, 20001. 2 Testing USB 2.0 Devices and Drivers Scott Thompson USB Test Developer Windows Division Microsoft Corp

October 10, 2000 1

Page 2: October 10, 20001. 2 Testing USB 2.0 Devices and Drivers Scott Thompson USB Test Developer Windows Division Microsoft Corp

October 10, 2000 2

Testing USB 2.0 Devices and Drivers

Testing USB 2.0 Devices and Drivers

Scott ThompsonScott Thompson

USB Test DeveloperUSB Test DeveloperWindows DivisionWindows Division

Microsoft Corp.Microsoft Corp.

Page 3: October 10, 20001. 2 Testing USB 2.0 Devices and Drivers Scott Thompson USB Test Developer Windows Division Microsoft Corp

October 10, 2000 3

OutlineOutlineMicrosoft USB 2.0 TestingMicrosoft USB 2.0 Testing

USB 2.0 Test CasesUSB 2.0 Test Cases– How Microsoft is testing the new USB 2.0 driver stackHow Microsoft is testing the new USB 2.0 driver stack– How you can test your driversHow you can test your drivers– Concerns for USB devicesConcerns for USB devices

DemosDemos– Driver VerifierDriver Verifier– USB Verifier USB Verifier – Bulk LoopbackBulk Loopback

Page 4: October 10, 20001. 2 Testing USB 2.0 Devices and Drivers Scott Thompson USB Test Developer Windows Division Microsoft Corp

October 10, 2000 4

Testing New Driver StackTesting New Driver StackMicrosoft USB 2.0 TestingMicrosoft USB 2.0 Testing

New Generic DriverNew Generic Driver– Exposes USBDI to user-mode applicationsExposes USBDI to user-mode applications– Allows commands to be sent to any USB DeviceAllows commands to be sent to any USB Device

Manual TestsManual Tests– Currently testing with NEC Host ControllerCurrently testing with NEC Host Controller– Devices include a scanner, an IDE bridge, and Devices include a scanner, an IDE bridge, and

loopback boardsloopback boards

Page 5: October 10, 20001. 2 Testing USB 2.0 Devices and Drivers Scott Thompson USB Test Developer Windows Division Microsoft Corp

October 10, 2000 5

Testing New Driver StackTesting New Driver StackMicrosoft USB 2.0 TestingMicrosoft USB 2.0 Testing

Automated Test SuitesAutomated Test Suites– Runs overnight testing many parts of the USB stackRuns overnight testing many parts of the USB stack– Ability to compare device tree throughout test runAbility to compare device tree throughout test run– Logging allows for identifying reproducibleLogging allows for identifying reproducible

problem scenariosproblem scenarios– CyclerCycler

Simulates a surprise remove and re-enumeration of deviceSimulates a surprise remove and re-enumeration of device– DisablerDisabler

Disables and removes driversDisables and removes drivers– PMTEPMTE

Tests Power Management featuresTests Power Management features

Page 6: October 10, 20001. 2 Testing USB 2.0 Devices and Drivers Scott Thompson USB Test Developer Windows Division Microsoft Corp

October 10, 2000 6

Testing New Driver StackTesting New Driver StackMicrosoft USB 2.0 TestingMicrosoft USB 2.0 Testing

Code CoverageCode Coverage– Provides information on what parts of the sourceProvides information on what parts of the source

code have been executedcode have been executed PREfixPREfix

– Simulates execution of source codeSimulates execution of source code– Some of the defects detectedSome of the defects detected

Usage of uninitialized variablesUsage of uninitialized variables Divide by ZeroDivide by Zero Freeing NULL PointerFreeing NULL Pointer

Page 7: October 10, 20001. 2 Testing USB 2.0 Devices and Drivers Scott Thompson USB Test Developer Windows Division Microsoft Corp

October 10, 2000 7

Testing 3rd Party DriversTesting 3rd Party DriversMicrosoft USB 2.0 TestingMicrosoft USB 2.0 Testing

Driver VerifierDriver Verifier– Monitors driversMonitors drivers– Some of the checks Driver Verifier looks for:Some of the checks Driver Verifier looks for:

Uses special memory pool to monitor memory accessUses special memory pool to monitor memory access Driver unloadDriver unload

– Included with Windows 2000Included with Windows 2000 USB VerifierUSB Verifier

– Similar to Driver VerifierSimilar to Driver Verifier– Installs as a filter driverInstalls as a filter driver– Looks for specific USB issues in driversLooks for specific USB issues in drivers

Page 8: October 10, 20001. 2 Testing USB 2.0 Devices and Drivers Scott Thompson USB Test Developer Windows Division Microsoft Corp

October 10, 2000 8

Testing USB DevicesTesting USB DevicesMicrosoft USB 2.0 TestingMicrosoft USB 2.0 Testing

Areas of ConcernAreas of Concern– PNPPNP

Hot plugging devicesHot plugging devices– Power ManagementPower Management

Test all sleep states (S1-S4)Test all sleep states (S1-S4)– Interoperability of DevicesInteroperability of Devices

Test with many devicesTest with many devices Test downstream of 5 hubsTest downstream of 5 hubs Test on multiple host controllers (1.1 and 2.0)Test on multiple host controllers (1.1 and 2.0)

Page 9: October 10, 20001. 2 Testing USB 2.0 Devices and Drivers Scott Thompson USB Test Developer Windows Division Microsoft Corp

October 10, 2000 9

DemosDemosMicrosoft USB 2.0 TestingMicrosoft USB 2.0 Testing

Driver VerifierDriver Verifier USB VerifierUSB Verifier

– Available in DDKAvailable in DDK– Runs on Windows 2000, Windows Me,Runs on Windows 2000, Windows Me,

and “Whistler”and “Whistler” Bulk LoopbackBulk Loopback