summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/udbc.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/udbc.4 3.html')
-rw-r--r--static/freebsd/man4/udbc.4 3.html128
1 files changed, 128 insertions, 0 deletions
diff --git a/static/freebsd/man4/udbc.4 3.html b/static/freebsd/man4/udbc.4 3.html
new file mode 100644
index 00000000..ea4b74a1
--- /dev/null
+++ b/static/freebsd/man4/udbc.4 3.html
@@ -0,0 +1,128 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">UDBC(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">UDBC(4)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">udbc</code> &#x2014; <span class="Nd">USB Debug
+ Class device driver</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<p class="Pp"><code class="Cd">device usb</code>
+ <br/>
+ <code class="Cd">device ucom</code>
+ <br/>
+ <code class="Cd">device udbc</code></p>
+<p class="Pp">In <a class="Xr">rc.conf(5)</a>:
+ <br/>
+ <code class="Cd">kld_list=&quot;udbc&quot;</code></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">The <code class="Nm">udbc</code> driver provides support for USB
+ Debug Class devices whose interface class is Diagnostic Class and the
+ subclass is DbC.GP.</p>
+<p class="Pp">The USB Debug Class is defined in the USB 3.1 Device Class
+ Specification for Debug Devices. This is designed to provide a
+ general-purpose communication channel for debugging. It has also been widely
+ implemented in USB xHCs (USB eXtensible Host Controllers), which can be
+ found on many commodity computers, as an optional feature. Once this feature
+ is enabled on a USB xHC, one of the USB ports will behave as a USB Debug
+ Class device, not a host port, when a USB debug cable is connected. The
+ supported class in USB xHCs is typically DbC.GP, while the specification
+ defines several types of Debug Class devices. The DbC.GP uses IN and OUT
+ endpoint pairs and realizes a single bidirectional serial communication
+ channel. On most systems, including <span class="Ux">FreeBSD</span>, the
+ DbC.GP is seen as a simple serial device.</p>
+<p class="Pp">Most systems with USB xHC can be configured to provide DbC.GP
+ access. The <code class="Nm">udbc</code> is a driver that connects to
+ DbC.GP-supported devices, offering <a class="Xr">tty(4)</a> devices to
+ connect to them via the <a class="Xr">ucom(4)</a> device driver.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HARDWARE_CONFIGURATION"><a class="permalink" href="#HARDWARE_CONFIGURATION">HARDWARE
+ CONFIGURATION</a></h1>
+<p class="Pp">A native DbC.GP device can be attached using the
+ <code class="Nm">udbc</code> driver in a straightforward way.</p>
+<p class="Pp">A USB xHC DbC.GP device on a target system needs a special
+ hardware configuration because all of the ports are supposed to be a USB
+ Host. There is one method to expose DbC.GP is to use a USB 3.1 A-to-A cable
+ (section 5.5.2 in USB 3.1 Legacy Cable and Connector Specification). When
+ this cable is connected to a USB 3.1 port on the target system, the
+ DbC-enabled USB xHC automatically switches the port as a USB Device. The
+ <code class="Nm">udbc</code> driver can find a DbC.GP device on that
+ port.</p>
+<p class="Pp">Note that a USB xHC with USB 3.2 support (USB Type-C connectors)
+ is not compatible with the USB 3.1 A-to-A cable. Connecting a USB 3.2 C-to-C
+ cable or A-to-C cable does not automatically work, either, because it needs
+ role configuration of the port, which is not supported on
+ <span class="Ux">FreeBSD</span> yet.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
+<dl class="Bl-tag Bl-compact">
+ <dt><span class="Pa">/dev/ttyU*.*</span></dt>
+ <dd>for callin ports</dd>
+ <dt><span class="Pa">/dev/ttyU*.*.init</span></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt><span class="Pa">/dev/ttyU*.*.lock</span></dt>
+ <dd>corresponding callin initial-state and lock-state devices
+ <p class="Pp"></p>
+ </dd>
+ <dt><span class="Pa">/dev/cuaU*.*</span></dt>
+ <dd>for callout ports</dd>
+ <dt><span class="Pa">/dev/cuaU*.*.init</span></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt><span class="Pa">/dev/cuaU*.*.lock</span></dt>
+ <dd>corresponding callout initial-state and lock-state devices</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">tty(4)</a>, <a class="Xr">ucom(4)</a>,
+ <a class="Xr">usb(4)</a>, <a class="Xr">xhci(4)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="STANDARDS"><a class="permalink" href="#STANDARDS">STANDARDS</a></h1>
+<p class="Pp"><cite class="Rs"><span class="RsT">eXtensible Host Controller
+ Interface for Universal Serial Bus (XHCI)</span>,
+ <a class="RsU" href="https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/extensible-host-controler-interface-usb-xhci.pdf">https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/extensible-host-controler-interface-usb-xhci.pdf</a>.</cite>
+ <cite class="Rs"><span class="RsT">USB 3.1 Device Class Specification for
+ Debug Devices</span>,
+ <a class="RsU" href="https://www.usb.org/sites/default/files/documents/usb_debug_class_rev_1_0_final_0.pdf">https://www.usb.org/sites/default/files/documents/usb_debug_class_rev_1_0_final_0.pdf</a>.</cite>
+ <cite class="Rs"><span class="RsT">USB 3.1 Legacy Cable and Connector
+ Specification</span>,
+ <a class="RsU" href="https://www.usb.org/document-library/usb-31-legacy-cable-and-connector-revision-10">https://www.usb.org/document-library/usb-31-legacy-cable-and-connector-revision-10</a>.</cite></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp">The <code class="Nm">udbc</code> driver first appeared
+ <span class="Ux">FreeBSD</span> 15.0.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
+<p class="Pp">The <code class="Nm">udbc</code> driver was written by
+ <span class="An">Hiroki Sato</span>
+ &lt;<a class="Mt" href="mailto:hrs@FreeBSD.org">hrs@FreeBSD.org</a>&gt;.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
+<p class="Pp">According to the XHCI specification the host side of USB Debug
+ should work with any USB 3.0 port, whether connected directly to a
+ controller or with a hub in between. Testing on some controllers has
+ encountered issues when using a hub rather than a directly connected port on
+ the controller.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">September 3, 2025</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>