All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lu Baolu <baolu.lu@linux.intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ingo Molnar <mingo@redhat.com>
Cc: Mathias Nyman <mathias.nyman@linux.intel.com>,
	tglx@linutronix.de, peterz@infradead.org,
	linux-usb@vger.kernel.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, Lu Baolu <baolu.lu@linux.intel.com>,
	linux-doc@vger.kernel.org
Subject: [PATCH v8 5/5] usb: doc: add document for USB3 debug port usage
Date: Tue, 21 Mar 2017 16:01:33 +0800	[thread overview]
Message-ID: <1490083293-3792-6-git-send-email-baolu.lu@linux.intel.com> (raw)
In-Reply-To: <1490083293-3792-1-git-send-email-baolu.lu@linux.intel.com>

Add Documentation/usb/usb3-debug-port.rst. This document includes
the guide for using USB3 debug port.

Cc: linux-doc@vger.kernel.org
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
---
 Documentation/usb/usb3-debug-port.rst | 100 ++++++++++++++++++++++++++++++++++
 1 file changed, 100 insertions(+)
 create mode 100644 Documentation/usb/usb3-debug-port.rst

diff --git a/Documentation/usb/usb3-debug-port.rst b/Documentation/usb/usb3-debug-port.rst
new file mode 100644
index 0000000..feb1a36
--- /dev/null
+++ b/Documentation/usb/usb3-debug-port.rst
@@ -0,0 +1,100 @@
+===============
+USB3 debug port
+===============
+
+:Author: Lu Baolu <baolu.lu@linux.intel.com>
+:Date: March 2017
+
+GENERAL
+=======
+
+This is a HOWTO for using the USB3 debug port on x86 systems.
+
+Before using any kernel debugging functionality based on USB3
+debug port, you need to::
+
+	1) check whether any USB3 debug port is available in
+	   your system;
+	2) check which port is used for debugging purposes;
+	3) have a USB 3.0 super-speed A-to-A debugging cable.
+
+INTRODUCTION
+============
+
+The xHCI debug capability (DbC) is an optional but standalone
+functionality provided by the xHCI host controller. The xHCI
+specification describes DbC in the section 7.6.
+
+When DbC is initialized and enabled, it will present a debug
+device through the debug port (normally the first USB3
+super-speed port). The debug device is fully compliant with
+the USB framework and provides the equivalent of a very high
+performance full-duplex serial link between the debug target
+(the system under debugging) and a debug host.
+
+EARLY PRINTK
+============
+
+DbC has been designed to log early printk messages. One use for
+this feature is kernel debugging. For example, when your machine
+crashes very early before the regular console code is initialized.
+Other uses include simpler, lockless logging instead of a full-
+blown printk console driver and klogd.
+
+On the debug target system, you need to customize a debugging
+kernel with CONFIG_EARLY_PRINTK_USB_XDBC enabled. And, add below
+kernel boot parameter::
+
+	"earlyprintk=xdbc"
+
+If there are multiple xHCI controllers in your system, you can
+append a host contoller index to this kernel parameter. This
+index starts from 0.
+
+Current design doesn't support DbC runtime suspend/resume. As
+the result, you'd better disable runtime power management for
+USB subsystem by adding below kernel boot parameter::
+
+	"usbcore.autosuspend=-1"
+
+Before starting the debug target, you should connect the debug
+port to a USB port (root port or port of any external hub) on
+the debug host. The cable used to connect these two ports
+should be a USB 3.0 super-speed A-to-A debugging cable.
+
+During early boot of the debug target, DbC will be detected and
+initialized. After initialization, the debug host should be able
+to enumerate the debug device in debug target. The debug host
+will then bind the debug device with the usb_debug driver module
+and create the /dev/ttyUSB device.
+
+If the debug device enumeration goes smoothly, you should be able
+to see below kernel messages on the debug host::
+
+	# tail -f /var/log/kern.log
+	[ 1815.983374] usb 4-3: new SuperSpeed USB device number 4 using xhci_hcd
+	[ 1815.999595] usb 4-3: LPM exit latency is zeroed, disabling LPM.
+	[ 1815.999899] usb 4-3: New USB device found, idVendor=1d6b, idProduct=0004
+	[ 1815.999902] usb 4-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
+	[ 1815.999903] usb 4-3: Product: Remote GDB
+	[ 1815.999904] usb 4-3: Manufacturer: Linux
+	[ 1815.999905] usb 4-3: SerialNumber: 0001
+	[ 1816.000240] usb_debug 4-3:1.0: xhci_dbc converter detected
+	[ 1816.000360] usb 4-3: xhci_dbc converter now attached to ttyUSB0
+
+You can use any communication program, for example minicom, to
+read and view the messages. Below simple bash scripts can help
+you to check the sanity of the setup.
+
+.. code-block:: sh
+
+	===== start of bash scripts =============
+	#!/bin/bash
+
+	while true ; do
+		while [ ! -d /sys/class/tty/ttyUSB0 ] ; do
+			:
+		done
+	cat /dev/ttyUSB0
+	done
+	===== end of bash scripts ===============
-- 
2.1.4

  parent reply	other threads:[~2017-03-21  8:03 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-21  8:01 [PATCH v8 0/5] usb: early: add support for early printk through USB3 debug port Lu Baolu
2017-03-21  8:01 ` [PATCH v8 1/5] x86: add simple udelay calibration Lu Baolu
2017-03-21 12:19   ` [tip:x86/debug] x86/timers: Add " tip-bot for Lu Baolu
2017-05-24 16:56     ` Jan Kiszka
2017-05-25  0:49       ` Lu Baolu
2017-05-02 22:38   ` [PATCH v8 1/5] x86: add " Boris Ostrovsky
2017-05-05  5:41     ` Lu Baolu
2017-05-05  5:41     ` Lu Baolu
2017-05-05 12:50       ` Boris Ostrovsky
2017-07-12  8:02         ` Dou Liyang
2017-07-13  1:17           ` Lu Baolu
2017-07-13  1:17           ` Lu Baolu
2017-07-13  1:39             ` Dou Liyang
2017-07-13  3:00               ` Lu Baolu
2017-07-14  3:21                 ` Dou Liyang
2017-07-14  3:21                 ` Dou Liyang
2017-07-13  3:00               ` Lu Baolu
2017-07-13  1:39             ` Dou Liyang
2017-07-12  8:02         ` Dou Liyang
2017-05-05 12:50       ` Boris Ostrovsky
2017-05-02 22:38   ` Boris Ostrovsky
2017-03-21  8:01 ` [PATCH v8 2/5] usb: early: add driver for xhci debug capability Lu Baolu
2017-03-21 12:19   ` [tip:x86/debug] usb/early: Add " tip-bot for Lu Baolu
2017-05-30 13:46   ` [PATCH v8 2/5] usb: early: add " Vlastimil Babka
2017-05-31  3:27     ` Lu Baolu
2017-05-31  6:24       ` Steven Rostedt
2017-06-01  3:35         ` Lu Baolu
2017-05-31  9:38       ` Vlastimil Babka
2017-06-01  3:37         ` Lu Baolu
2017-06-01  8:15           ` Vlastimil Babka
2017-06-01 12:25             ` Peter Zijlstra
2017-06-02  0:47               ` Steven Rostedt
2017-03-21  8:01 ` [PATCH v8 3/5] x86: add support for earlyprintk via USB3 debug port Lu Baolu
2017-03-21 12:20   ` [tip:x86/debug] x86/earlyprintk: Add " tip-bot for Lu Baolu
2017-03-21  8:01 ` [PATCH v8 4/5] usb: serial: add dbc debug device support to usb_debug Lu Baolu
2017-03-21 12:21   ` [tip:x86/debug] usb/serial: Add DBC " tip-bot for Lu Baolu
2017-03-21  8:01 ` Lu Baolu [this message]
2017-03-21 12:21   ` [tip:x86/debug] usb/doc: Add document for USB3 debug port usage tip-bot for Lu Baolu
2017-03-21 11:33 ` [PATCH v8 0/5] usb: early: add support for early printk through USB3 debug port Ingo Molnar
2017-03-21 12:27   ` Greg Kroah-Hartman
2017-03-21 12:46     ` Ingo Molnar
2017-03-22  2:23   ` Lu Baolu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1490083293-3792-6-git-send-email-baolu.lu@linux.intel.com \
    --to=baolu.lu@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@linux.intel.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.