Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CDCE(4)			    Kernel Interfaces Manual		       CDCE(4)

NAME
       cdce -- USB Communication Device	Class Ethernet (ECM/NCM) driver

SYNOPSIS
       To  compile  this  driver into the kernel, place	the following lines in
       your kernel configuration file:

	     device uhci
	     device ohci
	     device usb
	     device miibus
	     device uether
	     device cdce

       Mobile Devices (e.g., Huawei E3372, E5573 and others)  may  need	 addi-
       tionally	the u3g	command	port:

	     device ucom
	     device u3g

       Alternatively,  to  load	the driver as a	module at boot time, place the
       following line in loader.conf(5):

	     if_cdce_load="YES"

DESCRIPTION
       The cdce	driver provides	support	for USB	Host-to-Host (aka  USB-to-USB)
       and USB-to-Ethernet bridges based on the	USB Communication Device Class
       Ethernet	 Control  Model	 (CDC ECM) and Network Control Model (CDC NCM)
       specifications.	It also	provides device-side CDC ECM support.

       The USB bridge appears as a regular network interface  on  both	sides,
       transporting Ethernet frames.

       For more	information on configuring this	device,	see ifconfig(8).

       USB  1.x	 bridges support speeds	of up to 12Mbps, and USB 2.0 speeds of
       up to 480Mbps.

       Packets are received and	transmitted over separate  USB	bulk  transfer
       endpoints.

       The cdce	driver does not	support	different media	types or options.

HARDWARE
       The  cdce  driver supports USB Ethernet interfaces implementing the USB
       Communication Device Class Ethernet Control Model (CDC ECM) or  Network
       Control Model (CDC NCM) protocol, such as:

          Android USB tethering
          iPhone USB tethering
          Prolific PL-2501 Host-to-Host Bridge	Controller
          Sharp Zaurus	PDA
          Terayon TJ-715 DOCSIS Cable Modem
          Huawei  3G/4G LTE (e.g., E3372, E5573) and other mobile network de-
	   vices

EXAMPLES
       Mobile cdce Network Devices may need a connect command sequence via the
       u3g(4) serial command port before activating  the  NCM/ECM/ACM  network
       interface.  For example:

	     echo 'AT^NDISUP=1,1,"internet"' > /dev/cuaU[0].0

       Wwhere "internet" is your providers apn name.

DIAGNOSTICS
       cdce%d:	no  union  descriptor  The driver could	not fetch an interface
       descriptor from the USB device.	For a manually added USB  vendor/prod-
       uct, the	CDCE_NO_UNION flag can be tried	to work	around the missing de-
       scriptor.

       cdce%d: no data interface
       cdce%d: could not read endpoint descriptor
       cdce%d: unexpected endpoint
       cdce%d:	could not find data bulk in/out	 For a manually	added USB ven-
       dor/product, these errors indicate that the bridge  is  not  compatible
       with the	driver.

       cdce%d:	watchdog  timeout   A packet was queued	for transmission and a
       transmit	command	was issued, however the	device failed  to  acknowledge
       the transmission	before a timeout expired.

       cdce%d:	no  memory  for	 rx list -- packet dropped!  Memory allocation
       through MGETHDR or MCLGET failed, the system is running low on mbufs.

       cdce%d: abort/close rx/tx pipe failed
       cdce%d: rx/tx list init failed
       cdce%d: open rx/tx pipe failed
       cdce%d: usb error on rx/tx

SEE ALSO
       arp(4), cdceem(4), intro(4), ipheth(4), netintro(4),  u3g(4),  ucom(4),
       urndis(4), usb(4), ifconfig(8)

       Universal  Serial  Bus  Class  Definitions  for	Communication Devices,
       http://www.usb.org/developers/devclass_docs/usbcdc11.pdf.

       Data sheet Prolific  PL-2501  Host-to-Host  Bridge/Network  Controller,
       http://tech.prolific.com.tw/visitor/fcabdl.asp?fid=20679530.

HISTORY
       The  cdce  device  driver first appeared	in OpenBSD 3.6,	NetBSD 3.0 and
       FreeBSD 6.0.

AUTHORS
       The cdce	driver was  written  by	 Craig	Boston	<craig@tobuj.gank.org>
       based  on  the aue(4) driver written by Bill Paul <wpaul@windriver.com>
       and ported to OpenBSD by	Daniel Hartmeier <dhartmei@openbsd.org>.

CAVEATS
       Many USB	devices	notoriously fail to report their class and  interfaces
       correctly.  Undetected products might work flawlessly when their	vendor
       and product IDs are added to the	driver manually.

FreeBSD	ports 15.1	       December	23, 2025		       CDCE(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cdce&sektion=4&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help