USB class 02: Communications (CDC)
Communications
| Code | 02 |
|---|---|
| Name | Communications (CDC) |
| Subclasses | 12 |
| Class drivers (Linux) | cdc_acm, cdc_eem, cdc_ether, cdc_mbim, cdc_ncm, cdc_wdm and rndis_host |
Frequently asked questions
What is a USB device of class 02 (Communications (CDC))?
Class 02 stands for “Communications (CDC)”. It has 12 subclasses, for example Direct Line, Abstract (modem) and Telephone.
Which Linux drivers handle Communications (CDC)?
In Linux kernel 6.12 these drivers bind to devices by class, regardless of vendor: cdc_acm (02:02:00, 02:02:01, 02:02:02, 02:02:03 …), cdc_eem (02:0c:07), cdc_ether (02:06:00, 02:0a:00), cdc_mbim (02:0d:00, 02:0e:00), cdc_ncm (02:0d:00), cdc_wdm (02:09) and rndis_host (02:02:ff).
How do I find the class of a USB device?
On Linux, lsusb -v shows the bDeviceClass and bInterfaceClass fields. On Windows it appears in the compatible IDs as USB\Class_02&SubClass_XX.
Subclasses
| Code | Name | Protocols | Class drivers (Linux) |
|---|---|---|---|
02:01 | Direct Line | ||
02:02 | Abstract (modem) | 00 None01 AT-commands (v.25ter)02 AT-commands (PCCA101)03 AT-commands (PCCA101 + wakeup)04 AT-commands (GSM)05 AT-commands (3G)06 AT-commands (CDMA)fe Defined by command set descriptorff Vendor Specific (MSFT RNDIS?) | cdc_acm, rndis_host |
02:03 | Telephone | ||
02:04 | Multi-Channel | ||
02:05 | CAPI Control | ||
02:06 | Ethernet Networking | cdc_ether | |
02:07 | ATM Networking | ||
02:08 | Wireless Handset Control | ||
02:09 | Device Management | cdc_wdm | |
02:0a | Mobile Direct Line | cdc_ether | |
02:0b | OBEX | ||
02:0c | Ethernet Emulation | 07 Ethernet Emulation (EEM) | cdc_eem |