2 FreeBSD* Driver for the Intel(R) PRO/1000 Family of Adapters
3 ============================================================
12 - Identifying Your Adapter
13 - Building and Installation
14 - Speed and Duplex Configuration
15 - Additional Configurations
24 This file describes the FreeBSD* driver, version 2.1.x, for the Intel(R)
25 PRO/1000 Family of Adapters. This driver has been developed for use with
28 For questions related to hardware requirements, refer to the documentation
29 supplied with your Intel PRO/1000 adapter. All hardware requirements listed
30 apply to use with FreeBSD.
33 Identifying Your Adapter
34 ========================
36 For information on how to identify your adapter, go to the Adapter &
39 http://support.intel.com/support/network/adapter/pro100/21397.htm
42 For the latest Intel network drivers for FreeBSD, see:
44 http://appsr.intel.com/scripts-df/support_intel.asp
47 NOTE: Mobile adapters are not fully supported.
50 Building and Installation
51 =========================
53 NOTE: The driver can be installed as a dynamic loadable kernel module or
54 compiled into the kernel. You must have kernel sources installed in
55 order to compile the driver module.
57 In the instructions below, x.x.x is the driver version as indicated in the
58 name of the driver tar file.
60 1. Move the base driver tar file to the directory of your choice. For
61 example, use /home/username/em or /usr/local/src/em.
63 2. Untar/unzip the archive:
65 tar xvfz em-x.x.x.tar.gz
67 This will create an em-x.x.x directory.
69 3. To create a loadable module, perform the following steps.
70 NOTE: To compile the driver into the kernel, go directly to step 4.
72 a. To compile the module
77 b. To install the compiled module in system directory:
81 c. If you want the driver to load automatically when the system is booted:
83 1. Edit /boot/loader.conf, and add the following line:
87 4. To compile the driver into the kernel:
91 cp if_em* /usr/src/sys/dev/em
93 cp Makefile.kernel /usr/src/sys/modules/em/Makefile
95 Edit the /usr/src/sys/conf/files.i386 file, and add the following lines only if
96 they don't already exist:
98 dev/em/if_em.c optional em
100 dev/em/if_em_hw.c optional em
102 Remove the following lines from the /usr/src/sys/conf/files.i386 file,
105 dev/em/if_em_fxhw.c optional em
106 dev/em/if_em_phy.c optional em
108 Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in
109 /usr/src/sys/i386/conf, and ensure the following line is present:
113 Compile and install the kernel. The system must be rebooted for the kernel
114 updates to take effect. For additional information on compiling the
115 kernel, consult the FreeBSD operating system documentation.
117 5. To assign an IP address to the interface, enter the following:
119 ifconfig em<interface_num> <IP_address>
121 6. Verify that the interface works. Enter the following, where <IP_address>
122 is the IP address for another machine on the same subnet as the interface
123 that is being tested:
127 7. To configure the IP address to remain after reboot, edit /etc/rc.conf,
128 and create the appropriate ifconfig_em<interface_num>entry:
130 ifconfig_em<interface_num>="<ifconfig_settings>"
134 ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0"
136 NOTE: For assistance, see the ifconfig man page.
139 Speed and Duplex Configuration
140 ==============================
142 By default, the adapter auto-negotiates the speed and duplex of the
143 connection. If there is a specific need, the ifconfig utility can be used to
144 configure the speed and duplex settings on the adapter. Example usage:
146 ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt
149 NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is
150 not specified and you are not running at gigabit speed, the driver
151 defaults to half-duplex.
154 This driver supports the following media type options:
156 autoselect - Enables auto-negotiation for speed and duplex.
158 10baseT/UTP - Sets speed to 10 Mbps. Use the ifconfig mediaopt
159 option to select full-duplex mode.
161 100baseTX - Sets speed to 100 Mbps. Use the ifconfig mediaopt
162 option to select full-duplex mode.
164 1000baseTX - Sets speed to 1000 Mbps. In this case, the driver
165 supports only full-duplex mode.
167 1000baseSX - Sets speed to 1000 Mbps. In this case, the driver
168 supports only full-duplex mode.
170 For more information on the ifconfig utility, see the ifconfig man page.
173 Additional Configurations
174 =========================
176 The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
177 all but the 82542-based adapters. For specific adapters, refer to the
178 Identifying Your Adapter section.
182 To enable Jumbo Frames, use the ifconfig utility to increase the MTU
185 NOTES: Only enable Jumbo Frames if your network infrastructure supports
188 The Jumbo Frames setting on the switch must be set to at least
189 22 bytes larger than that of the MTU.
191 The Intel PRO/1000 PM Network Connection does not support jumbo
195 The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default
196 MTU range is 1500. To modify the setting, enter the following:
198 ifconfig em<interface_num> <hostname or IP address> mtu 9000
200 To confirm the MTU used between two specific devices, use:
202 route get <destination_IP_address>
206 To create a new VLAN interface:
208 ifconfig <vlan_name> create
210 To associate the VLAN interface with a physical interface and
211 assign a VLAN ID, IP address, and netmask:
213 ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan
214 <vlan_id> vlandev <physical_interface>
218 ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan10 vlandev em0
220 In this example, all packets will be marked on egress with 802.1Q VLAN
221 tags, specifying a VLAN ID of 10.
223 To remove a VLAN interface:
225 ifconfig <vlan_name> destroy
229 To enable polling in the driver, add the following options to the kernel
230 configuration, and then recompile the kernel:
232 options DEVICE_POLLING
236 sysctl kern.polling.enable=1 to turn polling on
238 sysctl kern.polling.enable=0 to turn polling off
242 Checksum offloading is not supported on 82542 Gigabit adapters.
244 Checksum offloading supports both TCP and UDP packets and is
245 supported for both transmit and receive.
247 Checksum offloading can be enabled or disabled using ifconfig.
248 Both transmit and receive offloading will be either enabled or
249 disabled together. You cannot enable/disable one without the other.
251 To enable checksum offloading:
253 ifconfig <interface_num> rxcsum
255 To disable checksum offloading:
257 ifconfig <interface_num> -rxcsum
259 To confirm the current setting:
261 ifconfig <interface_num>
263 Look for the presence or absence of the following line:
265 options=3 <RXCSUM,TXCSUM>
267 See the ifconfig man page for further information.
272 There are known performance issues with this driver when running UDP traffic
275 There is a known compatibility issue where time to link is slow or link is not
276 established between 82541/82547 controllers and some switches. Known switches
281 The driver can be compiled with the following changes:
283 Edit ./em.x.x.x/src/if_em.h to uncomment the #define EM_MASTER_SLAVE
284 from within the comments. For example, change from:
286 /* #define EM_MASTER_SLAVE 2 */
288 #define EM_MASTER_SLAVE 2
290 Use one of the following options:
293 3 = Auto master/slave
294 Setting 2 is recommended.
296 Recompile the module:
297 a. To compile the module
302 b. To install the compiled module in system directory:
309 For general information and support, go to the Intel support website at:
311 http://support.intel.com
313 If an issue is identified, support is through email only at:
314 freebsdnic@mailbox.intel.com
319 This software program is released under the terms of a license agreement
320 between you ('Licensee') and Intel. Do not use or load this software or any
321 associated materials (collectively, the 'Software') until you have carefully
322 read the full terms and conditions of the LICENSE located in this software
323 package. By loading or using the Software, you agree to the terms of this
324 Agreement. If you do not agree with the terms of this Agreement, do not
325 install or use the Software.
327 * Other names and brands may be claimed as the property of others.