USB Isochronous Alternate Interface Presence
Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.
Type: Automated Test
This test verifies that when any device has an interface that consumes isochronous bandwidth, that device supports multiple alternate settings for that interface. In addition, the alternate setting zero does not consume isochronous bandwidth. The requirement for alternate setting zero can be provided by an interface that has no endpoints, an interface with isochronous endpoints that do not carry a payload, or an alternate interface that has non-isochronous endpoints. The test software looks for these capabilities by recursively examining the configurations, interfaces, and endpoints that a device supports.
Overview of Test Steps
The USB peripheral device must be attached to a port on the root hub. The test software places the ports on the root hub in the powered on state. The test software then places the port in the enabled state and communication with the target device is initiated. A get descriptor request is issued to the target device. The number of configurations supported by the device is returned in the field bNumConfigurations. The number of configurations is stored by the test software to be used to drive an iterative examination of all configurations. For each device configuration, a get configuration request is issued to the target device. The number of interfaces supported by the configuration is returned in the field bNumInterfaces. The descriptor for the interfaces and endpoints for those interfaces are returned in the body of the configuration descriptor.
The interface descriptors for a configuration are parsed using the bInterfaceNumber and bAlternateSetting fields as keys. Groups of alternative interfaces share the same bInterfaceNumber field with incrementing bAlternateSetting fields. For each interface with the bAlternateSetting field equal to zero and the bNumEndpoints field greater than zero, the endpoint descriptors are parsed. The bmAttributes of the endpoint descriptor are examined to determine whether the endpoint is using an isochronous transfer type. If the transfer type is isochronous, the wMaxPacketSize is examined. If the wMaxPacketSize is greater than zero, the device is consuming isochronous bandwidth inappropriately and it does not meet the Windows Logo Program requirement (B184.108.40.206.2). The interface is appropriately flagged as out of compliance. If the transfer type is isochronous with a wMaxPacketSize equal to zero or is not isochronous, the interface is in compliance.
If an isochronous interface has a descriptor with bAlternateSetting of one or greater, the interface provides multiple alternate settings and is in compliance with the Windows Logo Program requirements.
If the connected device does not support isochronous transfer type, the test is skipped and reports the results as pass.
Individual pass/fail indication is provided for each test category of USB peripheral device support for the power management requirements.
The following conditions cause test failures:
Alternate interface zero consumes isochronous bandwidth.
An interface supported by the device consumes isochronous bandwidth and does not provide more than one alternate setting.
- Run Time: 5 minutes
- Log File:
- System Restart Required: No
- Test Category:
- Supported operating systems for Logo or Signature testing:
Windows Server 2008 R2
Windows Server 2008
Windows Server 2003
The test tool requires the following software:
- Supported operating system (see list above).
- Software components included with the device that is being tested.
- Hardware Requirements
- Device to be tested
- The system must be configured with a USB host controller that is compliant with Universal Serial Bus Specification 1.1 and Windows Logo Program requirements.
9.1.11 Devices and drivers support maximum flexibility of hardware interface options.
Reference documents: WLP# - B220.127.116.11; PC 99 System Design Guide - 7.5
9.1.12 Devices and drivers must provide multiple alternate settings for interfaces with endpoints that consume isochronous bandwidth.
Reference documents: WLP# - B18.104.22.168, PC 99 System Design Guide - 7.5.1
9.1.13 Devices and drivers must not use isochronous bandwidth in alternate setting zero of interfaces that use isochronous bandwidth.
Reference documents: WLP# - B22.214.171.124, PC 99 System Design Guide - 7.5.2
Build date: 9/14/2012