CDCEEM(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

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 the cdceem driver. Set to 0 to disable logging or 1 to warn about potential problems. Larger values enable debugging output. Defaults to 1.
  • hw.usb.cdceem.send_echoes β€” if set to 1, 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 to 0. bestie, this is a debugging-only vibe.
  • hw.usb.cdceem.send_fake_crc β€” if set to 1, the driver will use 0xdeadbeef as the CRC value for outgoing Data EEM packets. Only use for debugging. Defaults to 0. 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