USB 2.0 Embedded Host Interoperability Manual Testing
The USB-IF defines the manual interoperability test in chapter 7 of the compliance plan. In order to proper test the details of the product is required and therefore the vendor should complete the Checklist and TPL.
For linux OS's udev can be used to control the behavoir of the connected USB devices or Hubs.
The most common failures for an embedded host are:
- Lack of "error" messages.
- No error message when connecting a not supported device.
- No specific hub error message when hubs are not supported.
- An embedded host with multiple ports must be able to handle device concurrently and independently or a selection method should be available for the end-user to select a device. Note that an embedded host is allowed to limited the number of concurrent peripherals, if so make sure an appropriated message is generated when exceeding this number of devices.
- Incorrect behavoir with USB Hubs. It's advisable to not support hubs when this is not necessary.
- Embedded host is unable to handle multiple devices.
- TPL devices still function behind hub even when claiming not to support hubs. This is not allowed.
- Embedded host not block and generate an error message when connecting a high power device behind a bus powered hub. It's not allowed to let high power devices operate behind a bus powered hub (must stay in unconfigured state).
- Compared to a PC host that must support 6 tier of hubs an embedded host may limit the tier number of hub support. Make sure that a maximum hub tier exceed message is generated when exceeding the defined tier number.
- When the Embedded Host supports USB suspend features (including LPM) there shall be an option to force the host in suspend during normal function in order to prove the suspend tests.
- When remote wakeup is supported the host shall provide an option to enable this feature during suspend.
- In case more types of suspend are supported the A-UUT shall be able to enter each suspend mode manually.