1 Linux* Base Driver for the Intel(R) PRO/1000 Family of Adapters
2 ===============================================================
12 - Command Line Parameters
13 - Speed and Duplex Configuration
14 - Additional Configurations
22 This file describes the Linux* Base Driver for the Intel(R) PRO/1000 Family
23 of Adapters, version 4.4.x. This driver includes support for
24 Itanium(TM)-based systems.
26 This release version includes the following:
28 - Support for the ethtool 1.6 interface. A third-party application can use
29 the ethtool interface to get and set driver parameters.
31 - Zero copy. This feature provides faster data throughput. Enabled by
32 default in supporting kernels. It is not supported on the Intel(R)
33 PRO/1000 Gigabit Server Adapter.
37 - Support for the 82545 and 82546-based adapters listed below
39 - Wake on LAN* support via ethtool for 82540, 82544, 82545, and 82546-
42 - Adaptive IFS for increased performance at half duplex
49 The following Intel network adapters are compatible with the drivers in this
52 Controller Adapter Name Board IDs
53 ---------- ------------ ---------
55 82542 PRO/1000 Gigabit Server Adapter 700262-xxx, 717037-xxx
57 82543 PRO/1000 F Server Adapter 738640-xxx, A38888-xxx
59 82543 PRO/1000 T Server Adapter A19845-xxx, A33948-xxx
61 82544 PRO/1000 XT Server Adapter A51580-xxx
63 82544 PRO/1000 XF Server Adapter A50484-xxx
65 82544 PRO/1000 T Desktop Adapter A62947-xxx
67 82540 PRO/1000 MT Desktop Adapter A78408-xxx
69 82545 PRO/1000 MT Server Adapter A92165-xxx
71 82546 PRO/1000 MT Dual Port Server Adapter A92111-xxx
73 82545 PRO/1000 MF Server Adapter A91622-xxx
75 82545 PRO/1000 MF Server Adapter(LX) A91624-xxx
77 82546 PRO/1000 MF Dual Port Server Adapter A91620-xxx
80 To verify your Intel 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 of
82 123456-001 (six digits hyphen three digits). Match this to the list of
85 For more information on how to identify your adapter, go to the Adapter &
88 http://support.intel.com/support/network/adapter/pro100/21397.htm
90 For the latest Intel network drivers for Linux, go to:
92 http://appsr.intel.com/scripts-df/support_intel.asp
95 Command Line Parameters
96 =======================
98 If the driver is built as a module, the following optional parameters are
99 used by entering them on the command line with the modprobe or insmod command.
100 For example, with two PRO/1000 PCI adapters, entering:
102 insmod e1000 TxDescriptors=80,128
104 loads the e1000 driver with 80 TX resources for the first adapter and 128 TX
105 resources for the second adapter.
107 For more information about the AutoNeg, Duplex, and Speed parameters, see the
108 "Speed and Duplex Configuration" section in this document.
111 AutoNeg (adapters using copper connections only)
112 Valid Range: 0x01-0x0F, 0x20-0x2F
114 This parameter is a bit mask that specifies which speed and duplex
115 settings the board advertises. When this parameter is used, the Speed and
116 Duplex parameters must not be specified.
118 Duplex (adapters using copper connections only)
119 Valid Range: 0-2 (0=auto-negotiate, 1=half, 2=full)
121 Defines the direction in which data is allowed to flow. Can by either one
122 or two-directional. If both Duplex and the link partner are set to auto-
123 negotiate, the board auto-detects the correct duplex. If the link partner
124 is forced (either full or half), Duplex defaults to half-duplex.
127 Valid Range: 0-3 (0=none, 1=Rx only, 2=Tx only, 3=Rx&Tx)
128 Default: Read flow control settings from the EEPROM
129 This parameter controls the automatic generation(Tx) and response(Rx) to
130 Ethernet PAUSE frames.
133 Valid Range: 80-256 for 82542 and 82543-based adapters
134 80-4096 for 82540, 82544, 82545, and 82546-based adapters
136 This value is the number of receive descriptors allocated by the driver.
137 Increasing this value allows the driver to buffer more incoming packets.
138 Each descriptor is 16 bytes. A receive buffer is also allocated for each
139 descriptor and can be either 2048, 4096, 8192, or 16384 bytes, depending
140 on the MTU setting. The maximum MTU size is 16110.
142 NOTE: MTU designates the frame size. It only needs to be set for Jumbo
146 Valid Range: 0-65535 (0=off)
148 This value delays the generation of receive interrupts in units of 1.024
149 microseconds. Receive interrupt reduction can improve CPU efficiency if
150 properly tuned for specific network traffic. Increasing this value adds
151 extra latency to frame reception and can end up decreasing the throughput
152 of TCP traffic. If the system is reporting dropped receives, this value
153 may be set too high, causing the driver to run out of available receive
156 CAUTION: When setting RxIntDelay to a value other than 0, adapters may
157 hang (stop transmitting) under certain network conditions. If
158 this occurs a NETDEV WATCHDOG message is logged in the system
159 event log. In addition, the controller is automatically reset,
160 restoring the network connection. To eliminate the potential for
161 the hang ensure that RxIntDelay is set to 0.
163 RxAbsIntDelay (82540, 82545, and 82546-based adapters only)
164 Valid Range: 0-65535 (0=off)
166 This value, in units of 1.024 microseconds, limits the delay in which a
167 transmit interrupt is generated. Useful only if RxIntDelay is non-zero,
168 this value ensures that an interrupt is generated after the initial
169 packet is received within the set amount of time. Proper tuning,
170 along with RxIntDelay, may improve traffic throughput in specific network
173 Speed (adapters using copper connections only)
174 Valid Settings: 0, 10, 100, 1000
175 Default Value: 0 (auto-negotiate at all supported speeds)
176 Speed forces the line speed to the specified value in megabits per second
177 (Mbps). If this parameter is not specified or is set to 0 and the link
178 partner is set to auto-negotiate, the board will auto-detect the correct
179 speed. Duplex must also be set when Speed is set to either 10 or 100.
182 Valid Range: 80-256 for 82542 and 82543-based adapters
183 80-4096 for 82540, 82544, 82545, and 82546-based adapters
185 This value is the number of transmit descriptors allocated by the driver.
186 Increasing this value allows the driver to queue more transmits. Each
187 descriptor is 16 bytes.
190 Valid Range: 0-65535 (0=off)
192 This value delays the generation of transmit interrupts in units of
193 1.024 microseconds. Transmit interrupt reduction can improve CPU
194 efficiency if properly tuned for specific network traffic. If the
195 system is reporting dropped transmits, this value may be set too high
196 causing the driver to run out of available transmit descriptors.
198 TxAbsIntDelay (82540, 82545, and 82546-based adapters only)
199 Valid Range: 0-65535 (0=off)
201 This value, in units of 1.024 microseconds, limits the delay in which a
202 transmit interrupt is generated. Useful only if TxIntDelay is non-zero,
203 this value ensures that an interrupt is generated after the initial
204 packet is sent on the wire within the set amount of time. Proper tuning,
205 along with TxIntDelay, may improve traffic throughput in specific
208 XsumRX (not available on the PRO/1000 Gigabit Server Adapter)
211 A value of '1' indicates that the driver should enable IP checksum
212 offload for received packets (both UDP and TCP) to the adapter hardware.
215 Speed and Duplex Configuration
216 ==============================
218 Three keywords are used to control the speed and duplex configuration. These
219 keywords are Speed, Duplex, and AutoNeg.
221 If the board uses a fiber interface, these keywords are ignored, and the
222 fiber interface board only links at 1000 Mbps full-duplex.
224 For copper-based boards, the keywords interact as follows:
226 The default operation is auto-negotiate. The board advertises all supported
227 speed and duplex combinations, and it links at the highest common speed and
228 duplex mode IF the link partner is set to auto-negotiate.
230 If Speed = 1000, limited auto-negotiation is enabled and only 1000 Mbps is
231 advertised (The 1000BaseT spec requires auto-negotiation.)
233 If Speed = 10 or 100, then both Speed and Duplex must be set. Auto-
234 negotiation is disabled, and the AutoNeg parameter is ignored. Partner MUST
237 The AutoNeg parameter is used when more control is required over the auto-
238 negotiation process. When this parameter is used, Speed and Duplex must not
239 be specified. This parameter is a bitmap that specifies which speed and
240 duplex settings are advertised to the link partner.
243 Speed (Mbps) N/A N/A 1000 N/A 100 100 10 10
244 Duplex Full Full Half Full Half
246 Note that setting AutoNeg does not guarantee that the board will link at the
247 highest specified speed or duplex mode, but the board will link at the
248 highest possible speed/duplex of the link partner IF the link partner is also
249 set to auto-negotiate. If the link partner is forced speed/duplex, the
250 adapter MUST be forced to the same speed/duplex.
253 Additional Configurations
254 =========================
259 The driver supports Jumbo Frames for all adapters except 82542-based
260 adapters. Jumbo Frames support is enabled by changing the MTU to a value
261 larger than the default of 1500. Use the ifconfig command to increase the
262 MTU size. For example:
264 ifconfig ethx mtu 9000 up
270 Jumbo Frames System Requirement
271 -------------------------------
273 Memory allocation failures have been observed on Linux systems with 64 MB
274 of RAM or less that are running Jumbo Frames. If you are using Jumbo
275 Frames, your system may require more than the advertised minimum
276 requirement of 64 MB of system memory.
282 For general information and support, go to the Intel support website at:
284 http://support.intel.com
286 If an issue is identified with the released source code on the supported
287 kernel with a supported adapter, email the specific information related to
288 the issue to linux.nics@intel.com.
294 This software program is released under the terms of a license agreement
295 between you ('Licensee') and Intel. Do not use or load this software or any
296 associated materials (collectively, the 'Software') until you have carefully
297 read the full terms and conditions of the LICENSE located in this software
298 package. By loading or using the Software, you agree to the terms of this
299 Agreement. If you do not agree with the terms of this Agreement, do not
300 install or use the Software.
302 * Other names and brands may be claimed as the property of others.