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