Deleted Added
full compact
README (169240) README (170141)
1$FreeBSD: head/sys/dev/em/README 169240 2007-05-04 00:00:12Z jfv $
2FreeBSD Driver for the Gigabit Family of Adapters
3============================================================
1$FreeBSD: head/sys/dev/em/README 170141 2007-05-30 23:32:21Z jfv $
2FreeBSD* Driver for Intel Network Connection
3=============================================
4
4
5April 18, 2007
5May 30, 2007
6
7
8Contents
9========
10
11- Overview
12- Identifying Your Adapter
13- Building and Installation
14- Speed and Duplex Configuration
15- Additional Configurations
16- Known Limitations
17- Support
18- License
19
20
21Overview
22========
23
6
7
8Contents
9========
10
11- Overview
12- Identifying Your Adapter
13- Building and Installation
14- Speed and Duplex Configuration
15- Additional Configurations
16- Known Limitations
17- Support
18- License
19
20
21Overview
22========
23
24This file describes the FreeBSD* driver for the Gigabit Family of
25Adapters. This driver has been developed for use with FreeBSD, Release 6.x.
24This file describes the FreeBSD* driver for Intel Network Connection.
25This driver has been developed for use with FreeBSD, Release 7.x.
26
27For questions related to hardware requirements, refer to the documentation
28supplied with your Gigabit adapter. All hardware requirements listed
29apply to use with FreeBSD.
30
31
32Identifying Your Adapter
33========================

--- 49 unchanged lines hidden (view full) ---

83 1. Edit /boot/loader.conf, and add the following line:
84
85 if_em_load="YES"
86
874. To compile the driver into the kernel, enter:
88
89 cd em-x.x.x/src
90 cp *.[ch] /usr/src/sys/dev/em
26
27For questions related to hardware requirements, refer to the documentation
28supplied with your Gigabit adapter. All hardware requirements listed
29apply to use with FreeBSD.
30
31
32Identifying Your Adapter
33========================

--- 49 unchanged lines hidden (view full) ---

83 1. Edit /boot/loader.conf, and add the following line:
84
85 if_em_load="YES"
86
874. To compile the driver into the kernel, enter:
88
89 cd em-x.x.x/src
90 cp *.[ch] /usr/src/sys/dev/em
91 cp Makefile.kernel /usr/src/sys/modules/em/Makefile
92
91
93 NOTE: At this point you MUST install a patch, kernbuild.patch, which is
94 located in the patches directory. This is applied as shown below where
95 "$PATH_TO_KERNBUILD_PATCH" is the location of the kernbuild.patch:
96
97 cd /usr/src/sys; patch -p1 < $PATH_TO_KERNBUILD_PATCH
98
99 Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in
100 /usr/src/sys/i386/conf, and ensure the following line is present:
101
102 device em
103
104 Compile and install the kernel. The system must be rebooted for the
105 kernel updates to take effect. For additional information on compiling
106 the kernel, consult the FreeBSD operating system documentation.

--- 99 unchanged lines hidden (view full) ---

206 The adapters with this limitation are based on the Intel(R) 82571EB,
207 82572EI, 82573L, 82566, 82562, and 80003ES2LAN controller. These
208 correspond to the following product names:
209 Intel(R) PRO/1000 PT Server Adapter
210 Intel(R) PRO/1000 PT Desktop Adapter
211 Intel(R) PRO/1000 PT Network Connection
212 Intel(R) PRO/1000 PT Dual Port Server Adapter
213 Intel(R) PRO/1000 PT Dual Port Network Connection
92 Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in
93 /usr/src/sys/i386/conf, and ensure the following line is present:
94
95 device em
96
97 Compile and install the kernel. The system must be rebooted for the
98 kernel updates to take effect. For additional information on compiling
99 the kernel, consult the FreeBSD operating system documentation.

--- 99 unchanged lines hidden (view full) ---

199 The adapters with this limitation are based on the Intel(R) 82571EB,
200 82572EI, 82573L, 82566, 82562, and 80003ES2LAN controller. These
201 correspond to the following product names:
202 Intel(R) PRO/1000 PT Server Adapter
203 Intel(R) PRO/1000 PT Desktop Adapter
204 Intel(R) PRO/1000 PT Network Connection
205 Intel(R) PRO/1000 PT Dual Port Server Adapter
206 Intel(R) PRO/1000 PT Dual Port Network Connection
207 Intel(R) PRO/1000 PT Quad Port Server Adapter
208 Intel(R) PRO/1000 PF Quad Port Server Adapter
214 Intel(R) PRO/1000 PF Server Adapter
215 Intel(R) PRO/1000 PF Network Connection
216 Intel(R) PRO/1000 PF Dual Port Server Adapter
217 Intel(R) PRO/1000 PB Server Connection
218 Intel(R) PRO/1000 PL Network Connection
219 Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
220 Intel(R) PRO/1000 EB Backplane Connection with I/O Acceleration
221 Intel(R) 82566DM-2 Gigabit Network Connection

--- 35 unchanged lines hidden (view full) ---

257
258 ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan 10 vlandev em0
259
260 In this example, all packets will be marked on egress with 802.1Q VLAN
261 tags, specifying a VLAN ID of 10.
262
263 To remove a VLAN interface:
264
209 Intel(R) PRO/1000 PF Server Adapter
210 Intel(R) PRO/1000 PF Network Connection
211 Intel(R) PRO/1000 PF Dual Port Server Adapter
212 Intel(R) PRO/1000 PB Server Connection
213 Intel(R) PRO/1000 PL Network Connection
214 Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
215 Intel(R) PRO/1000 EB Backplane Connection with I/O Acceleration
216 Intel(R) 82566DM-2 Gigabit Network Connection

--- 35 unchanged lines hidden (view full) ---

252
253 ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan 10 vlandev em0
254
255 In this example, all packets will be marked on egress with 802.1Q VLAN
256 tags, specifying a VLAN ID of 10.
257
258 To remove a VLAN interface:
259
265 ifconfig destroy
260 Intel Network Connection ifconfig <vlan_name> destroy
266
267
268 Polling
269 -------
261
262
263 Polling
264 -------
270 NOTES: Device Polling is only valid for non-SMP (Symmetric MultiProcessing)
271 kernels.
272
265
273 The driver has to be compiled into the kernel for Device Polling to be
274 enabled in the driver.
275
276 To enable polling in the driver, add the following options to the kernel
277 configuration, and then recompile the kernel:
278
279 options DEVICE_POLLING
280 options HZ=1000
281
282 At runtime use:
266 To enable polling in the driver, add the following options to the kernel
267 configuration, and then recompile the kernel:
268
269 options DEVICE_POLLING
270 options HZ=1000
271
272 At runtime use:
283 sysctl kern.polling.enable=1 to turn polling on
284 Use:
285 sysctl kern.polling.enable=0 to turn polling off
273 ifconfig emX polling (to turn polling on)
274 and:
275 ifconfig emX -polling (to turn it off)
286
287
288 Checksum Offload
289 ----------------
290 Checksum offloading is not supported on 82542 Gigabit adapters.
291
292 Checksum offloading supports both TCP and UDP packets and is
293 supported for both transmit and receive.

--- 18 unchanged lines hidden (view full) ---

312
313 options=3 <RXCSUM,TXCSUM>
314
315 See the ifconfig man page for further information.
316
317
318 TSO
319 ---
276
277
278 Checksum Offload
279 ----------------
280 Checksum offloading is not supported on 82542 Gigabit adapters.
281
282 Checksum offloading supports both TCP and UDP packets and is
283 supported for both transmit and receive.

--- 18 unchanged lines hidden (view full) ---

302
303 options=3 <RXCSUM,TXCSUM>
304
305 See the ifconfig man page for further information.
306
307
308 TSO
309 ---
320 The FreeBSD driver now offers support for TSO (TCP Segmentation Offload).
321 To enable this support perform the following:
310 The FreeBSD driver offers support for TSO (TCP Segmentation Offload).
322
311
323 Patch the kernel with the patch supplied in the tarball.
324 Rebuild and install the kernel.
325 Recompile the driver. You must alter the Makefile to build the driver with
326 E1000_TSO defined.
312 You can enable/disable it in two ways/places:
327
313
328 Enable or disable TSO:
329 sysctl net.inet.tcp.tso=1 or 0
330 0=disabled, 1=enabled (TSO is enabled by default).
314 - sysctl net.inet.tcp.tso=0 (or 1 to enable it)
331
315
332 NOTE: TSO is not supported on 82547 and 82544-based adapters, as well as
333 older adapters.
316 Doing this disables TSO in the stack and will affect all adapters.
334
317
318 - ifconfig emX -tso
335
319
320 Doing this will disable TSO only for this adapter.
321
322 To enable:
323
324 - ifconfig emX tso
325
326 NOTES: By default only PCI-Express adapters are ENABLED to do TSO. Others
327 can be enabled by the user at their own risk
328 TSO is not supported on 82547 and 82544-based adapters, as well as older adapters.
329
330
336Known Limitations
337=================
338
339 Detected Tx Unit Hang in Quad Port Adapters
340 -------------------------------------------
341
342 In some cases ports 3 and 4 wont pass traffic. Ports 1 and 2 don't show
343 any errors and will pass traffic.
344
345 This issue MAY be resolved by updating to the latest BIOS. You can
346 check your system's BIOS by downloading the Linux Firmware Developer Kit
347 that can be obtained at http://www.linuxfirmwarekit.org/
348
331Known Limitations
332=================
333
334 Detected Tx Unit Hang in Quad Port Adapters
335 -------------------------------------------
336
337 In some cases ports 3 and 4 wont pass traffic. Ports 1 and 2 don't show
338 any errors and will pass traffic.
339
340 This issue MAY be resolved by updating to the latest BIOS. You can
341 check your system's BIOS by downloading the Linux Firmware Developer Kit
342 that can be obtained at http://www.linuxfirmwarekit.org/
343
349 FreeBSD version 4.x with Symmetric MultiProcessing (SMP)
350 --------------------------------------------------------
351
344
352 In FreeBSD version 4.x with Symmetric MultiProcessing (SMP), there is a known
353 issue on some newer hardware. The problem is kernel generic and only in SMP
354 mode. The workaround is to either use FreeBSD version 4.x in single processor
355 mode, or use FreeBSD 5.4 or later.
356
357 There are known performance issues with this driver when running UDP traffic
358 with Jumbo Frames.
359 ----------------------------------------------------------------------------
360
361 82541/82547 can't link or is slow to link with some link partners
362 -----------------------------------------------------------------
363
364 There is a known compatibility issue where time to link is slow or link is not
365 established between 82541/82547 controllers and some switches. Known switches
366 include:
367 Planex FXG-08TE
368 I-O Data ETG-SH8
369
370 The driver can be compiled with the following changes:
371
345 There are known performance issues with this driver when running UDP traffic
346 with Jumbo Frames.
347 ----------------------------------------------------------------------------
348
349 82541/82547 can't link or is slow to link with some link partners
350 -----------------------------------------------------------------
351
352 There is a known compatibility issue where time to link is slow or link is not
353 established between 82541/82547 controllers and some switches. Known switches
354 include:
355 Planex FXG-08TE
356 I-O Data ETG-SH8
357
358 The driver can be compiled with the following changes:
359
372 Edit ./em.x.x.x/src/if_em.h to uncomment the #define E1000_MASTER_SLAVE
373 from within the comments. For example, change from:
360 Edit ./em.x.x.x/src/if_em.h to change the #define EM_MASTER_SLAVE
361 For example, change from:
374
362
375 /* #define E1000_MASTER_SLAVE 2 */
363 #define EM_MASTER_SLAVE e1000_ms_hw_default
376 to:
364 to:
377 #define E1000_MASTER_SLAVE 2
365 #define EM_MASTER_SLAVE 2
378
379 Use one of the following options:
380 1 = Master mode
381 2 = Slave mode
382 3 = Auto master/slave
383 Setting 2 is recommended.
384
385 Recompile the module:

--- 32 unchanged lines hidden ---
366
367 Use one of the following options:
368 1 = Master mode
369 2 = Slave mode
370 3 = Auto master/slave
371 Setting 2 is recommended.
372
373 Recompile the module:

--- 32 unchanged lines hidden ---