eCos Support for Developing USB-ethernet Peripherals
Prev |  | Next

# 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. `CYGFUN_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 `eth0` . If there are other network device drivers present in the configuration then it is the responsibility of the application developer to give each device a unique name.

Prev | Home | Next
USB-ethernet State Handling |  | Example Host-side Device Driver