1d966d27b1
- Set RDTR to zero by default instead of 28. - Fixed a problem with TX hangs with jumbo frames when number of fragments in the mbuf chain is large. - Added support for 82540EP based cards. MFC after: 3 days
268 lines
7.7 KiB
Plaintext
268 lines
7.7 KiB
Plaintext
$FreeBSD$
|
|
FreeBSD* Driver for the Intel(R) PRO/1000 Family of Adapters
|
|
============================================================
|
|
|
|
September 11, 2002
|
|
|
|
|
|
Contents
|
|
========
|
|
|
|
- In This Release
|
|
- Supported Adapters
|
|
- Building and Installation
|
|
- Speed and Duplex Configuration
|
|
- Additional Configurations
|
|
- Known Limitations
|
|
- Support
|
|
- License
|
|
|
|
|
|
In This Release
|
|
===============
|
|
|
|
This file describes the FreeBSD* driver, version 1.4.x, for the Intel(R)
|
|
PRO/1000 Family of Adapters. This driver has been developed for use with
|
|
FreeBSD, version 4.6. As a new feature for this release, the driver is now
|
|
compiled by default into the FreeBSD 4.6 kernel.
|
|
|
|
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 below.
|
|
|
|
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
|
|
==================
|
|
|
|
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 A78708-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
|
|
|
|
|
|
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:
|
|
|
|
http://support.intel.com/support/network/adapter/pro100/21397.htm
|
|
|
|
For the latest Intel network drivers for FreeBSD, see:
|
|
|
|
http://appsr.intel.com/scripts-df/support_intel.asp
|
|
|
|
|
|
Building and Installation
|
|
=========================
|
|
|
|
NOTE: 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 name of the driver tar.
|
|
|
|
|
|
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:
|
|
|
|
tar xfz em-x.x.x.tar.gz
|
|
|
|
3. To load the driver onto a running system:
|
|
|
|
cd em-x.x.x/modules
|
|
kldload ./if_em.ko
|
|
|
|
4. To assign an IP address to the interface, enter the following:
|
|
|
|
ifconfig em<interface_num> <IP_address>
|
|
|
|
5. Verify that the interface works. Enter the following, where <IP_address>
|
|
is the IP address for another machine on the same subnet as the interface
|
|
that is being tested:
|
|
|
|
ping <IP_address>
|
|
|
|
6. If you want the driver to load automatically when the system is booted:
|
|
|
|
cd em-x.x.x/modules
|
|
cp if_em.ko /modules
|
|
|
|
Edit /boot/loader.conf, and add the following line:
|
|
|
|
if_em_load="YES"
|
|
|
|
OR
|
|
|
|
compile the driver into the kernel (see item 7).
|
|
|
|
|
|
Edit /etc/rc.conf, and create the appropriate ifconfig_em<interface_num>
|
|
entry:
|
|
|
|
ifconfig_em<interface_num>="<ifconfig_settings>"
|
|
|
|
Example usage:
|
|
|
|
ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0"
|
|
|
|
NOTE: For assistance, see the ifconfig man page.
|
|
|
|
7. If you want to compile the driver into the kernel, enter:
|
|
|
|
cd em-x.x.x/src
|
|
cp if_em* /usr/src/sys/dev/em
|
|
cp Makefile /usr/src/sys/modules/em
|
|
|
|
Edit the /usr/src/sys/conf/files.i386 file, and add the following line:
|
|
|
|
dev/em/if_em_hw.c optional em
|
|
|
|
Remove the following lines from the /usr/src/sys/conf/files.i386 file, if
|
|
they exist:
|
|
|
|
/dev/em/if_em_fx_hw.c optional em
|
|
/dev/em/if_em_phy.c optional em
|
|
|
|
Compile and install the kernel.
|
|
|
|
|
|
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
|
|
configure the speed and duplex settings on the adapter. Example usage:
|
|
|
|
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
|
|
defaults to half-duplex.
|
|
|
|
|
|
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
|
|
option to select full-duplex mode.
|
|
|
|
100baseTX - Sets speed to 100 Mbps. Use the ifconfig mediaopt
|
|
option to select full-duplex mode.
|
|
|
|
1000baseTX - Sets speed to 1000 Mbps. In this case, the driver
|
|
supports only full-duplex mode.
|
|
|
|
1000baseSX - Sets speed to 1000 Mbps. In this case, the driver
|
|
supports only full-duplex mode.
|
|
|
|
For more information on the ifconfig utility, see the ifconfig man page.
|
|
|
|
|
|
Additional Configurations
|
|
=========================
|
|
|
|
Jumbo Frames
|
|
------------
|
|
|
|
To enable Jumbo Frames, use the ifconfig utility to increase the MTU
|
|
beyond 1500 bytes.
|
|
|
|
NOTE: Only enable Jumbo Frames if your network infrastructure supports
|
|
them.
|
|
|
|
The MTU range for Jumbo Frames is 1500 to 16114. For example, enter the
|
|
following:
|
|
|
|
ifconfig em<interface_num> mtu 9000
|
|
|
|
VLANs
|
|
-----
|
|
|
|
To enable VLANs in the kernel, modify the config file as follows:
|
|
|
|
pseudo-device vlan <num_VLANs>
|
|
|
|
Then, recompile the kernel and reboot.
|
|
|
|
To see the VLAN device entries, use ifconfig.
|
|
|
|
To attach a VLAN to the driver enter the following:
|
|
|
|
ifconfig vlan0 inet 10.0.0.1 netmask 255.255.255.0 vlan 1 vlandev
|
|
em0 mtu 1500 up
|
|
|
|
Also, bring the driver up by entering:
|
|
|
|
ifconfig em0 up
|
|
|
|
|
|
Known Limitations
|
|
=================
|
|
|
|
There are known performance problems with this driver when running UDP
|
|
traffic with Jumbo Frames. Intel recommends not using Jumbo Frames for UDP
|
|
traffic.
|
|
|
|
|
|
Support
|
|
=======
|
|
|
|
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.
|
|
|
|
|
|
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
|
|
install or use the Software.
|
|
|
|
* Other names and brands may be claimed as the property of others.
|