1.\" Copyright (c) 2019 Edward Tomasz Napierala <trasz@FreeBSD.org> 2.\" 3.\" Redistribution and use in source and binary forms, with or without 4.\" modification, are permitted provided that the following conditions 5.\" are met: 6.\" 1. Redistributions of source code must retain the above copyright 7.\" notice, this list of conditions and the following disclaimer. 8.\" 2. Redistributions in binary form must reproduce the above copyright 9.\" notice, this list of conditions and the following disclaimer in the 10.\" documentation and/or other materials provided with the distribution. 11.\" 12.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 13.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 15.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 16.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 17.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 18.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 19.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 20.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 21.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 22.\" SUCH DAMAGE. 23.\" 24.\" $FreeBSD$ 25.Dd November 7, 2019 26.Dt CDCEEM 4 27.Os 28.Sh NAME 29.Nm cdceem 30.Nd "USB Communication Device Class Ethernet Emulation Model (CDC EEM) driver" 31.Sh SYNOPSIS 32To compile this driver into the kernel, 33place the following lines in your 34kernel configuration file: 35.Bd -ragged -offset indent 36.Cd "device uhci" 37.Cd "device ohci" 38.Cd "device usb" 39.Cd "device miibus" 40.Cd "device uether" 41.Cd "device cdceem" 42.Ed 43.Pp 44Alternatively, to load the driver as a 45module at boot time, place the following line in 46.Xr loader.conf 5 : 47.Bd -literal -offset indent 48if_cdceem_load="YES" 49.Ed 50.Sh DESCRIPTION 51The 52.Nm 53driver provides support for USB devices based on the USB Communication 54Device Class Ethernet Emulation Model (CDC EEM) specification. 55.Pp 56The driver works on both host, and device-side; see 57.Xr usb_template 4 58for details. 59.Pp 60The USB device appears as a regular network interface on both sides, 61transporting Ethernet frames. 62.Pp 63For more information on configuring this device, see 64.Xr ifconfig 8 . 65.Pp 66The 67.Nm 68driver does not support different media types or options. 69.Sh SYSCTL VARIABLES 70The following variables are available as both 71.Xr sysctl 8 72variables and 73.Xr loader 8 74tunables: 75.Bl -tag -width indent 76.It Va hw.usb.cdceem.debug 77Verbosity level for log messages from the 78.Nm 79driver. 80Set to 0 to disable logging or 1 to warn about potential problems. 81Larger values enable debugging output. 82Defaults to 1. 83.It Va hw.usb.cdceem.send_echoes 84If set to 1, the driver will send an Echo EEM packet when the 85interface is brought up. 86While responding to Echo is mandatory, some devices cannot handle it. 87Only use for debugging. 88Defaults to 0. 89.It Va hw.usb.cdceem.send_fake_crc 90If set to 1, the driver will use 0xdeadbeef as the CRC value 91for outgoing Data EEM packets. 92Only use for debugging. 93Defaults to 0. 94.El 95.Sh SEE ALSO 96.Xr arp 4 , 97.Xr cdce 4 , 98.Xr intro 4 , 99.Xr ipheth 4 , 100.Xr netintro 4 , 101.Xr urndis 4 , 102.Xr usb 4 , 103.Xr usb_template 4 , 104.Xr ifconfig 8 105.Rs 106.%T "Universal Serial Bus Communications Class Subclass Specification for Ethernet Emulation Model Devices" 107.%U https://usb.org/sites/default/files/CDC_EEM10.pdf 108.Re 109.Sh HISTORY 110The 111.Nm 112device driver first appeared in 113.Fx 12.1 . 114.Sh AUTHORS 115The 116.Nm 117driver was written by 118.An Edward Tomasz Napierala Aq Mt trasz@FreeBSD.org 119under sponsorship from Hewlett Packard Enterprise. 120