Driver for the CDC ECM USB Ethernet control module
Syntax:
io-pkt-variant -d ecm ...
where variant is v4-hc or
v6-hc.
Options:
- bufsz=bytes
- The internal buffer size for the AT command (default 2048).
- busnum=num
- Attach to a specific device on the USB bus with the given number.
- devnum=num
- Attach to a specific USB device address.
- ign_remove
- Ignore the USB removal callback; the user should handle device removal.
- path=name
- Connect to the specified USB stack. The default is /dev/usb/io-usb-otg.
- pnp
- Keep the driver loaded across device insertion and removal.
Note:
When you use the pnp option, the DLL remains loaded and
connected to the USB stack.
Ethernet interfaces are created as devices are inserted.
If you use ifconfig ecmX destroy to remove the
last interface, the DLL is unloaded.
This means that the driver currently doesn't support being removed and inserted again.
- receive=N
- The number of receive URBs; the default is 64.
- transmit=N
- The number of transmit URBs; the default is 64.
- verbose
- Be verbose.
The output goes to
slogger2;
invoke
slog2info
to view it.
- wait=num
- Wait num seconds for the USB stack (default 60 seconds).
Description:
The devnp-ecm.so driver manages the
CDC ECM USB Ethernet control module.
Its interface names are in the form ecmX, where
X is an integer.
Launcher applications that get notifications of device insertions and removals
can use the busnum and devnum options.
These applications mount the DLL to target specific devices connected to
the USB.
When the device is removed, it is expected that the launcher will
also unmount the interface associated with interface.
For io-pkt* drivers, you can't use umount to unload
the DLL, but you can use ifconfig's destroy command
to unload DLL.
The driver provides an additional interface serecmX
under /dev for AT commands.
You can send AT commands and receive responses through this interface.
Some devices support hardware checksums, although some might do so in
only one direction; to determine if your device does, type:
ifconfig ecmX
and look for the following in the list of supported options:
- ip4csum, ip4csum-rx, ip4csum-tx
- tcp4csum, tcp4csum-rx, tcp4csum-tx
- tcp6csum, tcp6csum-rx, tcp6csum-tx
- udp4csum, udp4csum-rx, udp4csum-tx
- udp6csum, udp6csum-rx, udp6csum-tx
You can then use
ifconfig
to enable or disable whichever of these options your device supports.
Note:
The network drivers don't put entries
into the
/dev namespace, so a
waitfor
command for such an entry won't work properly in buildfiles or scripts.
Use
if_up -p
instead; for example,
if_up -p ecm0.
Examples:
Start the v4 TCP/IP variant of io-pkt using the
devnp-ecm.so driver:
io-pkt-v4-hc -d ecm verbose -ptcpip
ifconfig ecm0 10.184
Unload the DLL:
ifconfig ecm0 down
ifconfig ecm0 destroy