1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
<table class="head">
<tr>
<td class="head-ltitle">UDBP(4)</td>
<td class="head-vol">Device Drivers Manual</td>
<td class="head-rtitle">UDBP(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">udbp</code> — <span class="Nd">USB Double
Bulk Pipe driver</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp">To compile this driver into the kernel, place the following line
in your kernel configuration file:</p>
<div class="Bd Pp Bd-indent"><code class="Cd">device udbp</code></div>
<p class="Pp">Alternatively, to load the driver as a module at boot time, place
the following line in <a class="Xr">loader.conf(5)</a>:</p>
<div class="Bd Pp Bd-indent Li">
<pre>udbp_load="YES"</pre>
</div>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">udbp</code> driver provides support for
host-to-host cables that contain at least two bulk pipes (one for each
direction). This typically includes cables branded for use with
<a class="permalink" href="#Windows"><b class="Sy" id="Windows">Windows USB
Easy Transfer</b></a>, and many cables based on the Prolific PL2xx1 series
of USB bridge chips. A useful (but non-comprehensive) list of compatible USB
host cables is listed in the <a class="Sx" href="#SEE_ALSO">SEE ALSO</a>
section below.</p>
<p class="Pp">It requires <a class="Xr">netgraph(4)</a> to be available. This
can be done either by adding <code class="Cd">options NETGRAPH</code> to
your kernel configuration file, or alternatively loading
<a class="Xr">netgraph(4)</a> as a module, either from
<span class="Pa">/boot/loader.conf</span> or from the command line, before
the <code class="Nm">udbp</code> module.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
<div class="Bd Bd-indent"><code class="Li">options NETGRAPH</code></div>
<div class="Bd Bd-indent"><code class="Li">device udbp</code></div>
<p class="Pp">Add the <code class="Nm">udbp</code> driver to the kernel.</p>
<p class="Pp"></p>
<div class="Bd Bd-indent"><code class="Li">kldload netgraph</code></div>
<div class="Bd Bd-indent"><code class="Li">kldload udbp</code></div>
<p class="Pp">Load the <a class="Xr">netgraph(4)</a> module and then the
<code class="Nm">udbp</code> driver.</p>
<p class="Pp"></p>
<div class="Bd Bd-indent"><code class="Li">ngctl mkpeer udbp0: eiface data
ether</code></div>
<div class="Bd Bd-indent"><code class="Li">ifconfig ngeth0 ether
aa:dd:xx:xx:xx</code></div>
<div class="Bd Bd-indent"><code class="Li">ifconfig ngeth0 inet
169.254.x.x/16</code></div>
<p class="Pp">Create a new Ethernet network interface node and connect its ether
hook to the data hook of the <code class="Nm">udbp</code> driver.</p>
<p class="Pp" id="plusb">This enables FreeBSD to communicate with a Linux peer
(e.g. using the
<a class="permalink" href="#plusb"><b class="Sy">plusb</b></a> driver). The
Linux node should be configured to prefer link-local IPv4 addresses (e.g.
using Network Manager in Debian and Red Hat derived distributions).</p>
<p class="Pp">Whilst both FreeBSD and Linux are able to interoperate by loosely
following CDC EEM 1.0 in their behaviour, neither implementation has been
expressly designed to follow its specification.</p>
</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">netgraph(4)</a>, <a class="Xr">ng_eiface(4)</a>,
<a class="Xr">ohci(4)</a>, <a class="Xr">uhci(4)</a>,
<a class="Xr">usb(4)</a>, <a class="Xr">ngctl(8)</a></p>
<p class="Pp"><cite class="Rs"><i class="RsB">Universal Serial Bus:
Communications Class Subclass Specification for Ethernet Emulation Model
Devices</i>, <i class="RsI">USB Implementers Forum, Inc.</i>,
<span class="RsN">Revision 1.0</span>,
<a class="RsU" href="http://www.usb.org/developers/docs/devclass_docs/CDC_EEM10.pdf">http://www.usb.org/developers/docs/devclass_docs/CDC_EEM10.pdf</a>,
<span class="RsD">February 2, 2005</span>.</cite></p>
<p class="Pp"><cite class="Rs"><i class="RsB">Total Commander: Supported cables
for USB cable connection</i>, <i class="RsI">Ghisler Software GmbH.</i>,
<a class="RsU" href="https://www.ghisler.com/cables/index.htm">https://www.ghisler.com/cables/index.htm</a>.</cite></p>
</section>
<section class="Sh">
<h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1>
<p class="Pp">The point-to-point nature and additional latency of USB host-host
links makes them unsuitable as a "drop-in" replacement for an
Ethernet LAN; for a USB 3.0 SuperSpeed cable, latency is comparable to
100BaseTX Ethernet (but often worse), with throughput comparable to
2.5GBASE-T.</p>
<p class="Pp">However, their energy efficiency makes them attractive for
embedded applications. A Plugable PL27A1 cable claims 24mA of USB3 bus
power, as compared to 150mA for a typical USB 3.0 to Gigabit Ethernet
interface.</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">udbp</code> driver first appeared in
<span class="Ux">FreeBSD 5.0</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
<p class="Pp">The <code class="Nm">udbp</code> driver does not support the
special packets described in section 5.1 of the CDC EEM specification.</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">udbp</code> driver was written by
<span class="An">Doug Ambrisko</span>
<<a class="Mt" href="mailto:ambrisko@whistle.com">ambrisko@whistle.com</a>>,
<span class="An">Julian Elischer</span>
<<a class="Mt" href="mailto:julian@FreeBSD.org">julian@FreeBSD.org</a>>
and <span class="An">Nick Hibma</span>
<<a class="Mt" href="mailto:n_hibma@FreeBSD.org">n_hibma@FreeBSD.org</a>>.</p>
<p class="Pp">This manual page was written by <span class="An">Nick Hibma</span>
<<a class="Mt" href="mailto:n_hibma@FreeBSD.org">n_hibma@FreeBSD.org</a>>
and updated by <span class="An">Bruce Simpson</span>
<<a class="Mt" href="mailto:bms@FreeBSD.org">bms@FreeBSD.org</a>>.</p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">October 20, 2017</td>
<td class="foot-os">FreeBSD 15.0</td>
</tr>
</table>
|