summaryrefslogtreecommitdiffstats
path: root/sys/dev/em/README
diff options
context:
space:
mode:
authortackerman <tackerman@FreeBSD.org>2005-05-26 23:33:24 +0000
committertackerman <tackerman@FreeBSD.org>2005-05-26 23:33:24 +0000
commit9a04b0d3130811adb4362149285064314463a9d6 (patch)
tree48ee2f19fc48295cd3b62105b006a38dfde67048 /sys/dev/em/README
parent8b2ddc8fab4a5de9a367f9558a299aaad666f51d (diff)
downloadFreeBSD-src-9a04b0d3130811adb4362149285064314463a9d6.zip
FreeBSD-src-9a04b0d3130811adb4362149285064314463a9d6.tar.gz
Latest README to correspond to latest Intel version 2.1.7
Diffstat (limited to 'sys/dev/em/README')
-rw-r--r--sys/dev/em/README267
1 files changed, 124 insertions, 143 deletions
diff --git a/sys/dev/em/README b/sys/dev/em/README
index 5f4f715..9b02055 100644
--- a/sys/dev/em/README
+++ b/sys/dev/em/README
@@ -2,14 +2,14 @@ $FreeBSD$
FreeBSD* Driver for the Intel(R) PRO/1000 Family of Adapters
============================================================
-July 24, 2003
+March 18, 2005
Contents
========
- Overview
-- Supported Adapters
+- Identifying Your Adapter
- Building and Installation
- Speed and Duplex Configuration
- Additional Configurations
@@ -21,82 +21,43 @@ Contents
Overview
========
-This file describes the FreeBSD* driver, version 1.7.x, for the Intel(R)
-PRO/1000 Family of Adapters. This driver has been developed for use with
-FreeBSD, version 4.7.
+This file describes the FreeBSD* driver, version 2.1.x, for the Intel(R)
+PRO/1000 Family of Adapters. This driver has been developed for use with
+FreeBSD, version 5.x.
-For questions related to hardware requirements, refer to the documentation
-supplied with your Intel PRO/1000 adapter. All hardware requirements listed
+For questions related to hardware requirements, refer to the documentation
+supplied with your Intel PRO/1000 adapter. All hardware requirements listed
apply to use with FreeBSD.
-Supported Adapters
-==================
+Identifying Your Adapter
+========================
-The following Intel network adapters are compatible with the drivers in this
-release:
-
- Controller Adapter Name Board IDs
- ---------- ------------ ---------
-
- 82542 PRO/1000 Gigabit Server Adapter 700262-xxx, 717037-xxx
-
- 82543 PRO/1000 F Server Adapter 738640-xxx, A38888-xxx,
- A06512-xxx
-
- 82543 PRO/1000 T Server Adapter A19845-xxx, A33948-xxx
-
- 82544 PRO/1000 XT Server Adapter A51580-xxx
-
- 82544 PRO/1000 XF Server Adapter A50484-xxx
-
- 82544 PRO/1000 T Desktop Adapter A62947-xxx
-
- 82540 PRO/1000 MT Desktop Adapter A78408-xxx
-
- 82541 PRO/1000 MT Desktop Adapter C91016-xxx
-
- 82545 PRO/1000 MT Server Adapter A92165-xxx
-
- 82545 PRO/1000 MF Server Adapter A91622-xxx
-
- 82545 PRO/1000 MF Server Adapter(LX) A91624-xxx
-
- 82546 PRO/1000 MT Dual Port Server Adapter A92111-xxx
-
- 82546 PRO/1000 MF Dual Port Server Adapter A91620-xxx
-
- 82546EB PRO/1000 MT Quad Port Server Adapter C11227-xxx
-
- 82547 PRO/1000 CT Network Connection
+For information on how to identify your adapter, go to the Adapter &
+Driver ID Guide at:
+http://support.intel.com/support/network/adapter/pro100/21397.htm
-To verify your Intel adapter is supported, find the board ID number on the
-adapter. Look for a label that has a barcode and a number in the format of
-123456-001 (six digits hyphen three digits). Match this to the list of
-numbers above.
-For more information on how to identify your adapter, go to the Adapter &
-Driver ID Guide at:
+For the latest Intel network drivers for FreeBSD, see:
- http://support.intel.com/support/network/adapter/pro100/21397.htm
+http://appsr.intel.com/scripts-df/support_intel.asp
-For the latest Intel network drivers for FreeBSD, see:
- http://appsr.intel.com/scripts-df/support_intel.asp
+NOTE: Mobile adapters are not fully supported.
Building and Installation
=========================
-NOTE: The driver can be installed as a dynamic loadable kernel module or
- compiled into the kernel. You must have kernel sources installed in
+NOTE: The driver can be installed as a dynamic loadable kernel module or
+ compiled into the kernel. You must have kernel sources installed in
order to compile the driver module.
-In the instructions below, x.x.x is the driver version as indicated in the
+In the instructions below, x.x.x is the driver version as indicated in the
name of the driver tar file.
-1. Move the base driver tar file to the directory of your choice. For
+1. Move the base driver tar file to the directory of your choice. For
example, use /home/username/em or /usr/local/src/em.
2. Untar/unzip the archive:
@@ -105,24 +66,23 @@ name of the driver tar file.
This will create an em-x.x.x directory.
-3. To create a loadable module, perform the following steps.
+3. To create a loadable module, perform the following steps.
NOTE: To compile the driver into the kernel, go directly to step 4.
- a. To compile the module
+ a. To compile the module
+
+ cd em-x.x.x
+ make
- cd em-x.x.x
- make
+ b. To install the compiled module in system directory:
- b. To install the compiled module in system directory:
-
- make install
-
- c. If you want the driver to load automatically when the system is booted:
+ make install
- 1. Follow steps a, and b above to compile and install the module
- 2. Edit /boot/loader.conf, and add the following line:
+ c. If you want the driver to load automatically when the system is booted:
- if_em_load="YES"
+ 1. Edit /boot/loader.conf, and add the following line:
+
+ if_em_load="YES"
4. To compile the driver into the kernel:
@@ -132,25 +92,26 @@ name of the driver tar file.
cp Makefile.kernel /usr/src/sys/modules/em/Makefile
- Edit the /usr/src/sys/conf/files.i386 file, and add the following lines:
+ Edit the /usr/src/sys/conf/files.i386 file, and add the following lines only if
+ they don't already exist:
dev/em/if_em.c optional em
- dev/em/if_em_hw.c optional em
+ dev/em/if_em_hw.c optional em
- Remove the following lines from the /usr/src/sys/conf/files.i386 file,
+ Remove the following lines from the /usr/src/sys/conf/files.i386 file,
if they exist:
dev/em/if_em_fxhw.c optional em
dev/em/if_em_phy.c optional em
- Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in
+ Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in
/usr/src/sys/i386/conf, and ensure the following line is present:
device em
Compile and install the kernel. The system must be rebooted for the kernel
- updates to take effect. For additional information on compiling the
+ updates to take effect. For additional information on compiling the
kernel, consult the FreeBSD operating system documentation.
5. To assign an IP address to the interface, enter the following:
@@ -163,8 +124,8 @@ name of the driver tar file.
ping <IP_address>
-7. To configure the IP address to remain after reboot, edit /etc/rc.conf,
- and create the appropriate ifconfig_em<interface_num> entry:
+7. To configure the IP address to remain after reboot, edit /etc/rc.conf,
+ and create the appropriate ifconfig_em<interface_num>entry:
ifconfig_em<interface_num>="<ifconfig_settings>"
@@ -178,15 +139,15 @@ name of the driver tar file.
Speed and Duplex Configuration
==============================
-By default, the adapter auto-negotiates the speed and duplex of the
-connection. If there is a specific need, the ifconfig utility can be used to
+By default, the adapter auto-negotiates the speed and duplex of the
+connection. If there is a specific need, the ifconfig utility can be used to
configure the speed and duplex settings on the adapter. Example usage:
- ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt
+ ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt
full-duplex
- NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is
- not specified and you are not running at gigabit speed, the driver
+ NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is
+ not specified and you are not running at gigabit speed, the driver
defaults to half-duplex.
@@ -194,7 +155,7 @@ This driver supports the following media type options:
autoselect - Enables auto-negotiation for speed and duplex.
- 10baseT/UTP - Sets speed to 10 Mbps. Use the ifconfig mediaopt
+ 10baseT/UTP - Sets speed to 10 Mbps. Use the ifconfig mediaopt
option to select full-duplex mode.
100baseTX - Sets speed to 100 Mbps. Use the ifconfig mediaopt
@@ -212,117 +173,139 @@ For more information on the ifconfig utility, see the ifconfig man page.
Additional Configurations
=========================
-The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
-all but the 82542-based adapters. For specific adapters, refer to the
-Supported Adapters section.
+The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
+all but the 82542-based adapters. For specific adapters, refer to the
+Identifying Your Adapter section.
Jumbo Frames
------------
- To enable Jumbo Frames, use the ifconfig utility to increase the MTU
- beyond 1500 bytes.
+ To enable Jumbo Frames, use the ifconfig utility to increase the MTU
+ beyond 1500 bytes.
- NOTES: Only enable Jumbo Frames if your network infrastructure supports
+ NOTES: Only enable Jumbo Frames if your network infrastructure supports
them.
-
- The Jumbo Frames setting on the switch must be set to at least
- 22 bytes larger than that of the adapter.
- The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default
+ The Jumbo Frames setting on the switch must be set to at least
+ 22 bytes larger than that of the MTU.
+
+ The Intel PRO/1000 PM Network Connection does not support jumbo
+ frames.
+
+
+ The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default
MTU range is 1500. To modify the setting, enter the following:
ifconfig em<interface_num> <hostname or IP address> mtu 9000
- To confirm an interface's MTU value, use the ifconfig command. To confirm
- the MTU used between two specific devices, use:
+ To confirm the MTU used between two specific devices, use:
route get <destination_IP_address>
VLANs
-----
- To create a new VLAN pseudo-interface:
+ To create a new VLAN interface:
ifconfig <vlan_name> create
- To associate the VLAN pseudo-interface with a physical interface and
+ To associate the VLAN interface with a physical interface and
assign a VLAN ID, IP address, and netmask:
- ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan
+ ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan
<vlan_id> vlandev <physical_interface>
Example:
ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan10 vlandev em0
- In this example, all packets will be marked on egress with 802.1Q VLAN
+ In this example, all packets will be marked on egress with 802.1Q VLAN
tags, specifying a VLAN ID of 10.
- To remove a VLAN pseudo-interface:
+ To remove a VLAN interface:
ifconfig <vlan_name> destroy
Polling
-------
- To enable polling in the driver, add the following options to the kernel
+ NOTES: DEVICE POLLING is only valid for non-SMP kernels.
+
+ The driver has to be compiled into the kernel for DEVICE POLLING to be
+ enabled in the driver.
+
+ To enable polling in the driver, add the following options to the kernel
configuration, and then recompile the kernel:
options DEVICE_POLLING
options HZ=1000
- At runtime, use the following command to turn on polling mode. Similarly,
- turn off polling mode by setting the variable to 0:
+ At runtime use:
+ sysctl kern.polling.enable=1 to turn polling on
+ Use:
+ sysctl ker.polling.enable=0 to turn polling off
- sysctl kern.polling.enable=1
+ Checksum Offload
+ ----------------
+ Checksum offloading is not supported on 82542 Gigabit adapters.
+ Checksum offloading supports both TCP and UDP packets and is
+ supported for both transmit and receive.
- NOTES: DEVICE POLLING is only valid for non-SMP kernels.
+ Checksum offloading can be enabled or disabled using ifconfig.
+ Both transmit and receive offloading will be either enabled or
+ disabled together. You cannot enable/disable one without the other.
- The driver has to be built into the kernel for DEVICE POLLING to be
- enabled in the driver.
+ To enable checksum offloading:
+ ifconfig <interface_num> rxcsum
-Known Limitations
-=================
-
- There are known performance issues with this driver when running UDP traffic
- with Jumbo Frames. Intel recommends not using Jumbo Frames for UDP traffic.
+ To disable checksum offloading:
+ ifconfig <interface_num> -rxcsum
- 82541/82547 can't link or is slow to link with some link partners
- -----------------------------------------------------------------
+ To confirm the current setting:
- There is a known compatibility issue with 82541/82547 and some switches
- where link will not be established, or will be slow to establish. In
- particular, these switches are known to be incompatible with 82541/82547:
+ ifconfig <interface_num>
+ Look for the presence or absence of the following line:
+
+ options=3 <RXCSUM,TXCSUM>
+
+ See the ifconfig man page for further information.
+
+Known Limitations
+=================
+
+ There are known performance issues with this driver when running UDP traffic
+ with Jumbo Frames.
+
+ There is a known compatibility issue where time to link is slow or link is not
+ established between 82541/82547 controllers and some switches. Known switches
+ include:
Planex FXG-08TE
I-O Data ETG-SH8
- To workaround the issue, the driver can be compiled with an override of the
- PHY's master/slave setting. Forcing master or forcing slave mode will
- improve time-to-link.
+ The driver can be compiled with the following changes:
- Edit ./em.x.x.x/src/if_em.h to remove the #define EM_MASTER_SLAVE
- from within the comments.
+ Edit ./em.x.x.x/src/if_em.h to uncomment the #define EM_MASTER_SLAVE
+ from within the comments. For example, change from:
/* #define EM_MASTER_SLAVE 2 */
- #define EM_MASTER_SLAVE 2
+ to:
+ #define EM_MASTER_SLAVE 2
- Use one of the following options.
- 0 = Hardware default
+ Use one of the following options:
1 = Master mode
2 = Slave mode
3 = Auto master/slave
+ Setting 2 is recommended.
- Recompile the module (refer to step 3 above)
- a. To compile the module
-
- cd em-x.x.x
- make clean
- make
+ Recompile the module:
+ a. To compile the module
+ cd em-x.x.x
+ make clean
+ make
b. To install the compiled module in system directory:
-
- make install
+ make install
Support
@@ -332,20 +315,18 @@ For general information and support, go to the Intel support website at:
http://support.intel.com
-If an issue is identified with the released source code on the supported
-kernel with a supported adapter, email the specific information related to
-the issue to freebsdnic@mailbox.intel.com.
-
+If an issue is identified, support is through email only at:
+freebsdnic@mailbox.intel.com
License
=======
-This software program is released under the terms of a license agreement
-between you ('Licensee') and Intel. Do not use or load this software or any
-associated materials (collectively, the 'Software') until you have carefully
-read the full terms and conditions of the LICENSE located in this software
-package. By loading or using the Software, you agree to the terms of this
-Agreement. If you do not agree with the terms of this Agreement, do not
+This software program is released under the terms of a license agreement
+between you ('Licensee') and Intel. Do not use or load this software or any
+associated materials (collectively, the 'Software') until you have carefully
+read the full terms and conditions of the LICENSE located in this software
+package. By loading or using the Software, you agree to the terms of this
+Agreement. If you do not agree with the terms of this Agreement, do not
install or use the Software.
* Other names and brands may be claimed as the property of others.
OpenPOWER on IntegriCloud