1 |
1275 |
phoenix |
Linux* Base Driver for the Intel(R) PRO/100 Family of Adapters
|
2 |
|
|
==============================================================
|
3 |
|
|
|
4 |
|
|
November 19, 2002
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
Contents
|
8 |
|
|
========
|
9 |
|
|
|
10 |
|
|
- In This Release
|
11 |
|
|
- Supported Adapters
|
12 |
|
|
- Command Line Parameters
|
13 |
|
|
- CPU Cycle Saver
|
14 |
|
|
- Additional Configurations
|
15 |
|
|
- Support
|
16 |
|
|
|
17 |
|
|
|
18 |
|
|
In This Release
|
19 |
|
|
===============
|
20 |
|
|
|
21 |
|
|
This file describes the Linux* Base Driver for the Intel(R) PRO/100 Family of
|
22 |
|
|
Adapters, version 2.2.x. This driver includes support for Itanium(TM)-based
|
23 |
|
|
systems.
|
24 |
|
|
|
25 |
|
|
|
26 |
|
|
Supported Adapters
|
27 |
|
|
==================
|
28 |
|
|
|
29 |
|
|
The following Intel network adapters are compatible with the drivers
|
30 |
|
|
in this release:
|
31 |
|
|
|
32 |
|
|
Controller Adapter Name Board IDs
|
33 |
|
|
---------- ------------ ---------
|
34 |
|
|
|
35 |
|
|
82558 PRO/100+ PCI Adapter 668081-xxx, 689661-xxx
|
36 |
|
|
|
37 |
|
|
82558 PRO/100+ Management Adapter 691334-xxx, 701738-xxx,
|
38 |
|
|
721383-xxx
|
39 |
|
|
|
40 |
|
|
82558 PRO/100+ Dual Port Server Adapter 714303-xxx, 711269-xxx,
|
41 |
|
|
A28276-xxx
|
42 |
|
|
|
43 |
|
|
82558 PRO/100+ PCI Server Adapter 710550-xxx
|
44 |
|
|
|
45 |
|
|
82550 PRO/100 S Server Adapter 752438-xxx (82550)
|
46 |
|
|
82559 A56831-xxx, A10563-xxx,
|
47 |
|
|
A12171-xxx, A12321-xxx,
|
48 |
|
|
A12320-xxx, A12170-xxx
|
49 |
|
|
748568-xxx (82559)
|
50 |
|
|
748565-xxx (82559)
|
51 |
|
|
|
52 |
|
|
|
53 |
|
|
82550 PRO/100 S Desktop Adapter 751767-xxx (82550)
|
54 |
|
|
82559 748592-xxx, A12167-xxx,
|
55 |
|
|
A12318-xxx, A12317-xxx,
|
56 |
|
|
A12165-xxx
|
57 |
|
|
748569-xxx (82559)
|
58 |
|
|
|
59 |
|
|
|
60 |
|
|
|
61 |
|
|
82559 PRO/100+ Server Adapter 729757-xxx
|
62 |
|
|
|
63 |
|
|
82559 PRO/100 S Management Adapter 748566-xxx, 748564-xxx
|
64 |
|
|
|
65 |
|
|
82550 PRO/100 S Dual Port Server Adapter A56831-xxx
|
66 |
|
|
|
67 |
|
|
82551 PRO/100 M Desktop Adapter A80897-xxx
|
68 |
|
|
|
69 |
|
|
PRO/100 S Advanced Management Adapter 747842-xxx, 745171-xxx
|
70 |
|
|
|
71 |
|
|
CNR PRO/100 VE Desktop Adapter A10386-xxx, A10725-xxx,
|
72 |
|
|
A23801-xxx, A19716-xxx
|
73 |
|
|
|
74 |
|
|
|
75 |
|
|
PRO/100 VM Desktop Adapter A14323-xxx, A19725-xxx,
|
76 |
|
|
A23801-xxx, A22220-xxx,
|
77 |
|
|
A23796-xxx
|
78 |
|
|
|
79 |
|
|
|
80 |
|
|
To verify that your adapter is supported, find the board ID number on the
|
81 |
|
|
adapter. Look for a label that has a barcode and a number in the format
|
82 |
|
|
A12345-001. Match this to the list of numbers above.
|
83 |
|
|
|
84 |
|
|
For more information on how to identify your adapter, go to the Adapter &
|
85 |
|
|
Driver ID Guide at:
|
86 |
|
|
|
87 |
|
|
http://support.intel.com/support/network/adapter/pro100/21397.htm
|
88 |
|
|
|
89 |
|
|
For the latest Intel PRO/100 network driver for Linux, see:
|
90 |
|
|
|
91 |
|
|
http://downloadfinder.intel.com/scripts-df/support_intel.asp
|
92 |
|
|
|
93 |
|
|
|
94 |
|
|
Command Line Parameters
|
95 |
|
|
=======================
|
96 |
|
|
|
97 |
|
|
If the driver is built as a module, the following optional parameters are
|
98 |
|
|
used by entering them on the command line with the modprobe or insmod command
|
99 |
|
|
using this syntax:
|
100 |
|
|
|
101 |
|
|
modprobe e100 [
|
102 |
|
|
|
103 |
|
|
insmod e100 [
|
104 |
|
|
|
105 |
|
|
For example, with two Intel PRO/100 PCI adapters, entering:
|
106 |
|
|
|
107 |
|
|
modprobe e100 TxDescriptors=32,128
|
108 |
|
|
|
109 |
|
|
loads the e100 driver with 32 TX resources for the first adapter and 128 TX
|
110 |
|
|
resources for the second adapter. This configuration favors the second
|
111 |
|
|
adapter. The driver supports up to 16 network adapters concurrently.
|
112 |
|
|
|
113 |
|
|
The default value for each parameter is generally the recommended setting,
|
114 |
|
|
unless otherwise noted.
|
115 |
|
|
|
116 |
|
|
NOTE: Giving any command line option the value "-1" causes the driver to use
|
117 |
|
|
the appropriate default value for that option, as if no value was
|
118 |
|
|
specified.
|
119 |
|
|
|
120 |
|
|
|
121 |
|
|
BundleMax
|
122 |
|
|
Valid Range: 1-65535
|
123 |
|
|
Default Value: 6
|
124 |
|
|
This parameter holds the maximum number of small packets (less than 128
|
125 |
|
|
bytes) in a bundle. Suggested values range from 2 to 10. See "CPU Cycle
|
126 |
|
|
Saver."
|
127 |
|
|
|
128 |
|
|
BundleSmallFr
|
129 |
|
|
Valid Range: 0-1 (0=off, 1=on)
|
130 |
|
|
Default Value: 0
|
131 |
|
|
The value 1 (on) causes small packets (less than 128 bytes) to be bundled.
|
132 |
|
|
See "CPU Cycle Saver."
|
133 |
|
|
|
134 |
|
|
e100_speed_duplex
|
135 |
|
|
Valid Range: 0-4 (1=10half;2=10full;3=100half;4=100full)
|
136 |
|
|
Default Value: 0
|
137 |
|
|
The default value of 0 sets the adapter to auto-negotiate. Other values
|
138 |
|
|
set the adapter to forced speed and duplex.
|
139 |
|
|
Example usage: insmod e100.o e100_speed_duplex=4,4 (for two adapters)
|
140 |
|
|
|
141 |
|
|
flow_control
|
142 |
|
|
Valid Range: 0-1 (0=off, 1=on)
|
143 |
|
|
Default Value: 0
|
144 |
|
|
This parameter controls the automatic generation(Tx) and response(Rx) to
|
145 |
|
|
Ethernet PAUSE frames. flow_control should NOT be set to 1 when the
|
146 |
|
|
adapter is connected to an interface that does not support Ethernet PAUSE
|
147 |
|
|
frames and when the e100_speed_duplex parameter is NOT set to zero.
|
148 |
|
|
|
149 |
|
|
IntDelay
|
150 |
|
|
Valid Range: 0-65535 (0=off)
|
151 |
|
|
Default Value: 1536
|
152 |
|
|
This parameter holds the number of time units (in adapter terminology)
|
153 |
|
|
until the adapter generates an interrupt. The recommended value for
|
154 |
|
|
IntDelay is 1536 (upon initialization). Suggested values range from
|
155 |
|
|
512 to 2048. See "CPU Cycle Saver."
|
156 |
|
|
|
157 |
|
|
IFS
|
158 |
|
|
Valid Range: 0-1 (0=off, 1=on)
|
159 |
|
|
Default Value: 1
|
160 |
|
|
Inter Frame Spacing (IFS) aims to reduce the number of Ethernet frame
|
161 |
|
|
collisions by altering the time between frame transmissions. When IFS is
|
162 |
|
|
enabled the driver tries to find an optimal IFS value. It is used only at
|
163 |
|
|
half duplex.
|
164 |
|
|
|
165 |
|
|
RxDescriptors
|
166 |
|
|
Valid Range: 8-1024
|
167 |
|
|
Default Value: 64
|
168 |
|
|
This parameter defines the number of receive descriptors allocated by
|
169 |
|
|
the driver. Increasing this value allows the driver to buffer more
|
170 |
|
|
incoming packets before the driver is required to service an interrupt.
|
171 |
|
|
The maximum value for Itanium-based systems is 64.
|
172 |
|
|
|
173 |
|
|
TxDescriptors
|
174 |
|
|
Valid Range: 19-1024
|
175 |
|
|
Default Value: 64
|
176 |
|
|
This value is the number of transmit descriptors allocated by the driver.
|
177 |
|
|
Increasing this value allows the protocol stack to queue more transmits at
|
178 |
|
|
the driver level. The maximum value for Itanium-based systems is 64.
|
179 |
|
|
|
180 |
|
|
ucode
|
181 |
|
|
Valid Range: 0-1 (0=off, 1=on)
|
182 |
|
|
Default Value: 0 for 82558-based adapters
|
183 |
|
|
1 for 82559, 82550, and 82551-based adapters
|
184 |
|
|
On uploads the micro code to the adapter, which enables CPU Cycle Saver.
|
185 |
|
|
See the section "CPU Cycle Saver" below.
|
186 |
|
|
Example usage: insmod e100.o ucode=1
|
187 |
|
|
|
188 |
|
|
Not available on 82557-based adapters.
|
189 |
|
|
|
190 |
|
|
XsumRX
|
191 |
|
|
Valid Range: 0-1 (0=off, 1=on)
|
192 |
|
|
Default Value: 1
|
193 |
|
|
On allows Rx checksum offloading for TCP/UDP packets. Requires that the
|
194 |
|
|
hardware support this feature.
|
195 |
|
|
|
196 |
|
|
Not available on 82557 and 82558-based adapters.
|
197 |
|
|
|
198 |
|
|
|
199 |
|
|
CPU Cycle Saver
|
200 |
|
|
================
|
201 |
|
|
|
202 |
|
|
CPU Cycle Saver reduces CPU utilization by reducing the number of interrupts
|
203 |
|
|
that the adapter generates.
|
204 |
|
|
|
205 |
|
|
When CPU Cycle Saver is turned off, the adapter generates one interrupt for
|
206 |
|
|
every frame that is received. This means that the operating system stops what
|
207 |
|
|
it is doing and switches to the network driver in order to process the
|
208 |
|
|
receive.
|
209 |
|
|
|
210 |
|
|
When CPU Cycle Saver is on, the adapter does not generate an interrupt for
|
211 |
|
|
every frame it receives. Instead, it waits until it receives several frames
|
212 |
|
|
before generating an interrupt. This reduces the amount of time spent
|
213 |
|
|
switching to and from the driver.
|
214 |
|
|
|
215 |
|
|
CPU Cycle Saver consists of these arguments: IntDelay, BundleMax and
|
216 |
|
|
BundleSmallFr. When IntDelay is increased, the adapter waits longer for
|
217 |
|
|
frames to arrive before generating the interrupt. By increasing BundleMax,
|
218 |
|
|
the network adapter waits for the number of small frames (less than 128 bytes)
|
219 |
|
|
specified to arrive before generating the interrupt. When BundleSmallFr is
|
220 |
|
|
disabled, the adapter does not bundle small packets. Such small packets are
|
221 |
|
|
often, but not always, control packets that are better served immediately;
|
222 |
|
|
therefore, BundleSmallFr is disabled by default.
|
223 |
|
|
|
224 |
|
|
For most users, it is recommended that CPU Cycle Saver be used with the
|
225 |
|
|
default values specified in the Command Line Parameters section. However, in
|
226 |
|
|
some cases, performance problems may occur with CPU Cycle Saver. If such
|
227 |
|
|
problems are observed, we recommend turning off this feature by setting
|
228 |
|
|
ucode=0.
|
229 |
|
|
|
230 |
|
|
|
231 |
|
|
Support
|
232 |
|
|
=======
|
233 |
|
|
|
234 |
|
|
For general information, go to the Intel support website at:
|
235 |
|
|
|
236 |
|
|
http://support.intel.com
|
237 |
|
|
|
238 |
|
|
If an issue is identified with the released source code on the supported
|
239 |
|
|
kernel with a supported adapter, email the specific information related to
|
240 |
|
|
the issue to linux.nics@intel.com.
|
241 |
|
|
|
242 |
|
|
|
243 |
|
|
License
|
244 |
|
|
=======
|
245 |
|
|
|
246 |
|
|
This software program is released under the terms of a license agreement
|
247 |
|
|
between you ('Licensee') and Intel. Do not use or load this software or any
|
248 |
|
|
associated materials (collectively, the 'Software') until you have carefully
|
249 |
|
|
read the full terms and conditions of the LICENSE located in this software
|
250 |
|
|
package. By loading or using the Software, you agree to the terms of this
|
251 |
|
|
Agreement. If you do not agree with the terms of this Agreement, do not
|
252 |
|
|
install or use the Software.
|
253 |
|
|
|
254 |
|
|
* Other names and brands may be claimed as the property of others.
|