Share via


Test Cases for the USB Host-Controller Driver Test

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/27/2008

This document describes the test cases included in the USB Host-Controller Driver test. It also describes dynamic changing of packet sizes on NetChip2280 devices and provides some ideas for manual tests. For more testing ideas beyond the test cases presented here, see Additional Testing with the USB Host-Controller Driver Test.

Standard tests

The following table shows the test case descriptions for the test cases in the USB Host Controller Driver test.

Test cases Description

1001-1315, 1501-1515

  • Data loopback tests.
  • There are a total of 50 tests of this kind. Test case IDs are of the form 1dst, where 1d refers to the method of data transfer, s refers to whether the transfer method is synchronous or asynchronous, and t refers to the type of transfer. These are additionally described in this topic.

There are five categories of tests for how the data is being transferred, denoted by the first two digits of the test ID, as follows:

  • Normal loopback tests (test ID starts with 10)
  • Loopback tests that use physical memory (test ID starts with 11)
  • Loopback tests that use a part of allocated physical memory (test ID starts with 12)
  • Normal short transfer loopback tests (test ID starts with 13)
  • Stress short transfer loopback tests (test ID starts with 15)

Both synchronous and asynchronous transfer methods are used. Tests that use a synchronous transfer method have a 0 for the third digit (xx0x), while tests that use an asynchronous transfer method have a 1 for the third digit (xx1x).

There are five categories of transfer-type tests, denoted by the final digit of the test ID, as follows:

  • Bulk pipe loopback tests (test ID ends with 1)
  • Interrupt pipe loopback tests (test ID ends with 2)
  • Isochronous pipe loopback tests (test ID ends with 3)
  • All pipes transfer concurrently (test ID ends with 4)
  • All three types of transfer occur concurrently (test ID ends with 5)
Aa935189.note(en-US,WinEmbedded.60).gifNote:
This final category is designed for testing some other USB function devices with more endpoints than the host-controller driver can handle. Testers that use Netchip 2280 can ignore this category.

1401-1413

  • Additional data loopback tests.
  • These mainly focus on certain API functions like GetTransferStatus, AbortTransfer, and CloseTransfer.

2001-2013

  • Tests for device requests.

9001-9004

  • Specific API tests.
  • These test certain API functions like SuspendDevice, ResumeDevice, and DisableDevice.

9005

  • Stress test for testing EP0 transfer.

Aa935189.collapse(en-US,WinEmbedded.60).gifDynamic Packet Size Changing

By default, the data loopback device configures the endpoints with some often used, DWORD-aligned packet sizes. Having all the previously listed tests passes under this configuration is sufficient for build verification. Testers can also change the packet sizes for each endpoint, if they want; the values are hard-coded in the source code for net2280lppbk.dll.

Packet size is configurable by the jobs in the 3000 test case series. These jobs are not tests in themselves, but are executed to configure the device for a particular packet size before the related test is run. If you run one of the test cases in the 3000 series, the packet size set by the job in the given test case remains in effect until another test in the series is run, or the device is restarted.

Test case Description

3001

Uses very small packet sizes in full-speed configuration.

3002

Uses very small packet sizes in high-speed configuration.

3003

Uses irregular packet sizes (for example, a non-DWORD-aligned size) in full-speed configuration.

3004

Uses irregular packet sizes (for example, a non-DWORD-aligned size) in high-speed configuration.

3005

High-speed only; uses very large packet sizes (for example, 2*1024 for isochronous endpoints) in full-speed configuration.

Aa935189.note(en-US,WinEmbedded.60).gifNote:
In real-world applications, NetChip2280 cannot handle such large packet sizes because its on-board FIFO buffer is too small.

Note

Some jobs are only valid for a device configured for full-speed mode, while other test cases apply only to a device configured for high-speed.

By running one of these test cases and then waiting for 15 to 20 seconds, you can see (through the Debug Output Window in Platform Builder) that usbtest.dll is being unloaded and then reloaded. This indicates that the packet sizes on the device side have been changed. You can then run the PC Card Driver Stack tests as you want. To restore default packet sizes, run test case 3011 (for full-speed configuration) or 3012 (for high-speed configuration).

See Also

Concepts

USB Host-Controller Driver Test