Debug USB Faster with USB Class-Level Decoding

 


Introducing Class-Level Decoding Video
See a video demonstration of the new real-time class-level decoding feature of the Data Center Software.

What are USB Classes?

One of the reasons for USB's popularity is the fact that any standard USB device will work immediately upon being plugged in to any host computer. USB classes make this possible. Groups of similar devices, like Mass Storage Devices and Human Interface Devices (HID), use a standard set of commands and instructions which allow them to share a common USB Class Driver.


What is USB Class-Level Decoding?

Class-level decoding is the translation of the low-level USB data into human-readable USB class-level commands and instructions. This powerful new feature in the Data Center Software makes debugging USB devices even easier. Simply start a capture, plug in a USB device to the Beagle USB 480 Protocol Analyzer or Beagle USB 5000 v2 SuperSpeed Protocol Analyzer, and the software will automatically parse raw packets into human-readable format, all in true real-time.

Here is a comparison between the protocol-level view and the class-level view.


Protocol-Level View
The USB data from a Mass Storage device has been organized into packet groups. The data is in its raw format which is difficult to understand.
   
Class-Level View
The USB traffic has been organized into hierarchical Mass Storage specific data groups. Now that the class-level data is decoded, it is easier to understand.

Supported Classes

The Data Center software supports all these classes and more.

    • Audio (v1.0 - v2.0 *NEW*)
      • Audio Class Descriptor
      • Audio Class Request

    • Communications Device Class (CDC)
      • Abstract Control Model
      • Ethernet Networking Control Model
      • Wireless Handset Control Model

    • Device Firmware Update (DFU)
      • DFU Class Requests
      • DFU Class Descriptors

    • Hub
      • Hub Class Notification

    • Human Interface Device (HID)
      • HID Class Descriptor
      • HID Class Request

  • Mass Storage
    • Bulk Only Transport (BOT)
    • USB Attached SCSI Protocol (UASP) *NEW*
    • SCSI - MMC
    • SCSI - SBC
    • SCSI - SPC
    • Network Control Model (NCM)

    • Mobile Direct Line Model (MDLM) Semantic Models
      • Early Network Control Model (ENCM)

    • Printer
      • Bulk Data Transfers
      • Printer Class Descriptors
      • Printer Class Requests

    • Still Image (PTP and MTP)
      • Bulk Data Transfers
      • PIMA 15740 Interpretation
      • MTP 1.1 Specification
      • Event Interrupt Transfers

    • Video (v1.0 - v1.1)
      • Bulk Data Transfers
      • UVC Headers *NEW*
      • Event Interrupt Transfers
      • Video Frame Grouping *NEW*

  • Support for more USB classes coming soon.

Features

Info and Data Panes

The image to the right shows the USB traffic from a HID Device. The class-level data from a USB mouse has been decoded and the Info Pane at the far right displays the parsed class-level fields for easy viewing.

When a field is highlighted in the Info Pane, the relevant portion of the data payload is highlighted in the Data Pane on the bottom.

Benefits

  • Class-level data is parsed into a human-readable format.
  • Class-level fields in the data payload are clearly displayed.

Hierarchical Display

In the transaction window, IN, OUT, and SETUP packet groups are automatically organized into class-level groupings.

In the image to the left, class-level data from a USB Mass Storage Device has been organized into high-level commands. These commands are further organized into individual phases, such as Command Transport and Data Transport.

Benefits

  • Grouped class-level transactions are easier to analyze and debug.
  • Switch instantly between class-level and protocol-level views with a single click.

Availability