USB class 0x02 — Communications
Class code 0x02 marks a device or interface as Communications. Operating systems read this value from the descriptor and bind a generic class driver, which is why most communications hardware works without a vendor driver even when the VID:PID pair is unrecognised.
How it appears on your system
$ lsusb -v
bInterfaceClass 2 CommunicationsWindows exposes the same value in the compatible IDs list as USB\Class_02, extended with &SubClass_xx&Prot_xx for the subclass and protocol below.
Subclass and protocol codes
| Subclass | Protocol | Meaning |
|---|---|---|
| 01 | — | Direct Line |
| 02 | — | Abstract (modem) |
| 02 | 00 | None |
| 02 | 01 | AT-commands (v.25ter) |
| 02 | 02 | AT-commands (PCCA101) |
| 02 | 03 | AT-commands (PCCA101 + wakeup) |
| 02 | 04 | AT-commands (GSM) |
| 02 | 05 | AT-commands (3G) |
| 02 | 06 | AT-commands (CDMA) |
| 02 | fe | Defined by command set descriptor |
| 02 | ff | Vendor Specific (MSFT RNDIS?) |
| 03 | — | Telephone |
| 04 | — | Multi-Channel |
| 05 | — | CAPI Control |
| 06 | — | Ethernet Networking |
| 07 | — | ATM Networking |
| 08 | — | Wireless Handset Control |
| 09 | — | Device Management |
| 0a | — | Mobile Direct Line |
| 0b | — | OBEX |
| 0c | — | Ethernet Emulation |
| 0c | 07 | Ethernet Emulation (EEM) |
Looking up a specific device instead? Search by VID:PID or browse the vendor directory.