Provided by: freebsd-manpages_12.2-1_all bug

NAME

     udbp — USB Double Bulk Pipe driver

SYNOPSIS

     To compile this driver into the kernel, place the following line in your kernel
     configuration file:

           device udbp

     Alternatively, to load the driver as a module at boot time, place the following line in
     loader.conf(5):

           udbp_load="YES"

DESCRIPTION

     The udbp 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 Windows
     USB Easy Transfer, 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 SEE
     ALSO section below.

     It requires netgraph(4) to be available.  This can be done either by adding options NETGRAPH
     to your kernel configuration file, or alternatively loading netgraph(4) as a module, either
     from /boot/loader.conf or from the command line, before the udbp module.

EXAMPLES

           options NETGRAPH
           device udbp

     Add the udbp driver to the kernel.

           kldload netgraph
           kldload udbp

     Load the netgraph(4) module and then the udbp driver.

           ngctl mkpeer udbp0: eiface data ether
           ifconfig ngeth0 ether aa:dd:xx:xx:xx
           ifconfig ngeth0 inet 169.254.x.x/16

     Create a new Ethernet network interface node and connect its ether hook to the data hook of
     the udbp driver.

     This enables FreeBSD to communicate with a Linux peer (e.g. using the plusb 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).

     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.

SEE ALSO

     netgraph(4), ng_eiface(4), ohci(4), uhci(4), usb(4), ngctl(8)

     Universal Serial Bus: Communications Class Subclass Specification for Ethernet Emulation
     Model Devices, USB Implementers Forum, Inc., Revision 1.0,
     http://www.usb.org/developers/docs/devclass_docs/CDC_EEM10.pdf, February 2, 2005.

     Total Commander: Supported cables for USB cable connection, Ghisler Software GmbH.,
     https://www.ghisler.com/cables/index.htm.

CAVEATS

     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.

     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.

HISTORY

     The udbp driver first appeared in FreeBSD 5.0.

BUGS

     The udbp driver does not support the special packets described in section 5.1 of the CDC EEM
     specification.

AUTHORS

     The udbp driver was written by Doug Ambrisko <ambrisko@whistle.com>, Julian Elischer
     <julian@FreeBSD.org> and Nick Hibma <n_hibma@FreeBSD.org>.

     This manual page was written by Nick Hibma <n_hibma@FreeBSD.org> and updated by Bruce
     Simpson <bms@FreeBSD.org>.