README revision 97785
197785Spdeuskar$FreeBSD: head/sys/dev/em/README 97785 2002-06-03 22:30:51Z pdeuskar $ 297785Spdeuskar 397785SpdeuskarFreeBSD* Driver for the Intel(R) PRO/1000 Family of Adapters 497785Spdeuskar============================================================ 597785Spdeuskar 697785SpdeuskarApril 3, 2002 797785Spdeuskar 897785Spdeuskar 997785SpdeuskarContents 1097785Spdeuskar======== 1197785Spdeuskar 1297785Spdeuskar- In This Release 1397785Spdeuskar- Supported Adapters 1497785Spdeuskar- Building and Installation 1597785Spdeuskar- Speed and Duplex Configuration 1697785Spdeuskar- Additional Configurations 1797785Spdeuskar- Known Limitations 1897785Spdeuskar- Support 1997785Spdeuskar- License 2097785Spdeuskar 2197785Spdeuskar 2297785SpdeuskarIn This Release 2397785Spdeuskar=============== 2497785Spdeuskar 2597785SpdeuskarThis file describes the FreeBSD* driver, version 1.3.x, for the Intel(R) 2697785SpdeuskarPRO/1000 Family of Adapters. This driver has been developed for use with 2797785SpdeuskarFreeBSD, version 4.5. 2897785Spdeuskar 2997785SpdeuskarThe driver supports Transmit/Receive Checksum Offload and Jumbo Frames on 3097785Spdeuskarall but the 82542-based adapters. For specific adapters, refer to the 3197785SpdeuskarSupported Adapters section below. 3297785Spdeuskar 3397785SpdeuskarSupport for VLANs has been added as a new feature in this driver version. 3497785Spdeuskar 3597785SpdeuskarFor questions related to hardware requirements, refer to the documentation 3697785Spdeuskarsupplied with your Intel PRO/1000 adapter. All hardware requirements listed 3797785Spdeuskarapply to use with FreeBSD. 3897785Spdeuskar 3997785Spdeuskar 4097785SpdeuskarSupported Adapters 4197785Spdeuskar================== 4297785Spdeuskar 4397785SpdeuskarThe following Intel network adapters are compatible with the drivers in this 4497785Spdeuskarrelease: 4597785Spdeuskar 4697785Spdeuskar Controller Adapter Name Board IDs 4797785Spdeuskar ---------- ------------ --------- 4897785Spdeuskar 4997785Spdeuskar 82542 PRO/1000 Gigabit Server Adapter 700262-xxx, 717037-xxx 5097785Spdeuskar 5197785Spdeuskar 82543 PRO/1000 F Server Adapter 738640-xxx, A38888-xxx, 5297785Spdeuskar A06512-xxx 5397785Spdeuskar 5497785Spdeuskar 82543 PRO/1000 T Server Adapter A19845-xxx, A33948-xxx 5597785Spdeuskar 5697785Spdeuskar 82544 PRO/1000 XT Server Adapter A51580-xxx 5797785Spdeuskar 5897785Spdeuskar 82544 PRO/1000 XF Server Adapter A50484-xxx 5997785Spdeuskar 6097785Spdeuskar 82544 PRO/1000 T Desktop Adapter A62947-xxx 6197785Spdeuskar 6297785Spdeuskar 82540 PRO/1000 MT Desktop Adapter A78708-xxx 6397785Spdeuskar 6497785Spdeuskar 82545 PRO/1000 MT Server Adapter A92165-xxx 6597785Spdeuskar 6697785Spdeuskar 82545 PRO/1000 MF Server Adapter A91622-xxx 6797785Spdeuskar 6897785Spdeuskar 82545 PRO/1000 MF Server Adapter(LX) A91624-xxx 6997785Spdeuskar 7097785Spdeuskar 82546 PRO/1000 MT Dual Port Server Adapter A92111-xxx 7197785Spdeuskar 7297785Spdeuskar 82546 PRO/1000 MF Dual Port Server Adapter A91620-xxx 7397785Spdeuskar 7497785Spdeuskar 7597785SpdeuskarTo verify your Intel adapter is supported, find the board ID number on the 7697785Spdeuskaradapter. Look for a label that has a barcode and a number in the format of 7797785Spdeuskar123456-001 (six digits hyphen three digits). Match this to the list of 7897785Spdeuskarnumbers above. 7997785Spdeuskar 8097785SpdeuskarFor more information on how to identify your adapter, go to the Adapter & 8197785SpdeuskarDriver ID Guide at: 8297785Spdeuskar 8397785Spdeuskar http://support.intel.com/support/network/adapter/pro100/21397.htm 8497785Spdeuskar 8597785SpdeuskarFor the latest Intel network drivers for FreeBSD, see: 8697785Spdeuskar 8797785Spdeuskar http://appsr.intel.com/scripts-df/support_intel.asp 8897785Spdeuskar 8997785Spdeuskar 9097785SpdeuskarBuilding and Installation 9197785Spdeuskar========================= 9297785Spdeuskar 9397785SpdeuskarNOTE: You must have kernel sources installed in order to compile the driver 9497785Spdeuskar module. 9597785Spdeuskar 9697785Spdeuskar In the instructions below, x.x.x is the driver version as indicated in 9797785Spdeuskar the name of the driver tar. 9897785Spdeuskar 9997785Spdeuskar 10097785Spdeuskar1. Move the base driver tar file to the directory of your choice. For 10197785Spdeuskar example, use /home/username/em or /usr/local/src/em. 10297785Spdeuskar 10397785Spdeuskar2. Untar/unzip the archive: 10497785Spdeuskar 10597785Spdeuskar tar xfz em-x.x.x.tar.gz 10697785Spdeuskar 10797785Spdeuskar3. To load the driver onto a running system: 10897785Spdeuskar 10997785Spdeuskar cd em-x.x.x/modules 11097785Spdeuskar kldload ./if_em.ko 11197785Spdeuskar 11297785Spdeuskar4. To assign an IP address to the interface, enter the following: 11397785Spdeuskar 11497785Spdeuskar ifconfig em<interface_num> <IP_address> 11597785Spdeuskar 11697785Spdeuskar5. Verify that the interface works. Enter the following, where <IP_address> 11797785Spdeuskar is the IP address for another machine on the same subnet as the interface 11897785Spdeuskar that is being tested: 11997785Spdeuskar 12097785Spdeuskar ping <IP_address> 12197785Spdeuskar 12297785Spdeuskar6. If you want the driver to load automatically when the system is booted: 12397785Spdeuskar 12497785Spdeuskar cd em-x.x.x/modules 12597785Spdeuskar cp if_em.ko /modules 12697785Spdeuskar 12797785Spdeuskar Edit /boot/loader.conf, and add the following line: 12897785Spdeuskar 12997785Spdeuskar if_em_load="YES" 13097785Spdeuskar 13197785Spdeuskar OR 13297785Spdeuskar 13397785Spdeuskar compile the driver into the kernel (see item 7). 13497785Spdeuskar 13597785Spdeuskar 13697785Spdeuskar Edit /etc/rc.conf, and create the appropriate ifconfig_em<interface_num> 13797785Spdeuskar entry: 13897785Spdeuskar 13997785Spdeuskar ifconfig_em<interface_num>="<ifconfig_settings>" 14097785Spdeuskar 14197785Spdeuskar Example usage: 14297785Spdeuskar 14397785Spdeuskar ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0" 14497785Spdeuskar 14597785Spdeuskar NOTE: For assistance, see the ifconfig man page. 14697785Spdeuskar 14797785Spdeuskar7. If you want to compile the driver into the kernel, enter: 14897785Spdeuskar 14997785Spdeuskar mkdir /usr/src/sys/dev/em 15097785Spdeuskar cd em-x.x.x/src 15197785Spdeuskar cp if_em* /usr/src/sys/dev/em 15297785Spdeuskar mkdir /usr/src/sys/modules/em 15397785Spdeuskar cp Makefile /usr/src/sys/modules/em 15497785Spdeuskar 15597785Spdeuskar Edit Makefile at /usr/src/sys/modules to add the em subdirectory. 15697785Spdeuskar 15797785Spdeuskar Edit your config file and add the following line, if it is not already 15897785Spdeuskar in the file: 15997785Spdeuskar 16097785Spdeuskar device em 16197785Spdeuskar 16297785Spdeuskar Edit your config file, and remove the 'device wx' line from the file. 16397785Spdeuskar 16497785Spdeuskar Edit the /usr/src/sys/conf/files.i386 file, and add the following lines: 16597785Spdeuskar 16697785Spdeuskar dev/em/if_em.c optional em 16797785Spdeuskar dev/em/if_em_hw.c optional em 16897785Spdeuskar 16997785Spdeuskar Remove the following files from the /usr/src/sys/conf/files.i386 file, if 17097785Spdeuskar they exist: 17197785Spdeuskar 17297785Spdeuskar /dev/em/if_em_fxhw.c 17397785Spdeuskar /dev/em/if_em_phy.c 17497785Spdeuskar 17597785Spdeuskar Compile and install the kernel. 17697785Spdeuskar 17797785Spdeuskar 17897785SpdeuskarSpeed and Duplex Configuration 17997785Spdeuskar============================== 18097785Spdeuskar 18197785SpdeuskarBy default, the adapter auto-negotiates the speed and duplex of the 18297785Spdeuskarconnection. If there is a specific need, the ifconfig utility can be used to 18397785Spdeuskarconfigure the speed and duplex settings on the adapter. Example usage: 18497785Spdeuskar 18597785Spdeuskar ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt 18697785Spdeuskar full-duplex 18797785Spdeuskar 18897785Spdeuskar NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is 18997785Spdeuskar not specified and you are not running at gigabit speed, the driver 19097785Spdeuskar defaults to half-duplex. 19197785Spdeuskar 19297785Spdeuskar 19397785SpdeuskarThis driver supports the following media type options: 19497785Spdeuskar 19597785Spdeuskar autoselect - Enables auto-negotiation for speed and duplex. 19697785Spdeuskar 19797785Spdeuskar 10baseT/UTP - Sets speed to 10 Mbps. Use the ifconfig mediaopt 19897785Spdeuskar option to select full-duplex mode. 19997785Spdeuskar 20097785Spdeuskar 100baseTX - Sets speed to 100 Mbps. Use the ifconfig mediaopt 20197785Spdeuskar option to select full-duplex mode. 20297785Spdeuskar 20397785Spdeuskar 1000baseTX - Sets speed to 1000 Mbps. In this case, the driver 20497785Spdeuskar supports only full-duplex mode. 20597785Spdeuskar 20697785Spdeuskar 1000baseSX - Sets speed to 1000 Mbps. In this case, the driver 20797785Spdeuskar supports only full-duplex mode. 20897785Spdeuskar 20997785SpdeuskarFor more information on the ifconfig utility, see the ifconfig man page. 21097785Spdeuskar 21197785Spdeuskar 21297785SpdeuskarAdditional Configurations 21397785Spdeuskar========================= 21497785Spdeuskar 21597785Spdeuskar Jumbo Frames 21697785Spdeuskar ------------ 21797785Spdeuskar 21897785Spdeuskar To enable Jumbo Frames, use the ifconfig utility to increase the MTU 21997785Spdeuskar beyond 1500 bytes. 22097785Spdeuskar 22197785Spdeuskar NOTE: Only enable Jumbo Frames if your network infrastructure supports 22297785Spdeuskar them. 22397785Spdeuskar 22497785Spdeuskar The MTU range for Jumbo Frames is 1500 to 16114. For example, enter the 22597785Spdeuskar following: 22697785Spdeuskar 22797785Spdeuskar ifconfig em<interface_num> mtu 9000 22897785Spdeuskar 22997785Spdeuskar VLANs 23097785Spdeuskar ----- 23197785Spdeuskar 23297785Spdeuskar To enable VLANs in the kernel, modify the config file as follows: 23397785Spdeuskar 23497785Spdeuskar pseudo-device vlan <num_VLANs> 23597785Spdeuskar 23697785Spdeuskar Then, recompile the kernel and reboot. 23797785Spdeuskar 23897785Spdeuskar To see the VLAN device entries, use ifconfig. 23997785Spdeuskar 24097785Spdeuskar To attach a VLAN to the driver enter the following: 24197785Spdeuskar 24297785Spdeuskar ifconfig vlan0 inet 10.0.0.1 netmask 255.255.255.0 vlan 1 vlandev 24397785Spdeuskar em0 mtu 1500 up 24497785Spdeuskar 24597785Spdeuskar Also, bring the driver up by entering: 24697785Spdeuskar 24797785Spdeuskar ifconfig em0 up 24897785Spdeuskar 24997785Spdeuskar 25097785SpdeuskarKnown Limitations 25197785Spdeuskar================= 25297785Spdeuskar 25397785SpdeuskarThere are known performance problems with this driver when running UDP 25497785Spdeuskartraffic with Jumbo Frames. Intel recommends not using Jumbo Frames for UDP 25597785Spdeuskartraffic. 25697785Spdeuskar 25797785Spdeuskar 25897785SpdeuskarSupport 25997785Spdeuskar======= 26097785Spdeuskar 26197785SpdeuskarFor general information and support, go to the Intel support website at: 26297785Spdeuskar 26397785Spdeuskar http://support.intel.com 26497785Spdeuskar 26597785SpdeuskarIf an issue is identified with the released source code on the supported 26697785Spdeuskarkernel with a supported adapter, email the specific information related to 26797785Spdeuskarthe issue to freebsdnic@mailbox.intel.com. 26897785Spdeuskar 26997785Spdeuskar 27097785SpdeuskarLicense 27197785Spdeuskar======= 27297785Spdeuskar 27397785SpdeuskarThis software program is released under the terms of a license agreement 27497785Spdeuskarbetween you ('Licensee') and Intel. Do not use or load this software or any 27597785Spdeuskarassociated materials (collectively, the 'Software') until you have carefully 27697785Spdeuskarread the full terms and conditions of the LICENSE located in this software 27797785Spdeuskarpackage. By loading or using the Software, you agree to the terms of this 27897785SpdeuskarAgreement. If you do not agree with the terms of this Agreement, do not 27997785Spdeuskarinstall or use the Software. 28097785Spdeuskar 28197785Spdeuskar* Other names and brands may be claimed as the property of others. 282