CDCEEM(4)
hey bestie π welcome to CDCEEM(4) from the Kernel Interfaces Manual β aka the page for the USB Communication Device Class Ethernet Emulation Model driver. buckle up, this one's actually pretty chill.
πΈ NAME πΈ
cdceem β USB Communication Device Class Ethernet Emulation Model driver
β¨ SYNOPSIS β¨
okay so if you want this driver compiled into the kernel, drop these lines into your kernel configuration file, exactly like this:
device uhci
device ohci
device usb
device miibus
device uether
device cdceem
or, if you'd rather load it as a module at boot time, put this line in loader.conf(5):
if_cdceem_load="YES"
π¦ DESCRIPTION π¦
The cdceem driver provides support for USB devices based on the USB Communication Device Class Ethernet Emulation Model (CDC EEM) specification. iconic spec behavior, honestly.
The driver works on both host, and device-side; see usb_template(4) for details.
The USB device appears as a regular network interface on both sides, transporting Ethernet frames. yes bestie, frames on frames π
For more information on configuring this device, see ifconfig(8).
The cdceem driver does not support different media types or options. that's the whole tea π«
π SYSCTL VARIABLES π
The following variables are available as both sysctl(8) variables and loader(8) tunables:
hw.usb.cdceem.debugβ verbosity level for log messages from thecdceemdriver. Set to0to disable logging or1to warn about potential problems. Larger values enable debugging output. Defaults to1.hw.usb.cdceem.send_echoesβ if set to1, the driver will send an Echo EEM packet when the interface is brought up. While responding to Echo is mandatory, some devices cannot handle it. Only use for debugging. Defaults to0. bestie, this is a debugging-only vibe.hw.usb.cdceem.send_fake_crcβ if set to1, the driver will use0xdeadbeefas the CRC value for outgoing Data EEM packets. Only use for debugging. Defaults to0. again: debugging only, no cap.
π SEE ALSO π
arp(4), cdce(4), intro(4), ipheth(4), netintro(4), urndis(4), usb(4), usb_template(4), ifconfig(8)
also this spec: Universal Serial Bus Communications Class Subclass Specification for Ethernet Emulation Model Devices, https://usb.org/sites/default/files/CDC_EEM10.pdf.
π HISTORY π
The cdceem device driver first appeared in FreeBSD 12.1. love that journey for it β¨
π AUTHORS π
The cdceem driver was written by Edward Tomasz Napierala <trasz@FreeBSD.org> under sponsorship from Hewlett Packard Enterprise.
okay that's the whole page bestie π«Ά this footer vibe is Debian, September 18, 2025, and CDCEEM(4). periodt π
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- π the page's license: BSD-2-Clause
- Copyright (c) 2019 Edward Tomasz Napierala <trasz@FreeBSD.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms