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 | 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 --- |