README revision 112472
1$FreeBSD: head/sys/dev/em/README 112472 2003-03-21 21:47:31Z pdeuskar $ 2FreeBSD* Driver for the Intel(R) PRO/1000 Family of Adapters 3============================================================ 4 5February 5, 2003 6 7 8Contents 9======== 10 11- Overview 12- Supported Adapters 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, version 1.5.x, for the Intel(R) 25PRO/1000 Family of Adapters. This driver has been developed for use with 26FreeBSD, version 4.7. 27 28For questions related to hardware requirements, refer to the documentation 29supplied with your Intel PRO/1000 adapter. All hardware requirements listed 30apply to use with FreeBSD. 31 32 33Supported Adapters 34================== 35 36The following Intel network adapters are compatible with the drivers in this 37release: 38 39 Controller Adapter Name Board IDs 40 ---------- ------------ --------- 41 42 82542 PRO/1000 Gigabit Server Adapter 700262-xxx, 717037-xxx 43 44 82543 PRO/1000 F Server Adapter 738640-xxx, A38888-xxx, 45 A06512-xxx 46 47 82543 PRO/1000 T Server Adapter A19845-xxx, A33948-xxx 48 49 82544 PRO/1000 XT Server Adapter A51580-xxx 50 51 82544 PRO/1000 XF Server Adapter A50484-xxx 52 53 82544 PRO/1000 T Desktop Adapter A62947-xxx 54 55 82540 PRO/1000 MT Desktop Adapter A78408-xxx 56 82541 C91016-xxx 57 58 82545 PRO/1000 MT Server Adapter A92165-xxx 59 60 82545 PRO/1000 MF Server Adapter A91622-xxx 61 62 82545 PRO/1000 MF Server Adapter(LX) A91624-xxx 63 64 82546 PRO/1000 MT Dual Port Server Adapter A92111-xxx 65 66 82546 PRO/1000 MF Dual Port Server Adapter A91620-xxx 67 68 69 70To verify your Intel adapter is supported, find the board ID number on the 71adapter. Look for a label that has a barcode and a number in the format of 72123456-001 (six digits hyphen three digits). Match this to the list of 73numbers above. 74 75For more information on how to identify your adapter, go to the Adapter & 76Driver ID Guide at: 77 78 http://support.intel.com/support/network/adapter/pro100/21397.htm 79 80For the latest Intel network drivers for FreeBSD, see: 81 82 http://appsr.intel.com/scripts-df/support_intel.asp 83 84 85Building and Installation 86========================= 87 88NOTE: The driver can be installed as a dynamic loadable kernel module or 89 compiled into the kernel. You must have kernel sources installed in 90 order to compile the driver module. 91 92In the instructions below, x.x.x is the driver version as indicated in the 93name of the driver tar file. 94 951. Move the base driver tar file to the directory of your choice. For 96 example, use /home/username/em or /usr/local/src/em. 97 982. Untar/unzip the archive: 99 100 tar xvfz em-x.x.x.tar.gz 101 102 This will create an em-x.x.x directory. 103 1043. To create a loadable module, perform the following steps. 105 NOTE: To compile the driver into the kernel, go directly to step 4. 106 107 a. To compile the module 108 109 cd em-x.x.x 110 make 111 112 b. To install the compiled module in system directory: 113 114 make install 115 116 c. If you want the driver to load automatically when the system is booted: 117 118 1. Follow steps a, and b above to compile and install the module 119 2. Edit /boot/loader.conf, and add the following line: 120 121 if_em_load="YES" 122 1234. To compile the driver into the kernel: 124 125 cd em-x.x.x/src 126 127 cp if_em* /usr/src/sys/dev/em 128 129 cp Makefile /usr/src/sys/modules/em 130 131 Edit the /usr/src/sys/conf/files.i386 file, and add the following lines: 132 133 dev/em/if_em.c optional em 134 135 dev/em/if_em_hw.c optional em 136 137 Remove the following lines from the /usr/src/sys/conf/files.i386 file, 138 if they exist: 139 140 dev/em/if_em_fxhw.c optional em 141 dev/em/if_em_phy.c optional em 142 143 Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in 144 /usr/src/sys/i386/conf, and ensure the following line is present: 145 146 device em 147 148 Compile and install the kernel. The system must be rebooted for the kernel 149 updates to take effect. For additional information on compiling the 150 kernel, consult the FreeBSD operating system documentation. 151 1525. To assign an IP address to the interface, enter the following: 153 154 ifconfig em<interface_num> <IP_address> 155 1566. Verify that the interface works. Enter the following, where <IP_address> 157 is the IP address for another machine on the same subnet as the interface 158 that is being tested: 159 160 ping <IP_address> 161 1627. To configure the IP address to remain after reboot, edit /etc/rc.conf, 163 and create the appropriate ifconfig_em<interface_num>�entry: 164 165 ifconfig_em<interface_num>="<ifconfig_settings>" 166 167 Example usage: 168 169 ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0" 170 171 NOTE: For assistance, see the ifconfig man page. 172 173 174Speed and Duplex Configuration 175============================== 176 177By default, the adapter auto-negotiates the speed and duplex of the 178connection. If there is a specific need, the ifconfig utility can be used to 179configure the speed and duplex settings on the adapter. Example usage: 180 181 ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt 182 full-duplex 183 184 NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is 185 not specified and you are not running at gigabit speed, the driver 186 defaults to half-duplex. 187 188 189This driver supports the following media type options: 190 191 autoselect - Enables auto-negotiation for speed and duplex. 192 193 10baseT/UTP - Sets speed to 10 Mbps. Use the ifconfig mediaopt 194 option to select full-duplex mode. 195 196 100baseTX - Sets speed to 100 Mbps. Use the ifconfig mediaopt 197 option to select full-duplex mode. 198 199 1000baseTX - Sets speed to 1000 Mbps. In this case, the driver 200 supports only full-duplex mode. 201 202 1000baseSX - Sets speed to 1000 Mbps. In this case, the driver 203 supports only full-duplex mode. 204 205For more information on the ifconfig utility, see the ifconfig man page. 206 207 208Additional Configurations 209========================= 210 211The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on 212all but the 82542-based adapters. For specific adapters, refer to the 213Supported Adapters section. 214 215 Jumbo Frames 216 ------------ 217 To enable Jumbo Frames, use the ifconfig utility to increase the MTU 218 beyond 1500 bytes. 219 220 NOTES: Only enable Jumbo Frames if your network infrastructure supports 221 them. 222 223 The Jumbo Frames setting on the switch must be set to at least 224 22 bytes larger than that of the adapter. 225 226 The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default 227 MTU range is 1500. To modify the setting, enter the following: 228 229 ifconfig em<interface_num> <hostname or IP address> mtu 9000 230 231 To confirm an interface's MTU value, use the ifconfig command. To confirm 232 the MTU used between two specific devices, use: 233 234 route get <destination_IP_address> 235 236 VLANs 237 ----- 238 To create a new VLAN pseudo-interface: 239 240 ifconfig <vlan_name> create 241 242 To associate the VLAN pseudo-interface with a physical interface and 243 assign a VLAN ID, IP address, and netmask: 244 245 ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan 246 <vlan_id> vlandev <physical_interface> 247 248 Example: 249 250 ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan10 vlandev em0 251 252 In this example, all packets will be marked on egress with 802.1Q VLAN 253 tags, specifying a VLAN ID of 10. 254 255 To remove a VLAN pseudo-interface: 256 257 ifconfig <vlan_name> destroy 258 259 Polling 260 ------- 261 To enable polling in the driver, add the following options to the kernel 262 configuration, and then recompile the kernel: 263 264 options DEVICE_POLLING 265 options HZ=1000 266 267 At runtime, use the following command to turn on polling mode. Similarly, 268 turn off polling mode by setting the variable to 0: 269 270 sysctl kern.polling.enable=1 271 272 273 NOTES: DEVICE POLLING is only valid for non-SMP kernels. 274 275 The driver has to be built into the kernel for DEVICE POLLING to be 276 enabled in the driver. 277 278 279Known Limitations 280================= 281 282There are known performance issues with this driver when running UDP traffic 283with Jumbo Frames. Intel recommends not using Jumbo Frames for UDP traffic. 284 285 286Support 287======= 288 289For general information and support, go to the Intel support website at: 290 291 http://support.intel.com 292 293If an issue is identified with the released source code on the supported 294kernel with a supported adapter, email the specific information related to 295the issue to freebsdnic@mailbox.intel.com. 296 297 298License 299======= 300 301This software program is released under the terms of a license agreement 302between you ('Licensee') and Intel. Do not use or load this software or any 303associated materials (collectively, the 'Software') until you have carefully 304read the full terms and conditions of the LICENSE located in this software 305package. By loading or using the Software, you agree to the terms of this 306Agreement. If you do not agree with the terms of this Agreement, do not 307install or use the Software. 308 309* Other names and brands may be claimed as the property of others. 310