USB3 Debug Class Specification

Total Page:16

File Type:pdf, Size:1020Kb

USB3 Debug Class Specification USB 3.1 Debug Class 7/14/2015 USB 3.1 Device Class Specification for Debug Devices Revision 1.0 – July 14, 2015 - 1 - USB 3.1 Debug Class 7/14/2015 INTELLECTUAL PROPERTY DISCLAIMER THIS SPECIFICATION IS PROVIDED TO YOU “AS IS” WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE. THE AUTHORS OF THIS SPECIFICATION DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PROPRIETARY RIGHTS, RELATING TO USE OR IMPLEMENTATION OF INFORMATION IN THIS SPECIFICATION. THE PROVISION OF THIS SPECIFICATION TO YOU DOES NOT PROVIDE YOU WITH ANY LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS. Please send comments via electronic mail to [email protected]. For industry information, refer to the USB Implementers Forum web page at http://www.usb.org. All product names are trademarks, registered trademarks, or service marks of their respective owners. Copyright © 2010-2015 Hewlett-Packard Company, Intel Corporation, Microsoft Corporation, Renesas, STMicroelectronics, and Texas Instruments All rights reserved. - 2 - USB 3.1 Debug Class 7/14/2015 Contributors Intel (chair) Rolf Kühnis Intel Sri Ranganathan Intel Sankaran Menon Intel (chair) John Zurawski ST-Ericsson Andrew Ellis ST-Ericsson Tomi Junnila ST-Ericsson Rowan Naylor ST-Ericsson Graham Wells ST Microelectronics Jean-Francis Duret Texas Instruments Gary Cooper Texas Instruments Jason Peck Texas Instruments Gary Swoboda AMD Will Harris Lauterbach Stephan Lauterbach Lauterbach Ingo Rohloff Nokia Henning Carlsen Nokia Eugene Gryazin Nokia Leon Jørgensen Qualcomm Miguel Barasch Qualcomm Terry Remple Qualcomm Yoram Rimoni - 3 - USB 3.1 Debug Class 7/14/2015 TABLE OF CONTENTS 1 TERMS AND ABBREVIATIONS ........................................................................................................ 8 1.1 USB & DEBUG TERMS AND ABBREVIATIONS .................................................................................... 8 1.2 TERMINOLOGY ............................................................................................................................. 10 1.3 ABBREVIATIONS ........................................................................................................................... 11 2 RELATED DOCUMENTS ................................................................................................................. 12 3 SPECIFICATION OVERVIEW AND SCOPE ................................................................................... 13 3.1 INTRODUCTION............................................................................................................................. 13 3.2 PURPOSE .................................................................................................................................... 13 3.3 SCOPE ........................................................................................................................................ 14 3.4 OVERVIEW ................................................................................................................................... 15 3.4.1 Debug Capabilities ............................................................................................................. 15 3.4.2 DbC and DvC Overview ..................................................................................................... 16 3.4.3 Example Implementation .................................................................................................... 17 3.5 FUNCTIONAL CHARACTERISTICS ................................................................................................... 19 3.5.1 The Debug Capabilities ...................................................................................................... 20 3.5.2 Debug Scenario Examples ................................................................................................. 22 3.5.3 Debug Function Topology .................................................................................................. 24 3.5.4 Debug Control of the Debug Units ..................................................................................... 29 3.6 DEBUG OPERATIONAL MODEL ...................................................................................................... 31 3.6.1 Alternate Settings ............................................................................................................... 31 3.6.2 Changing Debug Capabilities via Alternate Settings.......................................................... 33 3.6.3 Changing Debug Capabilities using Different Configurations ............................................ 33 3.6.4 Interface Association Descriptor (IAD) ............................................................................... 35 3.6.5 Multiple Mutually-Exclusive Host Drivers ........................................................................... 37 3.6.6 Enumerating Interface Collections ..................................................................................... 41 3.6.7 Debug-Control Interface ..................................................................................................... 42 3.6.8 DxC.Trace Interface ........................................................................................................... 47 4 DESCRIPTORS ................................................................................................................................ 52 4.1 DESCRIPTOR LAYOUT OVERVIEW .................................................................................................. 52 4.1.1 Class-Specific Topology Descriptors.................................................................................. 53 4.2 XHCI-COMPLIANT DBC STANDARD DESCRIPTORS ......................................................................... 56 4.3 DEBUG STANDARD DESCRIPTORS ................................................................................................. 56 4.3.1 USB 2.0 Descriptors ........................................................................................................... 56 4.3.2 USB 3.1 Standard Descriptors ........................................................................................... 62 4.4 DEBUG CLASS-SPECIFIC DESCRIPTORS ........................................................................................ 62 4.4.1 Introduction ......................................................................................................................... 62 4.4.2 Debug-Control Interface Descriptors .................................................................................. 64 4.4.3 Debug-Attributes Descriptor ............................................................................................... 66 4.4.4 Input-Connection Descriptor ............................................................................................... 70 4.4.5 Output Connection Descriptor ............................................................................................ 71 4.4.6 Debug-Unit Descriptor ........................................................................................................ 72 4.5 STANDARDS-BODY SUPPORT ....................................................................................................... 80 5 CLASS-SPECIFIC REQUESTS ....................................................................................................... 84 5.1 INTRODUCTION............................................................................................................................. 84 5.2 DEBUG-CONTROL OVERVIEW ....................................................................................................... 86 5.3 REQUEST LAYOUT ........................................................................................................................ 87 5.3.1 Request Layout .................................................................................................................. 87 5.3.2 Request Examples ............................................................................................................. 89 5.4 DEBUG CONTROL REQUESTS ....................................................................................................... 92 - 4 - USB 3.1 Debug Class 7/14/2015 5.4.1 SET_CONFIG_DATA and GET_CONFIG_DATA Overview ............................................. 92 5.4.2 Debug Commands and Operating Modes .......................................................................... 92 5.4.3 SET_CONFIG_DATA_SINGLE .......................................................................................... 93 5.4.4 SET_CONFIG_DATA ......................................................................................................... 94 5.4.5 GET_CONFIG_DATA ........................................................................................................ 94 5.4.6 SET_CONFIG_ADDRESS ................................................................................................. 95 5.4.7 GET_CONFIG_ADDRESS ................................................................................................. 96 5.4.8 SET_ ALT_STACK ............................................................................................................. 96 5.4.9 GET_ALT_STACK ............................................................................................................. 97 5.4.10 SET_OPERATING_MODE ...............................................................................................
Recommended publications
  • MIPI Alliance Test and Debug - Nidnt-Port White Paper
    MIPI Alliance Test and Debug - NIDnT-Port White paper Approved Version: 1.0 – 10 January 2007 MIPI Board Approved for Public Distribution NOTE and DISCLAIMER: This is an informative document, not a MIPI Specification. Various rights and obligations which apply solely to MIPI Specifications (as defined in the MIPI Membership Agreement and MIPI Bylaws) including, but not limited to, patent license rights and obligations, do not apply to this document. The material contained herein is not a license, either expressly or impliedly, to any IPR owned or controlled by any of the authors or developers of this material or MIPI. The material contained herein is provided on an “AS IS” basis and to the maximum extent permitted by applicable law, this material is provided AS IS AND WITH ALL FAULTS, and the authors and developers of this material and MIPI hereby disclaim all other warranties and conditions, either express, implied or statutory, including, but not limited to, any (if any) implied warranties, duties or conditions of merchantability, of fitness for a particular purpose, of accuracy or completeness of responses, of results, of workmanlike effort, of lack of viruses, and of lack of negligence. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THIS MATERIAL. IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR MIPI BE LIABLE TO ANY OTHER PARTY FOR THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS MATERIAL, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.
    [Show full text]
  • Freescale In-Circuit Emulator Base User Manual
    Freescale In-Circuit Emulator Base User Manual Rev. 1.1 1/2005 FSICEBASEUM How to Reach Us: Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses USA/Europe/Locations Not Listed: granted hereunder to design or fabricate any integrated circuits or integrated circuits based on Freescale Semiconductor Literature Distribution Center the information in this document. P.O. Box 5405 Freescale Semiconductor reserves the right to make changes without further notice to any Denver, Colorado 80217 products herein. Freescale Semiconductor makes no warranty, representation or guarantee 1-800-521-6274 or 480-768-2130 regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or Japan: circuit, and specifically disclaims any and all liability, including without limitation Freescale Semiconductor Japan Ltd. consequential or incidental damages. “Typical” parameters that may be provided in Freescale Technical Information Center Semiconductor data sheets and/or specifications can and do vary in different applications and 3-20-1, Minami-Azabu, Minato-ku actual performance may vary over time. All operating parameters, including “Typicals”, must Tokyo 106-8573, Japan be validated for each customer application by customer’s technical experts. Freescale 81-3-3440-3569 Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as Asia/Pacific: components in systems intended for surgical implant into the body, or other applications Freescale Semiconductor Hong Kong Ltd.
    [Show full text]
  • Renesas RX62N RDK User's Manual
    Renesas Demonstration Kit (RDK) for RX62N User’s Manual: Hardware RENESAS MCU 32 RX Family / RX600 Series / RX62N Group R20UT2531EU0100 All information contained in these materials, including products and product specifications, represents information on the product at the time of publication and is subject to change by Renesas Electronics Corp. without notice. Please review the latest information published by Renesas Electronics Corp. through various means, including the Renesas Electronics Corp. website (http://www.renesas.com). i Disclaimer By using this Renesas Demonstration Kit (RDK), the user accepts the following terms. The RDK is not guaranteed to be error free, and the User assumes the entire risk as to the results and performance of the RDK. The RDK is provided by Renesas on an “as is” basis without warranty of any kind whether express or implied, including but not limited to the implied warranties of satisfactory quality, fitness for a particular purpose, title and non-infringement of intellectual property rights with regard to the RDK. Renesas expressly disclaims all such warranties. Renesas or its affiliates shall in no event be liable for any loss of profit, loss of data, loss of contract, loss of business, damage to reputation or goodwill, any economic loss, any reprogramming or recall costs (whether the foregoing losses are direct or indirect) nor shall Renesas or its affiliates be liable for any other direct or indirect special, incidental or consequential damages arising out of or in relation to the use of this RDK, even if Renesas or its affiliates have been advised of the possibility of such damages.
    [Show full text]
  • Linux Hardware Compatibility HOWTO
    Linux Hardware Compatibility HOWTO Steven Pritchard Southern Illinois Linux Users Group [email protected] 3.1.5 Copyright © 2001−2002 by Steven Pritchard Copyright © 1997−1999 by Patrick Reijnen 2002−03−28 This document attempts to list most of the hardware known to be either supported or unsupported under Linux. Linux Hardware Compatibility HOWTO Table of Contents 1. Introduction.....................................................................................................................................................1 1.1. Notes on binary−only drivers...........................................................................................................1 1.2. Notes on commercial drivers............................................................................................................1 1.3. System architectures.........................................................................................................................1 1.4. Related sources of information.........................................................................................................2 1.5. Known problems with this document...............................................................................................2 1.6. New versions of this document.........................................................................................................2 1.7. Feedback and corrections..................................................................................................................3 1.8. Acknowledgments.............................................................................................................................3
    [Show full text]
  • Apollo Twin USB Hardware Manual
    Apollo Twin USB Hardware Manual Manual Version 210429 www.uaudio.com A Letter from Bill Putnam Jr. Thank you for deciding to make the Apollo Twin High-Resolution Interface part of your music making experience. We know that any new piece of gear requires an investment of time and money — and our goal is to make your investment pay off. The fact that we get to play a part in your creative process is what makes our efforts meaningful, and we thank you for this. In many ways, the Apollo family of audio interface products represent the best examples of what Universal Audio has stood for over its long history; from UA’s original founding in the 1950s by my father, through our current vision of delivering the best of both analog and digital audio technologies. Starting with its high-quality analog I/O, Apollo Twin’s superior sonic performance serves as its foundation. This is just the beginning however, as Apollo Twin is the only desktop audio interface that allows you to run UAD plug-ins in real time. Want to monitor yourself through a Neve® console channel strip while tracking bass through a classic Fairchild or LA-2A compressor? Or how about tracking vocals through a Studer® tape machine with some added Lexicon® reverb?* With our growing library of more than 90 UAD plug-ins, the choices are limitless. At UA, we are dedicated to the idea that this powerful technology should ultimately serve the creative process — not be a barrier. These are the very ideals my father embodied as he invented audio equipment to solve problems in the studio.
    [Show full text]
  • ARM Debugger
    ARM Debugger TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents ...................................................................................................................... ICD In-Circuit Debugger ................................................................................................................ Processor Architecture Manuals .............................................................................................. ARM/CORTEX/XSCALE ........................................................................................................... ARM Debugger ..................................................................................................................... 1 History ................................................................................................................................ 7 Warning .............................................................................................................................. 8 Introduction ....................................................................................................................... 9 Brief Overview of Documents for New Users 9 Demo and Start-up Scripts 10 Quick Start of the JTAG Debugger .................................................................................. 12 FAQ ..................................................................................................................................... 13 Troubleshooting ...............................................................................................................
    [Show full text]
  • TECHNICAL MANUAL of Intel H110 Express Chipset Based Mini-ITX
    TECHNICAL MANUAL Of Intel H110 Express Chipset Based Mini-ITX M/B NO. G03-NF693-F Revision: 3.0 Release date: July 19, 2017 Trademark: * Specifications and Information contained in this documentation are furnished for information use only, and are subject to change at any time without notice, and should not be construed as a commitment by manufacturer. Environmental Protection Announcement Do not dispose this electronic device into the trash while discarding. To minimize pollution and ensure environment protection of mother earth, please recycle. i TABLE OF CONTENT ENVIRONMENTAL SAFETY INSTRUCTION ...................................................................... iii USER’S NOTICE .................................................................................................................. iv MANUAL REVISION INFORMATION .................................................................................. iv ITEM CHECKLIST ................................................................................................................ iv CHAPTER 1 INTRODUCTION OF THE MOTHERBOARD 1-1 FEATURE OF MOTHERBOARD ................................................................................ 1 1-2 SPECIFICATION ......................................................................................................... 2 1-3 LAYOUT DIAGRAM .................................................................................................... 3 CHAPTER 2 HARDWARE INSTALLATION 2-1 JUMPER SETTING ....................................................................................................
    [Show full text]
  • Embedded Android
    www.it-ebooks.info www.it-ebooks.info Praise for Embedded Android “This is the definitive book for anyone wanting to create a system based on Android. If you don’t work for Google and you are working with the low-level Android interfaces, you need this book.” —Greg Kroah-Hartman, Core Linux Kernel Developer “If you or your team works on creating custom Android images, devices, or ROM mods, you want this book! Other than the source code itself, this is the only place where you’ll find an explanation of how Android works, how the Android build system works, and an overall view of how Android is put together. I especially like the chapters on the build system and frameworks (4, 6, and 7), where there are many nuggets of information from the AOSP source that are hard to reverse-engineer. This book will save you and your team a lot of time. I wish we had it back when our teams were starting on the Frozen Yogurt version of Android two years ago. This book is likely to become required reading for new team members working on Intel Android stacks for the Intel reference phones.” —Mark Gross, Android/Linux Kernel Architect, Platform System Integration/Mobile Communications Group/Intel Corporation “Karim methodically knocks out the many mysteries Android poses to embedded system developers. This book is a practical treatment of working with the open source software project on all classes of devices, beyond just consumer phones and tablets. I’m personally pleased to see so many examples provided on affordable hardware, namely BeagleBone, not just on emulators.” —Jason Kridner, Sitara Software Architecture Manager at Texas Instruments and cofounder of BeagleBoard.org “This book contains information that previously took hundreds of hours for my engineers to discover.
    [Show full text]
  • NSA ANT Catalog PDF from EFF.Org
    SECRET//COMINT//REL TO USA. FVEY DEITYBOUNCE ANT Product Data (TS//SI//REL) DEITYBOUNCE provides software application persistence on Dell PowerEdge servers by exploiting the motherboard BIOS and utilizing System Management Mode (SMM) to gain periodic execution while the Operating System loads. _________________ _________________________________________ TUMI KG FORK Post Proc*t*ftg Target Systems (TS//SM/REL) DEITYBOUNCE Extended Concept ot Operations (TS//SI//REL) This technique supports multi-processor systems with RAID hardware and Microsoft Windows 2000. 2003. and XP. It currently targets Dell PowerEdge A A 1850/2850/1950/2950 RAID servers, using BIOS versions A02. A05. A 0 6 .1.1.0. " " 1.2.0. or 1.3.7. (TS//SI//REL) Through remote access or interdiction. ARKSTREAM is used to re­ flash the BIOS on a target machine to implant DEITYBOUNCE and its payload (the implant installer). Implantation via interdiction may be accomplished by non­ technical operator though use of a USB thumb drive. Once implanted. DEITYBOUNCE's frequency of execution (dropping the payload) is configurable and will occur when the target machine powers on. Status: Released / Deployed. Ready for Unit Cost: $0 Immediate Delivery POC: S32221. | Oenverl From: NSAfCSSM 1-52 Dated: 20070108 Oeclaisify On: 20320108 SECRET//COMINT//REL TO USA. FVEY TOP SECRET//COMINT//REL TO USA. FVEY IRONCHEF ANT Product Data (TS//SI//REL) IRONCHEF provides access persistence to target systems by exploiting the motherboard BIOS and utilizing System Management Mode (SMM) to 07/14/08 communicate with a hardware implant that provides two-way RF communication. CRUMPET COVERT CLOSED NETWORK NETW ORK (CCN ) (Tefgef So*col CCN STRAITBIZAKRE N ode Compute* Node r -\— 0 - - j CCN S e rv e r STRAITBIZARRE Node CCN Computer UNITCORAKt Computer Node I Futoie Nodoe UNITE ORA KE Server Node I (TS//SI//REL) IRONCHEF Extended Concept of Operations (TS//SI/REL) This technique supports the HP Proliant 380DL G5 server, onto which a hardware implant has been installed that communicates over the l?C Interface (WAGONBED).
    [Show full text]
  • The ZEN of BDM
    The ZEN of BDM Craig A. Haller Macraigor Systems Inc. This document may be freely disseminated, electronically or in print, provided its total content is maintained, including the original copyright notice. Introduction You may wonder, why The ZEN of BDM? Easy, BDM (Background Debug Mode) is different from other types of debugging in both implementation and in approach. Once you have a full understanding of how this type of debugging works, the spirit behind it if you will, you can make the most of it. Before we go any further, a note on terminology. “BDM” is Motorola’s term for a method of debugging. It also refers to a hardware port on their microcontroller chips, the “BDM port”. Other chips and other manufacturers use a JTAG port (IBM), a OnCE port (Motorola), an MPSD port (Texas Instruments), etc. (more on these later). The type of debugging we will be discussing is sometimes known as “BDM debugging” even though it may use a JTAG port! For clarity, I will refer to it as “on-chip debugging” or OCD. This will include all the various methods of using resources on the chip that are put there to enable complete software debug and aid in hardware debug. This includes processors from IBM, TI, Analog Devices, Motorola, and others. This paper is an overview of OCD debugging, what it is, and how to use it most effectively. A certain familiarity with debugging is assumed, but novice through expert in microprocessor/microcontroller design and debug will gain much from its reading. Throughout this paper I will try to be as specific as possible when it relates to how different chips implement this type of debugging.
    [Show full text]
  • Defending Against Malicious Peripherals with Cinch Sebastian Angel, the University of Texas at Austin and New York University; Riad S
    Defending against Malicious Peripherals with Cinch Sebastian Angel, The University of Texas at Austin and New York University; Riad S. Wahby, Stanford University; Max Howald, The Cooper Union and New York University; Joshua B. Leners, Two Sigma; Michael Spilo and Zhen Sun, New York University; Andrew J. Blumberg, The University of Texas at Austin; Michael Walfish, New York University https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/angel This paper is included in the Proceedings of the 25th USENIX Security Symposium August 10–12, 2016 • Austin, TX ISBN 978-1-931971-32-4 Open access to the Proceedings of the 25th USENIX Security Symposium is sponsored by USENIX Defending against malicious peripherals with Cinch ⋆ Sebastian Angel, † Riad S. Wahby,‡ Max Howald,§† Joshua B. Leners,∥ ⋆ Michael Spilo,† Zhen Sun,† Andrew J. Blumberg, and Michael Walfish† ⋆ The University of Texas at Austin †New York University ‡Stanford University §The Cooper Union ∥Two Sigma Abstract Rushby’s separation kernel [129] (see also its modern de- scendants [81, 122]), the operating system is architected Malicious peripherals designed to attack their host com- to make different resources of the computer interact with puters are a growing problem. Inexpensive and powerful each other as if they were members of a distributed sys- peripherals that attach to plug-and-play buses have made tem. More generally, the rich literature on high-assurance such attacks easy to mount. Making matters worse, com- kernels offers isolation, confinement, access control, and modity operating systems lack coherent defenses, and many other relevant ideas. On the other hand, applying users are often unaware of the scope of the problem.
    [Show full text]
  • Configuring the Information Environment of Microcomputers with the Microsoft Windows 10 Operating System
    Configuring the Information Environment of Microcomputers with the Microsoft Windows 10 Operating System Felix Kasparinsky[0000-0002-1048-9212] MASTER-MULTIMEDIA Ltd, Entuziastov Shosse 98-3-274, Moscow 111531, Russia [email protected] Abstract. Since 2015, microcomputers have appeared in the information envi- ronment, which are a compact system unit with minimal functionality without peripherals. The article published the results of the analysis of the use of 6 dif- ferent microcomputers in various fields of activity. The purpose of the study is to determine the limiting factors affecting the efficiency of the targeted use of microcomputers. It has been established that for scientific and educational presentations, office and trading activities, it is cur-rently advisable to use fan- less microcomputers with a perforated case and an internal WiFi antenna, at least 4 GB of operational and 64 GB of permanent memory, and a microSD (TF) memory card slot, at least 128 GB, NTFS file system), Intel HD Graphics, USB3.0 and HDMI interfaces. Based on comparative experiments, methodolog- ical recommendations were created on optimizing the configuration of the hardware-software environment of microcomputers in stationary and mobile conditions. The problems of major updates to Windows 10, as well as the com- patibility of Microsoft Store software and third-party manufacturers, are ana- lyzed. It is recommended to specialize individual microcomputers for working with 32-bit applications; accounting and cryptographic programs; as well as conducting presentations with their video. Options for optimal configuration of the Start menu of the Windows 10 desktop are suggested. It is concluded that specialization in the hardware-software configuration of modern microcomput- ers allows you to increase the efficiency of using single de-vices and their paired systems in accordance with BYOD (Bring Your Own Device).
    [Show full text]