CDC EEM Subclass Overview
Overview
A CDC EEM device is composed of the following endpoints:
- A pair of Bulk IN and OUT endpoints.
Table - CDC EEM Subclass Endpoints Usage describes the usage of the different endpoints:
Endpoint | Direction | Usage | |
---|---|---|---|
Bulk In | Device-to-host | Send Ethernet frames and commands to host. | |
Bulk OUT | Host-to-device | Receive Ethernet frames and commands from host. |
CDC EEM Messages
CDC EEM defines a header that is prepended to each message sent to / received from the host. The CDC EEM header has a size of two bytes. A USB transfer on the Bulk endpoints can contain multiple EEM messages. An EEM message can also span on multiple USB transfers.
Table - CDC EEM Message Format describes the content of a CDC EEM message.
Bytes | 0..1 | 2..N |
---|---|---|
Content | Header | Payload (optional) |
Table - CDC EEM Header Format describes the content of a CDC EEM header.
Bit | 15 | 14 .. 0 |
---|---|---|
Content | bmType | Depends on bmType value |
- bmType represents the message type, either a regular Ethernet frame or a CDC EEM specific command.
Bit | 15 | 14 | 13 .. 0 |
---|---|---|---|
Content | bmType (0) | bmCRC | Length of Ethernet frame |
- bmCRC indicates if the CRC was calculated on the Ethernet frame. If not, CRC is set to 0xDEADBEEF.
Bit | 15 | 14 | 13 .. 11 | 10 .. 0 |
---|---|---|---|---|
Content | bmType (1) | bmReserved (0) | bmEEMCmd | bmEEMCmdParam |
- bmEEMCmd represents the command code to execute.
- bmEEMCmdParam contains command data. Fomat depends on the bmEEMCmd.
For more information on CDC EEM messages format, see "Universal Serial Bus Communications Class Subclass Specification for Ethernet Emulation Model Devices" revision 1.0. February 2, 2005, section 5.1.