diff options
Diffstat (limited to 'static/freebsd/man4/udbc.4 3.html')
| -rw-r--r-- | static/freebsd/man4/udbc.4 3.html | 128 |
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> — <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="udbc"</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;"> </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;"> </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> + <<a class="Mt" href="mailto:hrs@FreeBSD.org">hrs@FreeBSD.org</a>>.</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> |
