]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/ref/usbseth-netdev.html
RedBoot TX53 Release 2012-02-15
[karo-tx-redboot.git] / doc / html / ref / usbseth-netdev.html
1 <!-- Copyright (C) 2003 Red Hat, Inc.                                -->
2 <!-- This material may be distributed only subject to the terms      -->
3 <!-- and conditions set forth in the Open Publication License, v1.0  -->
4 <!-- or later (the latest version is presently available at          -->
5 <!-- http://www.opencontent.org/openpub/).                           -->
6 <!-- Distribution of the work or derivative of the work in any       -->
7 <!-- standard (paper) book form is prohibited unless prior           -->
8 <!-- permission is obtained from the copyright holder.               -->
9 <HTML
10 ><HEAD
11 ><TITLE
12 >Network Device for the eCos TCP/IP Stack</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
14 <META
15 NAME="GENERATOR"
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17 "><LINK
18 REL="HOME"
19 TITLE="eCos Reference Manual"
20 HREF="ecos-ref.html"><LINK
21 REL="UP"
22 TITLE="eCos Support for Developing USB-ethernet Peripherals"
23 HREF="io-usb-slave-eth.html"><LINK
24 REL="PREVIOUS"
25 TITLE="USB-ethernet State Handling"
26 HREF="usbseth-control.html"><LINK
27 REL="NEXT"
28 TITLE="Example Host-side Device Driver"
29 HREF="usbseth-host.html"></HEAD
30 ><BODY
31 CLASS="REFENTRY"
32 BGCOLOR="#FFFFFF"
33 TEXT="#000000"
34 LINK="#0000FF"
35 VLINK="#840084"
36 ALINK="#0000FF"
37 ><DIV
38 CLASS="NAVHEADER"
39 ><TABLE
40 SUMMARY="Header navigation table"
41 WIDTH="100%"
42 BORDER="0"
43 CELLPADDING="0"
44 CELLSPACING="0"
45 ><TR
46 ><TH
47 COLSPAN="3"
48 ALIGN="center"
49 >eCos Reference Manual</TH
50 ></TR
51 ><TR
52 ><TD
53 WIDTH="10%"
54 ALIGN="left"
55 VALIGN="bottom"
56 ><A
57 HREF="usbseth-control.html"
58 ACCESSKEY="P"
59 >Prev</A
60 ></TD
61 ><TD
62 WIDTH="80%"
63 ALIGN="center"
64 VALIGN="bottom"
65 ></TD
66 ><TD
67 WIDTH="10%"
68 ALIGN="right"
69 VALIGN="bottom"
70 ><A
71 HREF="usbseth-host.html"
72 ACCESSKEY="N"
73 >Next</A
74 ></TD
75 ></TR
76 ></TABLE
77 ><HR
78 ALIGN="LEFT"
79 WIDTH="100%"></DIV
80 ><H1
81 ><A
82 NAME="USBSETH-NETDEV">Network Device for the eCos TCP/IP Stack</H1
83 ><DIV
84 CLASS="REFNAMEDIV"
85 ><A
86 NAME="AEN17572"
87 ></A
88 ><H2
89 >Name</H2
90 >Network Device&nbsp;--&nbsp;USB-ethernet support for the eCos TCP/IP Stack</DIV
91 ><DIV
92 CLASS="REFSECT1"
93 ><A
94 NAME="AEN17575"
95 ></A
96 ><H2
97 >Description</H2
98 ><P
99 >If the USB peripheral involves running the eCos TCP/IP stack and that
100 stack needs to use USB-ethernet as a transport layer (or as one of the
101 transports), then the USB-ethernet package can provide a suitable
102 network device driver. It is still necessary for higher-level code to
103 perform appropriate initialization by calling <A
104 HREF="usbseth-init.html"
105 ><TT
106 CLASS="FUNCTION"
107 >usbs_eth_init</TT
108 ></A
109 >, but
110 after that it will be the TCP/IP stack rather than application code
111 that transmits or receives ethernet frames.</P
112 ><P
113 >Not all peripherals involving the USB-ethernet package will require a
114 TCP/IP stack. Hence the provision of the network device is controlled
115 by a configuration option <TT
116 CLASS="LITERAL"
117 >CYGPKG_USBS_ETHDRV</TT
118 >. By
119 default this will be enabled if the TCP/IP package
120 <TT
121 CLASS="LITERAL"
122 >CYGPKG_NET</TT
123 > is loaded, and disabled otherwise. </P
124 ><P
125 >There are a number of other configuration options related to the
126 network device. <TT
127 CLASS="LITERAL"
128 >CYGFUN_USBS_ETHDRV_STATISTICS</TT
129 >
130 determines whether or not the package will maintain statistics, mainly
131 intended for SNMP: by default this will be enabled if the SNMP support
132 package <TT
133 CLASS="LITERAL"
134 >CYGPKG_SNMPAGENT</TT
135 > is loaded, and disabled
136 otherwise. The name of the ethernet device is controlled by
137 <TT
138 CLASS="LITERAL"
139 >CYGDATA_USBS_ETHDRV_NAME</TT
140 >, and has a default value
141 of either <TT
142 CLASS="LITERAL"
143 >eth0</TT
144 > or <TT
145 CLASS="LITERAL"
146 >eth1</TT
147 >
148 depending on whether or not there is another network device driver
149 present in the configuration.</P
150 ><P
151 >Usually eCos network device drivers default to using DHCP for
152 obtaining necessary information such as IP addresses. This is not
153 appropriate for USB-ethernet devices. On the host-side the
154 USB-ethernet network device will not exist until the USB peripheral
155 has been plugged in and communication has been established. Therefore
156 any DHCP daemon on the host would not be listening on that network
157 device at the point that eCos requests its IP and other information. A
158 related issue is that the use of DHCP would imply the presence of a
159 DHCP daemon on every affected host machine, as opposed to a single
160 daemon (plus backups) for the network as a whole. For these reasons
161 the USB-ethernet package precludes the use of DHCP as a way of setting
162 the IP address, instead requiring alternatives such as manual
163 configuration.</P
164 ></DIV
165 ><DIV
166 CLASS="NAVFOOTER"
167 ><HR
168 ALIGN="LEFT"
169 WIDTH="100%"><TABLE
170 SUMMARY="Footer navigation table"
171 WIDTH="100%"
172 BORDER="0"
173 CELLPADDING="0"
174 CELLSPACING="0"
175 ><TR
176 ><TD
177 WIDTH="33%"
178 ALIGN="left"
179 VALIGN="top"
180 ><A
181 HREF="usbseth-control.html"
182 ACCESSKEY="P"
183 >Prev</A
184 ></TD
185 ><TD
186 WIDTH="34%"
187 ALIGN="center"
188 VALIGN="top"
189 ><A
190 HREF="ecos-ref.html"
191 ACCESSKEY="H"
192 >Home</A
193 ></TD
194 ><TD
195 WIDTH="33%"
196 ALIGN="right"
197 VALIGN="top"
198 ><A
199 HREF="usbseth-host.html"
200 ACCESSKEY="N"
201 >Next</A
202 ></TD
203 ></TR
204 ><TR
205 ><TD
206 WIDTH="33%"
207 ALIGN="left"
208 VALIGN="top"
209 >USB-ethernet State Handling</TD
210 ><TD
211 WIDTH="34%"
212 ALIGN="center"
213 VALIGN="top"
214 ><A
215 HREF="io-usb-slave-eth.html"
216 ACCESSKEY="U"
217 >Up</A
218 ></TD
219 ><TD
220 WIDTH="33%"
221 ALIGN="right"
222 VALIGN="top"
223 >Example Host-side Device Driver</TD
224 ></TR
225 ></TABLE
226 ></DIV
227 ></BODY
228 ></HTML
229 >