Chapter 16
- The Ethernet emulation model (EEM) defines an efficient way for devices
to send and receive Ethernet frames.
Note that there are three options for Ethernet devices: the networking model
(Ethernet networking control subclass), the more recently defined Ethernet
emulation model, and the POTs model (abstract control subclass) using the
Microsoft-specific NDIS.
Notifications announce events such as changes in RS-232 status signals.
Devices typically use an interrupt endpoint to send notifications, though the
standard allows using bulk endpoints. Each notification contains an 8-byte
header with a 2-byte field for data. Some notification types include additional
data that follows the header.
Class-specific control requests enable the host to get and set communication
parameters and status and control signals.
For reliable data transfers, many cell phones use the OBEX protocol originally
developed for infrared communications. The WMC specification defines an
OBEX model subclass for this purpose.
$ 8
Most virtual COM-port devices use one interrupt endpoint address and two
bulk endpoint addresses. The controller must support full or high speed
because low-speed USB doesn’t allow bulk transfers. Just about any full- or
high-speed USB device controller will have the needed number of endpoints for
a CDC device.
9
$8
Theusbser.sys driver included with Windows 98 SE and later is suitable for use
with modems and virtual COM ports. Each device that uses usbser.sys must
have an INF file that contains the device’s USB Vendor ID and Product ID.
Windows doesn’t provide a generic INF file for USB virtual COM-port devices
as it does for other device classes.
For better performance, some devices use vendor-specific drivers that perform
the functions of the serial.sys, usbser.sys, and serenum.sys drivers included with
Windows. Limitations of the Windows drivers in USB virtual COM-port com-
munications include slow performance, lack of support for reading RS-232’s
CTS status signal at the host, and limited support for composite devices with
CDC interfaces. OBEX support requires a vendor-provided driver. New Win-