1c2183496SPrafulla Deuskar.\" Copyright (c) 2001-2003, Intel Corporation 21ac88dc0SPrafulla Deuskar.\" All rights reserved. 3c2183496SPrafulla Deuskar.\" 4c2183496SPrafulla Deuskar.\" Redistribution and use in source and binary forms, with or without 5c2183496SPrafulla Deuskar.\" modification, are permitted provided that the following conditions are met: 6c2183496SPrafulla Deuskar.\" 7c2183496SPrafulla Deuskar.\" 1. Redistributions of source code must retain the above copyright notice, 8c2183496SPrafulla Deuskar.\" this list of conditions and the following disclaimer. 9c2183496SPrafulla Deuskar.\" 10c2183496SPrafulla Deuskar.\" 2. Redistributions in binary form must reproduce the above copyright 11c2183496SPrafulla Deuskar.\" notice, this list of conditions and the following disclaimer in the 12c2183496SPrafulla Deuskar.\" documentation and/or other materials provided with the distribution. 13c2183496SPrafulla Deuskar.\" 14c2183496SPrafulla Deuskar.\" 3. Neither the name of the Intel Corporation nor the names of its 15c2183496SPrafulla Deuskar.\" contributors may be used to endorse or promote products derived from 16c2183496SPrafulla Deuskar.\" this software without specific prior written permission. 171ac88dc0SPrafulla Deuskar.\" 181ac88dc0SPrafulla Deuskar.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 191ac88dc0SPrafulla Deuskar.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 201ac88dc0SPrafulla Deuskar.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21c2183496SPrafulla Deuskar.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 22c2183496SPrafulla Deuskar.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23c2183496SPrafulla Deuskar.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24c2183496SPrafulla Deuskar.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25c2183496SPrafulla Deuskar.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26c2183496SPrafulla Deuskar.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27c2183496SPrafulla Deuskar.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28c2183496SPrafulla Deuskar.\" POSSIBILITY OF SUCH DAMAGE. 291ac88dc0SPrafulla Deuskar.\" 30e4fe103dSPrafulla Deuskar.\" * Other names and brands may be claimed as the property of others. 31802a4af8SRuslan Ermilov.\" 32e4fe103dSPrafulla Deuskar.\" $FreeBSD$ 335461e585SPrafulla Deuskar.\" 34*c75f49f7SKonstantin Belousov.Dd January 30, 2019 351ac88dc0SPrafulla Deuskar.Dt EM 4 36802a4af8SRuslan Ermilov.Os 371ac88dc0SPrafulla Deuskar.Sh NAME 381ac88dc0SPrafulla Deuskar.Nm em 397d9c4565SChristian Brueffer.Nd "Intel(R) PRO/1000 Gigabit Ethernet adapter driver" 401ac88dc0SPrafulla Deuskar.Sh SYNOPSIS 4116d78bb8STom RhodesTo compile this driver into the kernel, 42*c75f49f7SKonstantin Belousovplace the following lines in your 4390296834STom Rhodeskernel configuration file: 4486e3186eSTom Rhodes.Bd -ragged -offset indent 45*c75f49f7SKonstantin Belousov.Cd "device iflib" 461ac88dc0SPrafulla Deuskar.Cd "device em" 4786e3186eSTom Rhodes.Ed 4886e3186eSTom Rhodes.Pp 4916d78bb8STom RhodesAlternatively, to load the driver as a 5016d78bb8STom Rhodesmodule at boot time, place the following line in 5186e3186eSTom Rhodes.Xr loader.conf 5 : 5286e3186eSTom Rhodes.Bd -literal -offset indent 5386e3186eSTom Rhodesif_em_load="YES" 5486e3186eSTom Rhodes.Ed 551ac88dc0SPrafulla Deuskar.Sh DESCRIPTION 561ac88dc0SPrafulla DeuskarThe 571ac88dc0SPrafulla Deuskar.Nm 5891461de4SChristian Bruefferdriver provides support for PCI Gigabit Ethernet adapters based on 597d9c4565SChristian Bruefferthe Intel 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 60e0578797SSimon L. B. Nielsen82546EB, 82546GB, 82547, 82571, 81572, 82573, and 82574 Ethernet 61e0578797SSimon L. B. Nielsencontroller chips. 6267d01c2bSEnji Cooper.Pp 6367d01c2bSEnji CooperThe 6467d01c2bSEnji Cooper.Nm 6567d01c2bSEnji Cooperdriver also provides support for PCI Express Gigabit Ethernet adapters 6667d01c2bSEnji Cooperbased on the Intel 82575, 82576, 82580, i21x and i35x. 6767d01c2bSEnji Cooper.Pp 6867d01c2bSEnji CooperThe driver supports Transmit/Receive checksum offload and Jumbo Frames 6967d01c2bSEnji Cooperon all but 82542-based adapters. 7067d01c2bSEnji Cooper.Pp 71cb7e673cSChristian BruefferFurthermore it supports TCP segmentation offload (TSO) on all adapters but 72cb7e673cSChristian Bruefferthose based on the 82543, 82544 and 82547 controller chips. 73d6d81b73SMarius StroblThe identification LEDs of the adapters supported by the 74d6d81b73SMarius Strobl.Nm 75d6d81b73SMarius Strobldriver can be controlled via the 76d6d81b73SMarius Strobl.Xr led 4 77d6d81b73SMarius StroblAPI for localization purposes. 7891461de4SChristian BruefferFor further hardware information, see the 79802a4af8SRuslan Ermilov.Pa README 801ac88dc0SPrafulla Deuskarincluded with the driver. 811ac88dc0SPrafulla Deuskar.Pp 8267d01c2bSEnji CooperFor questions related to hardware requirements, refer to the 8367d01c2bSEnji Cooperdocumentation supplied with your Intel PRO/1000 adapter. 84802a4af8SRuslan ErmilovAll hardware requirements listed apply to use with 85802a4af8SRuslan Ermilov.Fx . 861ac88dc0SPrafulla Deuskar.Pp 87a59716d2SPrafulla DeuskarSupport for Jumbo Frames is provided via the interface MTU setting. 881ac88dc0SPrafulla DeuskarSelecting an MTU larger than 1500 bytes with the 891ac88dc0SPrafulla Deuskar.Xr ifconfig 8 90a59716d2SPrafulla Deuskarutility configures the adapter to receive and transmit Jumbo Frames. 91a59716d2SPrafulla DeuskarThe maximum MTU size for Jumbo Frames is 16114. 921ac88dc0SPrafulla Deuskar.Pp 9367d01c2bSEnji CooperThis driver supports hardware assisted VLANs. 941ac88dc0SPrafulla DeuskarThe 951ac88dc0SPrafulla Deuskar.Nm 961ac88dc0SPrafulla Deuskardriver supports the following media types: 97802a4af8SRuslan Ermilov.Bl -tag -width ".Cm 10baseT/UTP" 98802a4af8SRuslan Ermilov.It Cm autoselect 991ac88dc0SPrafulla DeuskarEnables auto-negotiation for speed and duplex. 100802a4af8SRuslan Ermilov.It Cm 10baseT/UTP 1011ac88dc0SPrafulla DeuskarSets 10Mbps operation. 102a59716d2SPrafulla DeuskarUse the 103802a4af8SRuslan Ermilov.Cm mediaopt 104a59716d2SPrafulla Deuskaroption to select 105802a4af8SRuslan Ermilov.Cm full-duplex 106a59716d2SPrafulla Deuskarmode. 107802a4af8SRuslan Ermilov.It Cm 100baseTX 1081ac88dc0SPrafulla DeuskarSets 100Mbps operation. 109a59716d2SPrafulla DeuskarUse the 110802a4af8SRuslan Ermilov.Cm mediaopt 111a59716d2SPrafulla Deuskaroption to select 112802a4af8SRuslan Ermilov.Cm full-duplex 113a59716d2SPrafulla Deuskarmode. 114802a4af8SRuslan Ermilov.It Cm 1000baseSX 1151ac88dc0SPrafulla DeuskarSets 1000Mbps operation. 1161ac88dc0SPrafulla DeuskarOnly 117802a4af8SRuslan Ermilov.Cm full-duplex 1181ac88dc0SPrafulla Deuskarmode is supported at this speed. 119802a4af8SRuslan Ermilov.It Cm 1000baseTX 1201ac88dc0SPrafulla DeuskarSets 1000Mbps operation. 1211ac88dc0SPrafulla DeuskarOnly 122802a4af8SRuslan Ermilov.Cm full-duplex 1231ac88dc0SPrafulla Deuskarmode is supported at this speed. 1241ac88dc0SPrafulla Deuskar.El 1251ac88dc0SPrafulla Deuskar.Pp 1261ac88dc0SPrafulla DeuskarThe 1271ac88dc0SPrafulla Deuskar.Nm 1281ac88dc0SPrafulla Deuskardriver supports the following media options: 129802a4af8SRuslan Ermilov.Bl -tag -width ".Cm full-duplex" 130802a4af8SRuslan Ermilov.It Cm full-duplex 131a59716d2SPrafulla DeuskarForces full-duplex operation 132802a4af8SRuslan Ermilov.It Cm half-duplex 133a59716d2SPrafulla DeuskarForces half-duplex operation. 1341ac88dc0SPrafulla Deuskar.El 1351ac88dc0SPrafulla Deuskar.Pp 136802a4af8SRuslan ErmilovOnly use 137802a4af8SRuslan Ermilov.Cm mediaopt 138802a4af8SRuslan Ermilovto set the driver to 139802a4af8SRuslan Ermilov.Cm full-duplex . 140802a4af8SRuslan ErmilovIf 141802a4af8SRuslan Ermilov.Cm mediaopt 142802a4af8SRuslan Ermilovis not specified, the driver defaults to 143802a4af8SRuslan Ermilov.Cm half-duplex . 144a59716d2SPrafulla Deuskar.Pp 1451ac88dc0SPrafulla DeuskarFor more information on configuring this device, see 1461ac88dc0SPrafulla Deuskar.Xr ifconfig 8 . 14791461de4SChristian Brueffer.Sh HARDWARE 14891461de4SChristian BruefferThe 14991461de4SChristian Brueffer.Nm 15091461de4SChristian Bruefferdriver supports Gigabit Ethernet adapters based on the Intel 1517d9c4565SChristian Brueffer82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB, 15267d01c2bSEnji Cooper82546GB, 82547, 82571, 82572, 82573, 82574, 82575, 82576, and 82580 15367d01c2bSEnji Coopercontroller chips: 15491461de4SChristian Brueffer.Pp 15591461de4SChristian Brueffer.Bl -bullet -compact 15691461de4SChristian Brueffer.It 15767d01c2bSEnji CooperIntel Gigabit ET Dual Port Server Adapter (82576) 15867d01c2bSEnji Cooper.It 15967d01c2bSEnji CooperIntel Gigabit VT Quad Port Server Adapter (82575) 16067d01c2bSEnji Cooper.It 16167d01c2bSEnji CooperIntel Single, Dual and Quad Gigabit Ethernet Controller (82580) 16267d01c2bSEnji Cooper.It 16367d01c2bSEnji CooperIntel i210 and i211 Gigabit Ethernet Controller 16467d01c2bSEnji Cooper.It 16567d01c2bSEnji CooperIntel i350 and i354 Gigabit Ethernet Controller 16667d01c2bSEnji Cooper.It 16791461de4SChristian BruefferIntel PRO/1000 CT Network Connection (82547) 16891461de4SChristian Brueffer.It 16991461de4SChristian BruefferIntel PRO/1000 F Server Adapter (82543) 17091461de4SChristian Brueffer.It 17191461de4SChristian BruefferIntel PRO/1000 Gigabit Server Adapter (82542) 17291461de4SChristian Brueffer.It 17391461de4SChristian BruefferIntel PRO/1000 GT Desktop Adapter (82541PI) 17491461de4SChristian Brueffer.It 17591461de4SChristian BruefferIntel PRO/1000 MF Dual Port Server Adapter (82546) 17691461de4SChristian Brueffer.It 17791461de4SChristian BruefferIntel PRO/1000 MF Server Adapter (82545) 17891461de4SChristian Brueffer.It 17991461de4SChristian BruefferIntel PRO/1000 MF Server Adapter (LX) (82545) 18091461de4SChristian Brueffer.It 18191461de4SChristian BruefferIntel PRO/1000 MT Desktop Adapter (82540) 18291461de4SChristian Brueffer.It 18391461de4SChristian BruefferIntel PRO/1000 MT Desktop Adapter (82541) 18491461de4SChristian Brueffer.It 18591461de4SChristian BruefferIntel PRO/1000 MT Dual Port Server Adapter (82546) 18691461de4SChristian Brueffer.It 18791461de4SChristian BruefferIntel PRO/1000 MT Quad Port Server Adapter (82546EB) 18891461de4SChristian Brueffer.It 18991461de4SChristian BruefferIntel PRO/1000 MT Server Adapter (82545) 19091461de4SChristian Brueffer.It 191e0578797SSimon L. B. NielsenIntel PRO/1000 PF Dual Port Server Adapter (82571) 192e0578797SSimon L. B. Nielsen.It 193e0578797SSimon L. B. NielsenIntel PRO/1000 PF Quad Port Server Adapter (82571) 194e0578797SSimon L. B. Nielsen.It 195e0578797SSimon L. B. NielsenIntel PRO/1000 PF Server Adapter (82572) 196e0578797SSimon L. B. Nielsen.It 197e0578797SSimon L. B. NielsenIntel PRO/1000 PT Desktop Adapter (82572) 198e0578797SSimon L. B. Nielsen.It 199e0578797SSimon L. B. NielsenIntel PRO/1000 PT Dual Port Server Adapter (82571) 200e0578797SSimon L. B. Nielsen.It 201e0578797SSimon L. B. NielsenIntel PRO/1000 PT Quad Port Server Adapter (82571) 202e0578797SSimon L. B. Nielsen.It 203e0578797SSimon L. B. NielsenIntel PRO/1000 PT Server Adapter (82572) 204e0578797SSimon L. B. Nielsen.It 20591461de4SChristian BruefferIntel PRO/1000 T Desktop Adapter (82544) 20691461de4SChristian Brueffer.It 20791461de4SChristian BruefferIntel PRO/1000 T Server Adapter (82543) 20891461de4SChristian Brueffer.It 20991461de4SChristian BruefferIntel PRO/1000 XF Server Adapter (82544) 21091461de4SChristian Brueffer.It 21191461de4SChristian BruefferIntel PRO/1000 XT Server Adapter (82544) 21291461de4SChristian Brueffer.El 213a97b26d0SGleb Smirnoff.Sh LOADER TUNABLES 214a97b26d0SGleb SmirnoffTunables can be set at the 215a97b26d0SGleb Smirnoff.Xr loader 8 216a97b26d0SGleb Smirnoffprompt before booting the kernel or stored in 21778ad5421SRuslan Ermilov.Xr loader.conf 5 . 218a97b26d0SGleb Smirnoff.Bl -tag -width indent 21938be29d3SSean Bruno.It Va hw.em.disable_crc_stripping 22038be29d3SSean BrunoDisable or enable hardware stripping of CRC field. 22138be29d3SSean BrunoThis is mostly useful on BMC/IPMI shared interfaces where stripping the CRC 22238be29d3SSean Brunocauses remote access over IPMI to fail. 22338be29d3SSean BrunoDefault 0 (enabled). 22423c9098bSSean Bruno.It Va hw.em.eee_setting 22523c9098bSSean BrunoDisable or enable Energy Efficient Ethernet. 22623c9098bSSean BrunoDefault 1 (disabled). 22723c9098bSSean Bruno.It Va hw.em.msix 22823c9098bSSean BrunoEnable or disable MSI-X style interrupts. 22923c9098bSSean BrunoDefault 1 (enabled). 23023c9098bSSean Bruno.It Va hw.em.smart_pwr_down 23123c9098bSSean BrunoEnable or disable smart power down features on newer adapters. 23223c9098bSSean BrunoDefault 0 (disabled). 23323c9098bSSean Bruno.It Va hw.em.sbp 23423c9098bSSean BrunoShow bad packets when in promiscuous mode. 23523c9098bSSean BrunoDefault 0 (off). 236a97b26d0SGleb Smirnoff.It Va hw.em.rxd 237a97b26d0SGleb SmirnoffNumber of receive descriptors allocated by the driver. 238e2939487SGleb SmirnoffThe default value is 1024 for adapters newer than 82547, 239e2939487SGleb Smirnoffand 256 for older ones. 240a97b26d0SGleb SmirnoffThe 82542 and 82543-based adapters can handle up to 256 descriptors, 241a97b26d0SGleb Smirnoffwhile others can have up to 4096. 242a97b26d0SGleb Smirnoff.It Va hw.em.txd 243a97b26d0SGleb SmirnoffNumber of transmit descriptors allocated by the driver. 244e2939487SGleb SmirnoffThe default value is 1024 for adapters newer than 82547, 245e2939487SGleb Smirnoffand 256 for older ones. 246a97b26d0SGleb SmirnoffThe 82542 and 82543-based adapters can handle up to 256 descriptors, 247a97b26d0SGleb Smirnoffwhile others can have up to 4096. 248a97b26d0SGleb Smirnoff.It Va hw.em.rx_int_delay 249a97b26d0SGleb SmirnoffThis value delays the generation of receive interrupts in units of 250a97b26d0SGleb Smirnoff1.024 microseconds. 251a97b26d0SGleb SmirnoffThe default value is 0, since adapters may hang with this feature 252a97b26d0SGleb Smirnoffbeing enabled. 253a97b26d0SGleb Smirnoff.It Va hw.em.rx_abs_int_delay 254a97b26d0SGleb SmirnoffIf 255a97b26d0SGleb Smirnoff.Va hw.em.rx_int_delay 256a97b26d0SGleb Smirnoffis non-zero, this tunable limits the maximum delay in which a receive 257a97b26d0SGleb Smirnoffinterrupt is generated. 258a97b26d0SGleb Smirnoff.It Va hw.em.tx_int_delay 259a97b26d0SGleb SmirnoffThis value delays the generation of transmit interrupts in units of 260a97b26d0SGleb Smirnoff1.024 microseconds. 261a97b26d0SGleb SmirnoffThe default value is 64. 262a97b26d0SGleb Smirnoff.It Va hw.em.tx_abs_int_delay 263a97b26d0SGleb SmirnoffIf 264a97b26d0SGleb Smirnoff.Va hw.em.tx_int_delay 265a97b26d0SGleb Smirnoffis non-zero, this tunable limits the maximum delay in which a transmit 266a97b26d0SGleb Smirnoffinterrupt is generated. 267135bce2aSUlrich Spörlein.Sh FILES 268135bce2aSUlrich Spörlein.Bl -tag -width /dev/led/em* 269135bce2aSUlrich Spörlein.It Pa /dev/led/em* 270135bce2aSUlrich Spörleinidentification LED device nodes 271135bce2aSUlrich Spörlein.El 272135bce2aSUlrich Spörlein.Sh EXAMPLES 273135bce2aSUlrich SpörleinMake the identification LED of em0 blink: 274135bce2aSUlrich Spörlein.Pp 275135bce2aSUlrich Spörlein.Dl "echo f2 > /dev/led/em0" 276135bce2aSUlrich Spörlein.Pp 277135bce2aSUlrich SpörleinTurn the identification LED of em0 off again: 278135bce2aSUlrich Spörlein.Pp 279135bce2aSUlrich Spörlein.Dl "echo 0 > /dev/led/em0" 2801ac88dc0SPrafulla Deuskar.Sh DIAGNOSTICS 2811ac88dc0SPrafulla Deuskar.Bl -diag 2821ac88dc0SPrafulla Deuskar.It "em%d: Unable to allocate bus resource: memory" 2831ac88dc0SPrafulla DeuskarA fatal initialization error has occurred. 2841ac88dc0SPrafulla Deuskar.It "em%d: Unable to allocate bus resource: interrupt" 2851ac88dc0SPrafulla DeuskarA fatal initialization error has occurred. 2861ac88dc0SPrafulla Deuskar.It "em%d: watchdog timeout -- resetting" 2871ac88dc0SPrafulla DeuskarThe device has stopped responding to the network, or there is a problem with 2881ac88dc0SPrafulla Deuskarthe network connection (cable). 2891ac88dc0SPrafulla Deuskar.El 2901ac88dc0SPrafulla Deuskar.Sh SUPPORT 291802a4af8SRuslan ErmilovFor general information and support, 292a59716d2SPrafulla Deuskargo to the Intel support website at: 293802a4af8SRuslan Ermilov.Pa http://support.intel.com . 2941ac88dc0SPrafulla Deuskar.Pp 2951ac88dc0SPrafulla DeuskarIf an issue is identified with the released source code on the supported kernel 2961ac88dc0SPrafulla Deuskarwith a supported adapter, email the specific information related to the 297802a4af8SRuslan Ermilovissue to 2986c899950SBaptiste Daroussin.Aq Mt freebsd@intel.com . 2991ac88dc0SPrafulla Deuskar.Sh SEE ALSO 300a25ecdffSChristian Brueffer.Xr altq 4 , 3011ac88dc0SPrafulla Deuskar.Xr arp 4 , 3027049547cSStephen Hurd.Xr iflib 4 , 303d6d81b73SMarius Strobl.Xr led 4 , 3041ac88dc0SPrafulla Deuskar.Xr netintro 4 , 305e4fe103dSPrafulla Deuskar.Xr ng_ether 4 , 306a6c410e7SChristian Brueffer.Xr polling 4 , 307999e589bSRuslan Ermilov.Xr vlan 4 , 3081ac88dc0SPrafulla Deuskar.Xr ifconfig 8 3091ac88dc0SPrafulla Deuskar.Sh HISTORY 3101ac88dc0SPrafulla DeuskarThe 3111ac88dc0SPrafulla Deuskar.Nm 3121ac88dc0SPrafulla Deuskardevice driver first appeared in 313a59716d2SPrafulla Deuskar.Fx 4.4 . 31467d01c2bSEnji Cooper.Nm 31567d01c2bSEnji Cooperwas merged with the igb device driver and converted to the iflib framework in 31667d01c2bSEnji Cooper.Fx 12.0 . 3171ac88dc0SPrafulla Deuskar.Sh AUTHORS 31867d01c2bSEnji Cooper.An -nosplit 3191ac88dc0SPrafulla DeuskarThe 3201ac88dc0SPrafulla Deuskar.Nm 32167d01c2bSEnji Cooperdriver was originally written by 3226c899950SBaptiste Daroussin.An Intel Corporation Aq Mt freebsd@intel.com . 32367d01c2bSEnji CooperIt was merged with igb driver and converted to the iflib framework by 32496fc97c8SStephen Hurd.An Matthew Macy Aq Mt mmacy@mattmacy.io 32567d01c2bSEnji Cooperand 32667d01c2bSEnji Cooper.An Sean Bruno Aq Mt sbruno@FreeBSD.org . 327