1.\" Copyright (c) 2001-2003, Intel Corporation 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions are met: 6.\" 7.\" 1. Redistributions of source code must retain the above copyright notice, 8.\" this list of conditions and the following disclaimer. 9.\" 10.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" notice, this list of conditions and the following disclaimer in the 12.\" documentation and/or other materials provided with the distribution. 13.\" 14.\" 3. Neither the name of the Intel Corporation nor the names of its 15.\" contributors may be used to endorse or promote products derived from 16.\" this software without specific prior written permission. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 22.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28.\" POSSIBILITY OF SUCH DAMAGE. 29.\" 30.\" * Other names and brands may be claimed as the property of others. 31.\" 32.\" $FreeBSD$ 33.\" 34.Dd March 22, 2017 35.Dt EM 4 36.Os 37.Sh NAME 38.Nm em 39.Nd "Intel(R) PRO/1000 Gigabit Ethernet adapter driver" 40.Sh SYNOPSIS 41To compile this driver into the kernel, 42place the following line in your 43kernel configuration file: 44.Bd -ragged -offset indent 45.Cd "device em" 46.Ed 47.Pp 48Alternatively, to load the driver as a 49module at boot time, place the following line in 50.Xr loader.conf 5 : 51.Bd -literal -offset indent 52if_em_load="YES" 53.Ed 54.Sh DESCRIPTION 55The 56.Nm 57driver provides support for PCI Gigabit Ethernet adapters based on 58the Intel 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 5982546EB, 82546GB, 82547, 82571, 81572, 82573, and 82574 Ethernet 60controller chips. 61.Pp 62The 63.Nm 64driver also provides support for PCI Express Gigabit Ethernet adapters 65based on the Intel 82575, 82576, 82580, i21x and i35x. 66.Pp 67The driver supports Transmit/Receive checksum offload and Jumbo Frames 68on all but 82542-based adapters. 69.Pp 70Furthermore it supports TCP segmentation offload (TSO) on all adapters but 71those based on the 82543, 82544 and 82547 controller chips. 72The identification LEDs of the adapters supported by the 73.Nm 74driver can be controlled via the 75.Xr led 4 76API for localization purposes. 77For further hardware information, see the 78.Pa README 79included with the driver. 80.Pp 81For questions related to hardware requirements, refer to the 82documentation supplied with your Intel PRO/1000 adapter. 83All hardware requirements listed apply to use with 84.Fx . 85.Pp 86Support for Jumbo Frames is provided via the interface MTU setting. 87Selecting an MTU larger than 1500 bytes with the 88.Xr ifconfig 8 89utility configures the adapter to receive and transmit Jumbo Frames. 90The maximum MTU size for Jumbo Frames is 16114. 91.Pp 92This driver supports hardware assisted VLANs. 93The 94.Nm 95driver supports the following media types: 96.Bl -tag -width ".Cm 10baseT/UTP" 97.It Cm autoselect 98Enables auto-negotiation for speed and duplex. 99.It Cm 10baseT/UTP 100Sets 10Mbps operation. 101Use the 102.Cm mediaopt 103option to select 104.Cm full-duplex 105mode. 106.It Cm 100baseTX 107Sets 100Mbps operation. 108Use the 109.Cm mediaopt 110option to select 111.Cm full-duplex 112mode. 113.It Cm 1000baseSX 114Sets 1000Mbps operation. 115Only 116.Cm full-duplex 117mode is supported at this speed. 118.It Cm 1000baseTX 119Sets 1000Mbps operation. 120Only 121.Cm full-duplex 122mode is supported at this speed. 123.El 124.Pp 125The 126.Nm 127driver supports the following media options: 128.Bl -tag -width ".Cm full-duplex" 129.It Cm full-duplex 130Forces full-duplex operation 131.It Cm half-duplex 132Forces half-duplex operation. 133.El 134.Pp 135Only use 136.Cm mediaopt 137to set the driver to 138.Cm full-duplex . 139If 140.Cm mediaopt 141is not specified, the driver defaults to 142.Cm half-duplex . 143.Pp 144For more information on configuring this device, see 145.Xr ifconfig 8 . 146.Sh HARDWARE 147The 148.Nm 149driver supports Gigabit Ethernet adapters based on the Intel 15082540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB, 15182546GB, 82547, 82571, 82572, 82573, 82574, 82575, 82576, and 82580 152controller chips: 153.Pp 154.Bl -bullet -compact 155.It 156Intel Gigabit ET Dual Port Server Adapter (82576) 157.It 158Intel Gigabit VT Quad Port Server Adapter (82575) 159.It 160Intel Single, Dual and Quad Gigabit Ethernet Controller (82580) 161.It 162Intel i210 and i211 Gigabit Ethernet Controller 163.It 164Intel i350 and i354 Gigabit Ethernet Controller 165.It 166Intel PRO/1000 CT Network Connection (82547) 167.It 168Intel PRO/1000 F Server Adapter (82543) 169.It 170Intel PRO/1000 Gigabit Server Adapter (82542) 171.It 172Intel PRO/1000 GT Desktop Adapter (82541PI) 173.It 174Intel PRO/1000 MF Dual Port Server Adapter (82546) 175.It 176Intel PRO/1000 MF Server Adapter (82545) 177.It 178Intel PRO/1000 MF Server Adapter (LX) (82545) 179.It 180Intel PRO/1000 MT Desktop Adapter (82540) 181.It 182Intel PRO/1000 MT Desktop Adapter (82541) 183.It 184Intel PRO/1000 MT Dual Port Server Adapter (82546) 185.It 186Intel PRO/1000 MT Quad Port Server Adapter (82546EB) 187.It 188Intel PRO/1000 MT Server Adapter (82545) 189.It 190Intel PRO/1000 PF Dual Port Server Adapter (82571) 191.It 192Intel PRO/1000 PF Quad Port Server Adapter (82571) 193.It 194Intel PRO/1000 PF Server Adapter (82572) 195.It 196Intel PRO/1000 PT Desktop Adapter (82572) 197.It 198Intel PRO/1000 PT Dual Port Server Adapter (82571) 199.It 200Intel PRO/1000 PT Quad Port Server Adapter (82571) 201.It 202Intel PRO/1000 PT Server Adapter (82572) 203.It 204Intel PRO/1000 T Desktop Adapter (82544) 205.It 206Intel PRO/1000 T Server Adapter (82543) 207.It 208Intel PRO/1000 XF Server Adapter (82544) 209.It 210Intel PRO/1000 XT Server Adapter (82544) 211.El 212.Sh LOADER TUNABLES 213Tunables can be set at the 214.Xr loader 8 215prompt before booting the kernel or stored in 216.Xr loader.conf 5 . 217.Bl -tag -width indent 218.It Va hw.em.disable_crc_stripping 219Disable or enable hardware stripping of CRC field. 220This is mostly useful on BMC/IPMI shared interfaces where stripping the CRC 221causes remote access over IPMI to fail. 222Default 0 (enabled). 223.It Va hw.em.eee_setting 224Disable or enable Energy Efficient Ethernet. 225Default 1 (disabled). 226.It Va hw.em.msix 227Enable or disable MSI-X style interrupts. 228Default 1 (enabled). 229.It Va hw.em.smart_pwr_down 230Enable or disable smart power down features on newer adapters. 231Default 0 (disabled). 232.It Va hw.em.sbp 233Show bad packets when in promiscuous mode. 234Default 0 (off). 235.It Va hw.em.rxd 236Number of receive descriptors allocated by the driver. 237The default value is 1024 for adapters newer than 82547, 238and 256 for older ones. 239The 82542 and 82543-based adapters can handle up to 256 descriptors, 240while others can have up to 4096. 241.It Va hw.em.txd 242Number of transmit descriptors allocated by the driver. 243The default value is 1024 for adapters newer than 82547, 244and 256 for older ones. 245The 82542 and 82543-based adapters can handle up to 256 descriptors, 246while others can have up to 4096. 247.It Va hw.em.rx_int_delay 248This value delays the generation of receive interrupts in units of 2491.024 microseconds. 250The default value is 0, since adapters may hang with this feature 251being enabled. 252.It Va hw.em.rx_abs_int_delay 253If 254.Va hw.em.rx_int_delay 255is non-zero, this tunable limits the maximum delay in which a receive 256interrupt is generated. 257.It Va hw.em.tx_int_delay 258This value delays the generation of transmit interrupts in units of 2591.024 microseconds. 260The default value is 64. 261.It Va hw.em.tx_abs_int_delay 262If 263.Va hw.em.tx_int_delay 264is non-zero, this tunable limits the maximum delay in which a transmit 265interrupt is generated. 266.Sh FILES 267.Bl -tag -width /dev/led/em* 268.It Pa /dev/led/em* 269identification LED device nodes 270.El 271.Sh EXAMPLES 272Make the identification LED of em0 blink: 273.Pp 274.Dl "echo f2 > /dev/led/em0" 275.Pp 276Turn the identification LED of em0 off again: 277.Pp 278.Dl "echo 0 > /dev/led/em0" 279.Sh DIAGNOSTICS 280.Bl -diag 281.It "em%d: Unable to allocate bus resource: memory" 282A fatal initialization error has occurred. 283.It "em%d: Unable to allocate bus resource: interrupt" 284A fatal initialization error has occurred. 285.It "em%d: watchdog timeout -- resetting" 286The device has stopped responding to the network, or there is a problem with 287the network connection (cable). 288.El 289.Sh SUPPORT 290For general information and support, 291go to the Intel support website at: 292.Pa http://support.intel.com . 293.Pp 294If an issue is identified with the released source code on the supported kernel 295with a supported adapter, email the specific information related to the 296issue to 297.Aq Mt freebsd@intel.com . 298.Sh SEE ALSO 299.Xr altq 4 , 300.Xr arp 4 , 301.Xr led 4 , 302.Xr netintro 4 , 303.Xr ng_ether 4 , 304.Xr polling 4 , 305.Xr vlan 4 , 306.Xr ifconfig 8 307.Sh HISTORY 308The 309.Nm 310device driver first appeared in 311.Fx 4.4 . 312.Nm 313was merged with the igb device driver and converted to the iflib framework in 314.Fx 12.0 . 315.Sh AUTHORS 316.An -nosplit 317The 318.Nm 319driver was originally written by 320.An Intel Corporation Aq Mt freebsd@intel.com . 321It was merged with igb driver and converted to the iflib framework by 322.An Matthew Macy Aq Mt mmacy@mattmacy.io 323and 324.An Sean Bruno Aq Mt sbruno@FreeBSD.org . 325