N
Glam Journal

What is NCM in USB?

Author

William Burgess

Updated on March 11, 2026

What is NCM in USB?

The USB CDC Network Control Model (NCM) sets the networking performance standard for high-speed, next-gen mobile devices. As LTE networks become ubiquitous for mobile and IoT data service, product designers are forced to optimize all aspects of the connection between the local equipment and the network.

What is CDC NCM?

emUSB-Device Communication Device Class – Network Control Model (CDC-NCM) 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 Linux or macOS.

What is CDC in networking?

The Communication Device Class (CDC) supports a wide range of devices that can perform telecommunications and networking functions. Examples for communications equipment are: Telecommunications devices, such as analog phones and modems, ISDN terminal adapters, digital phones, as well as COM-port devices.

How does USB CDC work?

USB communications device class (or USB CDC class) is a composite Universal Serial Bus device class. The communications device class is used for computer networking devices akin to a network card, providing an interface for transmitting Ethernet or ATM frames onto some physical media.

What is CDC ECM?

This embedded USB Communications Device Class – Ethernet Control Module subclass (CDC-ECM) class driver is used to send and receive Ethernet frames over USB. The package is a function device implementation of this class. It emulates an Ethernet device but uses USB instead of Ethernet as the medium.

What is USB CDC ACM?

USB CDC (Communications Device Class) ACM (Abstract Control Model) is a vendor-independent publicly documented protocol that can be used for emulating serial ports over USB.

How fast is USB CDC?

If your code is “fast enough”, the maximum CDC speed is about 1MByte/sec .

What is USB CDC?

USB communications device class
The USB communications device class (CDC) is a composite USB device class, and the class may include more than one interface. The CDC is used primarily for modems, but also for ISDN, fax machines, and telephony applications for performing regular voice calls.

What is NCM driver?

NCM provides TCP/IP connectivity, with IPv4 and IPv6. It can bridge to a physical USB adapter, it can connect to a wireless LTE modem, or it can connect to a TCP/IP stack on the USB device.

What is CDC Abstract Control Model?

Description. USB Host functions to support Communication Device Class (CDC) Abstract Control Model (ACM) USB Devices. The CDC ACM class in the USB Host Component is used for attaching communication devices to your system.

How do I use a USB composite device?

Hardware Setup

  1. Verify all jumper settings on the target hardware.
  2. Insert a SD card into the socket.
  3. Use an USB cable to connect your development board to the Host PC and power up your board.
  4. Wait for the driver installation on the PC to complete.

How do I find my USB composite device?

key simultaneously to open the Run box. Type devmgmt. msc and press Enter. In Device Manger, scroll down to find Universal Serial Bus controllers and expand the entry.

Does the Linux kernel support CDC (NCM) USB devices?

The Linux Kernel provides native support for the CDC (NCM) USB Device class. This example shows how to connect a Ubuntu system via USB to an MCBSTM32F400 development board. The following picture shows an exemplary connection of the development board (in this case a MCBSTM32F400) to a host PC.

How does the USB CDC ACM device work with the development board?

Here, the USB Host sends “Test!” to the USB CDC ACM Device and stores all incoming data from the device into the array receive_buf. The following picture shows an exemplary connection of the development board and an USB CDC ACM Device implemented on another development board.

What does usbusbd_CDC_NCM_notify_networkconnection do?

USBD_CDC_NCM_Notify_NetworkConnection — Report whether or not the physical layer (modem, Ethernet PHY, etc.) link is up to the USB Host. USBD_CDC_NCM_NTB_IN_CreateNDP — Create a new NDP in the NTB (datagrams can be added to it) USBD_CDC_NCM_NTB_IN_IsSent — Check if NTB was sent and new NTB can be prepared.

What is the CDC (NCM) protocol?

One of the most advanced protocols is the CDC (NCM) class which is supported by the USB Component. The usbnet Kernel module in Linux hosts enables you to attach a USB Device to the host to emulate an Ethernet device. There is no native Ethernet-over-USB support in Windows. CDC: Communication Device Class for an overview of the CDC class.