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