xref: /freebsd/share/man/man4/cdceem.4 (revision a7623790fb345e6dc986dfd31df0ace115e6f2e4)
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