The Data Center Software is Total Phase’s free bus monitoring software that allows users to interface with Total Phase protocol analyzers supporting I2C, SPI, USB, CAN, and eSPI protocols. These analyzers include the Beagle I2C/SPI Protocol Analyzer, the line of Beagle USB Protocol Analyzers, the USB Power Delivery Analyzer, the Komodo CAN Duo Interface, and the Promira Serial Platform with the eSPI Analysis Application.
This award-winning software provides users with an abundance of tools and ways to analyze and interpret bus data. Users can review decoded bus data and transactions in real time, review flagged bus errors, filter and drill down specific data parameters, perform triggers, and much more.
In this article, we’ll provide background on the USB Configuration Management feature in the Data Center Software and how it can be used to help streamline and customize USB debugging efforts.
While the Data Center Software uses configuration descriptor information captured during the enumeration phase to configure class-level decoding of USB traffic, users can also apply arbitrary configuration descriptors to the captured USB device data using the USB Configuration Management feature if desired. This allows for a custom class-level decoding experience within the set of USB classes supported by Data Center Software. It is important to note however, that this feature does not add support for decoding custom USB classes, only for specifying custom configuration descriptors.
Allowing users to apply configuration descriptors through this feature can be helpful for when enumerated data isn’t captured or is incomplete, or when users would like to override descriptors that were already applied for a particular device. Configs can be created from scratch or saved from a capture.
When analyzing a USB system through the Data Center Software, users can view the devices detected on the bus during the enumeration phase in the Bus Pane. The Bus Pane will show detailed device information including addresses, configurations, endpoint descriptors, and more.
The USB Configuration Management Window can be accessed via the Bus Pane by right-clicking in the Bus tree. A pop-up window will then be revealed to allow users to select from a variety of different options; one of them being “Manage Configs”. Once clicked, users will find the USB Configuration Management Window where they can manage configuration information for the device and/or apply a new configuration.
The USB Configuration Management Window is broken up into three different sections: The Configurations Pane, the Data Pane, and the Details Pane.
The Configurations Pane is a hierarchical list providing all available configurations separated into four categories:
Below the Configurations Pane, users can create custom configurations using the button.
The user can also , , or the selected configuration using the same controls.
When clicking on a configuration in the Configurations Pane, the descriptors raw data will be displayed in the bottom-left of the window. This data can be edited in a variety of formats including hexadecimal and ASCII for “Assigned” and “User” configurations. Users can configure the data display by right-clicking anywhere in the pane.
The Data Pane will highlight relevant regions of the data when a specific parameter is clicked in the Details Pane. Likewise, when changes are made in the data, the Details Pane shows the results immediately if at the bottom is checked.
The user can also or edits to a configuration using the controls beneath the Data Pane.
Similar to the Enumeration tab of the Bus Pane, the Details Pane in this window displays the configuration data that is parsed into higher level parameters. When a specific parameter is highlighted in the Details Pane, the corresponding data is highlighted in the Data Pane. If is checked, any modifications to the configuration data in the Data Pane will be updated accordingly in the Details Pane.
The USB Configuration Management Window provides ways for the user to:
Rather than re-enumerate a frequently used device on every new capture, it can be time-efficient to save the devices configuration descriptor and assign it in future captures using Configuration Management.
To save an enumerated configuration:
To assign an existing custom configuration to a target device and bConfigurationValue:
The custom configuration is now assigned and will appear blue in the Bus Pane. Until this configuration is removed, the Data Center Software will class-decode all transfers against the device as if the custom configuration actually occupied the device's bConfigurationValue.
Our video: Packet Truncation and Configuration Management of the Data Center Software shows how the packet truncation feature allows for significantly longer USB 3.0 captures and how saved USB configurations can be used to apply class-level decoding to captured data after a capture.
Watch the video here:
To remove a previously assigned custom configuration from active class-level decoding:
To remove all of a device’s previously assigned custom configurations from active class-level decoding:
The USB Configuration Management Window is a helpful feature within the Data Center Software as it allows users to apply USB configurations to captured USB data. This can help with numerous situations, including when the enumeration data isn’t captured or if users want to manually apply configs to decode class-level data. For more information on how this feature can benefit debugging your USB systems, please email us sales@totalphase.com.