MIPI Debug Over USB
Developed by: Debug Working Group
A technology for using MIPI debug protocols over USB Debug Device Class
Quick Facts
-
Debug & Trace Portfolio
MIPI Alliance has a portfolio of specifications that can be used to debug components in mobile devices as well as any device that is “smart” or connected, such as an end-point on the Internet of Things (IoT). Components that can be debugged with the tools include application processors, modems, device controllers, power management devices and others.
The debug portfolio includes the "MIPI Debug Over” (MDO) family of specifications, which define how to transmit debug and trace data to and from the debug and test system on functional networks. These specifications map debug capabilities to a particular functional network. Unlike the MIPI Narrow Interface for Debug and Test (NIDnT) Specification, the network interface and protocol stack function normally. The MDO family of specifications simply defines how to adapt the various MIPI debug protocols (e.g., MIPI SneakPeek Protocol) so they can co-exist with other network traffic (as normal application layer functions).
All of these specifications are available for download and use by the public and the open source community.
-
Debug Ecosystem
View the list of companies that are part of a diverse ecosystem leveraging MIPI Debug and Trace specifications.
Get the Specification
-
Current Version
MIPI Debug Over USB v1.2 (September 2026)
Member version | Public version
The latest available public edition is currently MIPI GbD USB v1.1; the public edition of Debug Over USB v1.2 is forthcoming. -
Previous Versions
MIPI Gigabit Debug for USB v1.1 (March 2018)
Member version | Request public versionAll previous versions are available to MIPI members on the member website (Causeway).
Overview
General Info
The Debug Over USB (DO-USB) Specification describes methods for using the USB Debug Device Class (released in USB 3.1) as an interface to transport debug controls and data between a debug and test system (DTS) and a target system (TS). The use of USB to transport debug protocols minimizes debug’s impact on system functions and enables engineers to use the connection to debug a device while the connection is carrying other traffic.
The diagram below shows the standard MIPI debug architecture highlighting the functional area addressed by the Debug Over USB specification.

MIPI Debug Over USB was developed by the MIPI Debug Working Group. The current version, v1.2 was adopted in August 2026. Previous public versions) are available upon request.
Key Highlights
Debug Over USB provides mechanisms to perform debug by using a USB network and describes the communication between a Debug and Test System (DTS) and a Target System (TS) over the USB connection. This communication is used for:
- Basic debug control, such as halt mode debugging of processors; and/or
- Tracing, where streams of data are emitted from a TS to be decoded and analyzed in a DTS.
In a MIPI Debug system, the DTS communicates through a USB Host Controller and the TS communicates through a USB Device Controller, which might be a USB OTG Controller operating as a Device Controller. Solutions can be designed to operate with USB controllers capable of operating in modes from USB 1.1 and higher to deliver a wide range of usable data rates. The choice of maximum data rate in a given implementation is a system-design issue influenced by the anticipated usage by clients, which might include the anticipated debug scenarios.
Debug Over USB defines the necessary USB Descriptors and requests based on the USB Debug Device Class.
Capabilities
MIPI Debug Over USB offers key capabilities that make the interface scalable and flexible for use in applications throughout a product's lifecycle:
- Defined for USB 1.1/Full Speed and higher data transfer rates
- Choice of data rate(s) supported is a system-design decision
- Support for co-existence of debug and functional traffic over the USB network
- Defines the USB Descriptors and Requests necessary for MIPI debug
- Based on the USB Debug Device Class
- Uses USB Bulk transport method


