Overview of Microsoft USB Test Tool (MUTT) devices
The Microsoft USB Test Tool (MUTT) is collection of devices for testing interoperability of your USB hardware with the Microsoft USB driver stack. This article provides a brief overview of the different types of MUTT devices, the tests you can run by using the device, and suggests topologies for controller, hub, device, and BIOS/UEFI testing.
To communicate with MUTT devices, you need the MUTT software package. This package contains several test tools and drivers that let hardware test engineers test interoperability of their USB controller or hub with the Microsoft USB driver stack. The test tools validate USB host controller software, hardware (including firmware) and any USB hub that is installed between the host controller and the device.
Download the MUTT software package to get the latest version of the test tools.
How to get MUTT devices
The manufactures listed in this article sell MUTT hardware boards required to run interoperability tests.
Device | Manufacturers |
---|---|
MUTT | JJG Technologies |
MUTT Pack | JJG Technologies |
SuperMUTT | JJG Technologies |
SuperMUTT Pack | VIA Labs |
Dual-role (DR) MUTT | JJG Technologies |
Type-C dual-role (DR) connection exerciser | MCCI JJG Technologies |
MUTT
Based on the design of the CY3681 EZ-USB FX2 Development Kit (Cypress FX2).
Compatible with FX2 capabilities, such as high speed and full speed transfers to bulk, isochronous, control, interrupt endpoints.
Simulates traffic from USB 2.0 devices.
MUTT Pack
The MUTT Pack is a combination of a USB 2.0 hub and an FX2 device that controls the hub and acts as a downstream device.
Based on the design on the Cypress Hub and Cypress FX2.
Hub capabilities. This can operate as a multi-TT or single-TT high speed hub; simulates overcurrent.
Exposes a downstream port that can be turned on or off.
Simulates USB 2.0 hub behavior.
Can operate in self-powered or bus-powered modes.
The MUTT Pack has two USB connectors. The standard B connector is used to plug the MUTT Pack in to the host system. The standard A connector is downstream of the embedded hub on the MUTT Pack, and can be used for additional device testing (discussed later in this document).
How to power the MUTT Pack
The MUTT Pack uses a small jumper (see Figure 3) to switch between self-powered and bus-powered modes. In bus-powered mode, the USB bus of the host system powers the MUTT Pack. In self-powered mode, the MUTT Pack is powered with an external 5V power adapter.
Use the following flow chart to determine how to power the MUTT Pack:
Note
Do not use the MUTT Pack without the power jumper.
This image shows how to use the jumper for powering the MUTT Pack by the USB bus of the host system:
This image shows how to use the jumper for powering the MUTT pack with an external power adapter:
Disconnect any existing power adapters and the cable to the host system when you are changing the jumper on the MUTT Pack.
SuperMUTT
- Based on the design of FX3 EZ-USB FX3.
- Implements SuperSpeed features such as the bulk streams feature.
- Simulates USB 3.0 device traffic.
- this device does not support operation at Low Speed.
SuperMUTT Pack
The SuperMUTT Pack is two devices in one. It is a USB 3.0 hub with a Cypress FX2 device downstream. The device controls the hub and also acts as a downstream device. The SuperMUTT Pack simulates USB 3.0 hub behaviors.
The downstream device is a 2.0 device, not a USB 3.0 device.
DR MUTT
The DR MUTT acts like a SuperMutt when testing host mode of the device under test, but it can also switch to host mode to test the function mode of the device under test.
USB Type-C ConnEx
The USB Type-C Connection Exerciser (USB Type-C ConnEx) is a custom shield that has a four-to-one switch to automate USB Type-C interoperability scenarios. The shield has been designed to work with Arduino as the microcontroller. For more information, see Test USB Type-C systems with USB Type-C ConnEx.