Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Wiki
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • emUSB-Device
  • CDC-ECM Class
  • Technology
  • Add-Ons
SEGGER emUSB-Device product-icon

emUSB-Device CDC-ECM class

emUSB-Device Communication Device Class - Ethernet Control Model (CDC-ECM) enables a USB device to act as a virtual network adapter. This can be used to run TCP/IP-based applications over USB.

  • Makes any TCP/IP application available using USB
  • No host driver needed for macOS & Linux
  • Small footprint, typically 1.2KB RAM and 1.6KB ROM
  1. 1.USB-based webserver
    1. 1.1.Typical Applications
  2. 2.Application Samples emUSB-Device CDC-ECM Class
  3. 3.Components

USB-based webserver

The most noteworthy application is a USB-based webserver. The USB webserver allows users to configure their device and to view data using a web browser. This saves development costs as there is no need to develop an application for every major operating system which would allow the user to interact with the USB device. The hardware costs can also be reduced as an Ethernet interface is not required.

ethernet 2 usb

Typical Applications

  • Router/gateway
  • USB to Ethernet adapter
  • Configuring a USB device using a web browser

Application Samples emUSB-Device CDC-ECM Class

USB 2 Ethernet Adapter

USB to Ethernet Adapter

Router

Router/Gateway

Components

emUSB-Device CDC-ECM comes as a complete package and contains the following components:

  • CDC-ECM device class implementation
  • Network interface driver which uses emNet as a TCP/IP stack
  • A sample application demonstrating how to work with CDC-ECM

The CDC-ECM Class is a standard USB class protocol defined by the USB.org consortium.
A TCP/IP stack like emNet is required on the USB device side to handle the actual IP communication.
Any available IP protocol (UDP, TCP, FTP, HTTP, etc.) can be used to exchange data.

Linux kernel versions newer than 2.6.22 have full support for CDC-ECM. macOS supports CDC-ECM natively from version 10.4 (Tiger).
For Windows a CDC-ECM driver is required.

One Bulk IN, one Bulk OUT and one Interrupt IN endpoint are required for emUSB-Device CDC-ECM.

emUSB-Device CDC-ECM can be used in combination with other interfaces (Bulk, CDC, MSD, MTP, HID) without any issues.

On a typical Cortex-M CPU running at 120MHz a transfer speed of about 5 MB/s can be achieved when using a high-speed USB connection.

Components required to use CDC-ECM:

  • emUSB CDC-ECM
  • emUSB-Device core
  • emUSB target driver
  • emNet (IP stack)

Resource usage of all components of emUSB-Device

emUSB Device cdc ecm class structure

More Information

Purchase

  • Pricing

Technology

  • Combining Interfaces/Addons
  • Samples
  • Drivers
  • Performance
  • Resource usage
  • WebUSB

Add-Ons

  • Audio
  • Bulk Component
  • CDC Class
  • CDC-ECM Class
  • CDC-NCM Class
  • DFU Class
  • HID Class
  • IP-over-USB
  • MSD Class
  • MTP Class
  • Printer Class
  • RNDIS Class
  • Video
  • VirtualMSD Component
  • CCID
  • MIDI

About us

  • The Company
  • Partners
  • Job Offers
  • Media
  • Contact us

Support

  • Technical Support
  • Blog
  • Forum
  • Wiki

Downloads

  • Application Notes
  • Embedded Studio
  • embOS
  • emCompress
  • emCrypt
  • emFile
  • emLib
  • emLoad
  • emModbus
  • emNet
  • emPower
  • emSecure
  • emSSH
  • emSSL
  • emUSB-Device
  • emUSB-Host
  • emVNC
  • emWin
  • Flasher
  • Free Utilities
  • IoT
  • J-Link / J-Trace
  • Linux Studio
  • SystemView
  • CE / REACH

Social Media

Headquarters

SEGGER Microcontroller GmbH

Ecolab-Allee 5
40789 Monheim am Rhein, Germany
info@segger.com
Tel.: +49-2173-99312-0
Fax: +49-2173-99312-28

Locations

USA: SEGGER Microcontroller Systems LLC

Boston area
101 Suffolk Lane
Gardner, MA 01440, USA
us-east@segger.com
Tel.: +1-978-874-0299
Fax: +1-978-874-0599

Silicon Valley
Milpitas, CA 95035, USA
us-west@segger.com
Tel.: +1-408-767-4068

China: SEGGER Microcontroller China Co., Ltd.

Room 218, Block A, Dahongqiaoguoji
No. 133 Xiulian Road
Minhang District, Shanghai 201199, China
china@segger.com
Tel.: +86-133-619-907-60

ISO 9001 certified

ISO 9001

30+ years of experience

First-class embedded software tools since 1992
  • Imprint
  • Disclaimer
  • Privacy Policy

© 2023 SEGGER - All rights reserved.