Manual

Network Device for the eCos TCP/IP Stack
Name
Network Device — USB-ethernet support for the eCos TCP/IP Stack
Description
If the USB peripheral involves running the eCos TCP/IP stack and that stack needs to use USB-ethernet as a
transport layer (or as one of the transports), then the USB-ethernet package can provide a suitable network device
driver. It is still necessary for higher-level code to perform appropriate initialization by calling usbs_eth_init,
but after that it will be the TCP/IP stack rather than application code that transmits or receives ethernet frames.
Not all peripherals involving the USB-ethernet package will require a TCP/IP stack. Hence the provision of the
network device is controlled by a configuration option CYGPKG_USBS_ETHDRV. By default this will be enabled if
the TCP/IP package CYGPKG_NET is loaded, and disabled otherwise.
There are a number of other configuration options related to the network device. CYG-
FUN_USBS_ETHDRV_STATISTICS determines whether or not the package will maintain statistics, mainly intended
for SNMP: by default this will be enabled if the SNMP support package CYGPKG_SNMPAGENT is loaded, and
disabled otherwise. The name of the ethernet device is controlled by CYGDATA_USBS_ETHDRV_NAME, and has a
default value of either eth0 or eth1 depending on whether or not there is another network device driver present
in the configuration.
Usually eCos network device drivers default to using DHCP for obtaining necessary information such as IP ad-
dresses. This is not appropriate for USB-ethernet devices. On the host-side the USB-ethernet network device will
not exist until the USB peripheral has been plugged in and communication has been established. Therefore any
DHCP daemon on the host would not be listening on that network device at the point that eCos requests its IP
and other information. A related issue is that the use of DHCP would imply the presence of a DHCP daemon on
every affected host machine, as opposed to a single daemon (plus backups) for the network as a whole. For these
reasons the USB-ethernet package precludes the use of DHCP as a way of setting the IP address, instead requiring
alternatives such as manual configuration.
635