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.\" 3442ce724dSKevin Bowling.Dd August 3, 2023 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, 42c75f49f7SKonstantin Belousovplace the following lines in your 4390296834STom Rhodeskernel configuration file: 4486e3186eSTom Rhodes.Bd -ragged -offset indent 45c75f49f7SKonstantin 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 5842ce724dSKevin Bowlingdriver provides support for PCI/PCI-X Gigabit Ethernet adapters based on 597d9c4565SChristian Bruefferthe Intel 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 60*1b01772fSKevin Bowling82546EB, 82546GB, and 82547 controller chips. 6142ce724dSKevin Bowling.Pp 6242ce724dSKevin BowlingThe 6342ce724dSKevin Bowling.Nm 6442ce724dSKevin Bowlingdriver provides support for PCI Express Gigabit Ethernet adapters 6556b9145cSKevin Bowlingbased on the Intel 82571, 82572, 82573, 82574, and 82583 Ethernet 66e0578797SSimon L. B. Nielsencontroller chips. 6767d01c2bSEnji Cooper.Pp 6867d01c2bSEnji CooperThe 6967d01c2bSEnji Cooper.Nm 7042ce724dSKevin Bowlingdriver provides support for Gigabit Ethernet adapters connected to I/O 71*1b01772fSKevin BowlingController Hub (ICH) and Platform Controller Hub (PCH) including Intel 72*1b01772fSKevin Bowling80003ES2LAN, 82562, 82566, 82567, 82577, 82578, 82579, i217, i218, and i219. 7342ce724dSKevin Bowling.Pp 7442ce724dSKevin BowlingThe 7542ce724dSKevin Bowling.Nm 7642ce724dSKevin Bowlingdriver provides support for PCI Express Gigabit Ethernet adapters 7742ce724dSKevin Bowlingbased on the Intel 82575, 82576, 82580, i210, i211, and i35x. These 7842ce724dSKevin Bowlingappear as 7942ce724dSKevin Bowling.Cm igb 8042ce724dSKevin Bowlinginterfaces to maintain compatibility with existing infrastructure. 8167d01c2bSEnji Cooper.Pp 8267d01c2bSEnji CooperThe driver supports Transmit/Receive checksum offload and Jumbo Frames 8367d01c2bSEnji Cooperon all but 82542-based adapters. 8467d01c2bSEnji Cooper.Pp 85cb7e673cSChristian BruefferFurthermore it supports TCP segmentation offload (TSO) on all adapters but 8642ce724dSKevin Bowlingthose based on the 82542, 82543, 82544 and 82547 controller chips. 87d6d81b73SMarius StroblThe identification LEDs of the adapters supported by the 88d6d81b73SMarius Strobl.Nm 89d6d81b73SMarius Strobldriver can be controlled via the 90d6d81b73SMarius Strobl.Xr led 4 91d6d81b73SMarius StroblAPI for localization purposes. 9291461de4SChristian BruefferFor further hardware information, see the 93802a4af8SRuslan Ermilov.Pa README 941ac88dc0SPrafulla Deuskarincluded with the driver. 951ac88dc0SPrafulla Deuskar.Pp 9667d01c2bSEnji CooperFor questions related to hardware requirements, refer to the 9767d01c2bSEnji Cooperdocumentation supplied with your Intel PRO/1000 adapter. 98802a4af8SRuslan ErmilovAll hardware requirements listed apply to use with 99802a4af8SRuslan Ermilov.Fx . 1001ac88dc0SPrafulla Deuskar.Pp 101a59716d2SPrafulla DeuskarSupport for Jumbo Frames is provided via the interface MTU setting. 1021ac88dc0SPrafulla DeuskarSelecting an MTU larger than 1500 bytes with the 1031ac88dc0SPrafulla Deuskar.Xr ifconfig 8 104a59716d2SPrafulla Deuskarutility configures the adapter to receive and transmit Jumbo Frames. 105a59716d2SPrafulla DeuskarThe maximum MTU size for Jumbo Frames is 16114. 1061ac88dc0SPrafulla Deuskar.Pp 10767d01c2bSEnji CooperThis driver supports hardware assisted VLANs. 1081ac88dc0SPrafulla DeuskarThe 1091ac88dc0SPrafulla Deuskar.Nm 1101ac88dc0SPrafulla Deuskardriver supports the following media types: 111802a4af8SRuslan Ermilov.Bl -tag -width ".Cm 10baseT/UTP" 112802a4af8SRuslan Ermilov.It Cm autoselect 1131ac88dc0SPrafulla DeuskarEnables auto-negotiation for speed and duplex. 114802a4af8SRuslan Ermilov.It Cm 10baseT/UTP 1151ac88dc0SPrafulla DeuskarSets 10Mbps operation. 116a59716d2SPrafulla DeuskarUse the 117802a4af8SRuslan Ermilov.Cm mediaopt 118a59716d2SPrafulla Deuskaroption to select 119802a4af8SRuslan Ermilov.Cm full-duplex 120a59716d2SPrafulla Deuskarmode. 121802a4af8SRuslan Ermilov.It Cm 100baseTX 1221ac88dc0SPrafulla DeuskarSets 100Mbps operation. 123a59716d2SPrafulla DeuskarUse the 124802a4af8SRuslan Ermilov.Cm mediaopt 125a59716d2SPrafulla Deuskaroption to select 126802a4af8SRuslan Ermilov.Cm full-duplex 127a59716d2SPrafulla Deuskarmode. 128802a4af8SRuslan Ermilov.It Cm 1000baseSX 1291ac88dc0SPrafulla DeuskarSets 1000Mbps operation. 1301ac88dc0SPrafulla DeuskarOnly 131802a4af8SRuslan Ermilov.Cm full-duplex 1321ac88dc0SPrafulla Deuskarmode is supported at this speed. 133802a4af8SRuslan Ermilov.It Cm 1000baseTX 1341ac88dc0SPrafulla DeuskarSets 1000Mbps operation. 1351ac88dc0SPrafulla DeuskarOnly 136802a4af8SRuslan Ermilov.Cm full-duplex 1371ac88dc0SPrafulla Deuskarmode is supported at this speed. 1381ac88dc0SPrafulla Deuskar.El 1391ac88dc0SPrafulla Deuskar.Pp 1401ac88dc0SPrafulla DeuskarThe 1411ac88dc0SPrafulla Deuskar.Nm 1421ac88dc0SPrafulla Deuskardriver supports the following media options: 143802a4af8SRuslan Ermilov.Bl -tag -width ".Cm full-duplex" 144802a4af8SRuslan Ermilov.It Cm full-duplex 145a59716d2SPrafulla DeuskarForces full-duplex operation 146802a4af8SRuslan Ermilov.It Cm half-duplex 147a59716d2SPrafulla DeuskarForces half-duplex operation. 1481ac88dc0SPrafulla Deuskar.El 1491ac88dc0SPrafulla Deuskar.Pp 150802a4af8SRuslan ErmilovOnly use 151802a4af8SRuslan Ermilov.Cm mediaopt 152802a4af8SRuslan Ermilovto set the driver to 153802a4af8SRuslan Ermilov.Cm full-duplex . 154802a4af8SRuslan ErmilovIf 155802a4af8SRuslan Ermilov.Cm mediaopt 156802a4af8SRuslan Ermilovis not specified, the driver defaults to 157802a4af8SRuslan Ermilov.Cm half-duplex . 158a59716d2SPrafulla Deuskar.Pp 1591ac88dc0SPrafulla DeuskarFor more information on configuring this device, see 1601ac88dc0SPrafulla Deuskar.Xr ifconfig 8 . 16191461de4SChristian Brueffer.Sh HARDWARE 16291461de4SChristian BruefferThe 16391461de4SChristian Brueffer.Nm 16491461de4SChristian Bruefferdriver supports Gigabit Ethernet adapters based on the Intel 1657d9c4565SChristian Brueffer82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB, 16667d01c2bSEnji Cooper82546GB, 82547, 82571, 82572, 82573, 82574, 82575, 82576, and 82580 16767d01c2bSEnji Coopercontroller chips: 16891461de4SChristian Brueffer.Pp 16991461de4SChristian Brueffer.Bl -bullet -compact 17091461de4SChristian Brueffer.It 17167d01c2bSEnji CooperIntel Gigabit ET Dual Port Server Adapter (82576) 17267d01c2bSEnji Cooper.It 17367d01c2bSEnji CooperIntel Gigabit VT Quad Port Server Adapter (82575) 17467d01c2bSEnji Cooper.It 17567d01c2bSEnji CooperIntel Single, Dual and Quad Gigabit Ethernet Controller (82580) 17667d01c2bSEnji Cooper.It 17767d01c2bSEnji CooperIntel i210 and i211 Gigabit Ethernet Controller 17867d01c2bSEnji Cooper.It 17967d01c2bSEnji CooperIntel i350 and i354 Gigabit Ethernet Controller 18067d01c2bSEnji Cooper.It 18191461de4SChristian BruefferIntel PRO/1000 CT Network Connection (82547) 18291461de4SChristian Brueffer.It 18391461de4SChristian BruefferIntel PRO/1000 F Server Adapter (82543) 18491461de4SChristian Brueffer.It 18591461de4SChristian BruefferIntel PRO/1000 Gigabit Server Adapter (82542) 18691461de4SChristian Brueffer.It 18791461de4SChristian BruefferIntel PRO/1000 GT Desktop Adapter (82541PI) 18891461de4SChristian Brueffer.It 18991461de4SChristian BruefferIntel PRO/1000 MF Dual Port Server Adapter (82546) 19091461de4SChristian Brueffer.It 19191461de4SChristian BruefferIntel PRO/1000 MF Server Adapter (82545) 19291461de4SChristian Brueffer.It 19391461de4SChristian BruefferIntel PRO/1000 MF Server Adapter (LX) (82545) 19491461de4SChristian Brueffer.It 19591461de4SChristian BruefferIntel PRO/1000 MT Desktop Adapter (82540) 19691461de4SChristian Brueffer.It 19791461de4SChristian BruefferIntel PRO/1000 MT Desktop Adapter (82541) 19891461de4SChristian Brueffer.It 19991461de4SChristian BruefferIntel PRO/1000 MT Dual Port Server Adapter (82546) 20091461de4SChristian Brueffer.It 20191461de4SChristian BruefferIntel PRO/1000 MT Quad Port Server Adapter (82546EB) 20291461de4SChristian Brueffer.It 20391461de4SChristian BruefferIntel PRO/1000 MT Server Adapter (82545) 20491461de4SChristian Brueffer.It 205e0578797SSimon L. B. NielsenIntel PRO/1000 PF Dual Port Server Adapter (82571) 206e0578797SSimon L. B. Nielsen.It 207e0578797SSimon L. B. NielsenIntel PRO/1000 PF Quad Port Server Adapter (82571) 208e0578797SSimon L. B. Nielsen.It 209e0578797SSimon L. B. NielsenIntel PRO/1000 PF Server Adapter (82572) 210e0578797SSimon L. B. Nielsen.It 211e0578797SSimon L. B. NielsenIntel PRO/1000 PT Desktop Adapter (82572) 212e0578797SSimon L. B. Nielsen.It 213e0578797SSimon L. B. NielsenIntel PRO/1000 PT Dual Port Server Adapter (82571) 214e0578797SSimon L. B. Nielsen.It 215e0578797SSimon L. B. NielsenIntel PRO/1000 PT Quad Port Server Adapter (82571) 216e0578797SSimon L. B. Nielsen.It 217e0578797SSimon L. B. NielsenIntel PRO/1000 PT Server Adapter (82572) 218e0578797SSimon L. B. Nielsen.It 21991461de4SChristian BruefferIntel PRO/1000 T Desktop Adapter (82544) 22091461de4SChristian Brueffer.It 22191461de4SChristian BruefferIntel PRO/1000 T Server Adapter (82543) 22291461de4SChristian Brueffer.It 22391461de4SChristian BruefferIntel PRO/1000 XF Server Adapter (82544) 22491461de4SChristian Brueffer.It 22591461de4SChristian BruefferIntel PRO/1000 XT Server Adapter (82544) 22691461de4SChristian Brueffer.El 227a97b26d0SGleb Smirnoff.Sh LOADER TUNABLES 228a97b26d0SGleb SmirnoffTunables can be set at the 229a97b26d0SGleb Smirnoff.Xr loader 8 230a97b26d0SGleb Smirnoffprompt before booting the kernel or stored in 23178ad5421SRuslan Ermilov.Xr loader.conf 5 . 232b0cf4830SYuri PankovSee 233b0cf4830SYuri Pankov.Xr iflib 4 234b0cf4830SYuri Pankovfor per-instance variables. 235a97b26d0SGleb Smirnoff.Bl -tag -width indent 23638be29d3SSean Bruno.It Va hw.em.disable_crc_stripping 23738be29d3SSean BrunoDisable or enable hardware stripping of CRC field. 23838be29d3SSean BrunoThis is mostly useful on BMC/IPMI shared interfaces where stripping the CRC 23938be29d3SSean Brunocauses remote access over IPMI to fail. 24038be29d3SSean BrunoDefault 0 (enabled). 24123c9098bSSean Bruno.It Va hw.em.eee_setting 24223c9098bSSean BrunoDisable or enable Energy Efficient Ethernet. 24323c9098bSSean BrunoDefault 1 (disabled). 24423c9098bSSean Bruno.It Va hw.em.smart_pwr_down 24523c9098bSSean BrunoEnable or disable smart power down features on newer adapters. 24623c9098bSSean BrunoDefault 0 (disabled). 24723c9098bSSean Bruno.It Va hw.em.sbp 24823c9098bSSean BrunoShow bad packets when in promiscuous mode. 24923c9098bSSean BrunoDefault 0 (off). 250a97b26d0SGleb Smirnoff.It Va hw.em.rx_int_delay 251a97b26d0SGleb SmirnoffThis value delays the generation of receive interrupts in units of 252a97b26d0SGleb Smirnoff1.024 microseconds. 253a97b26d0SGleb SmirnoffThe default value is 0, since adapters may hang with this feature 254a97b26d0SGleb Smirnoffbeing enabled. 255a97b26d0SGleb Smirnoff.It Va hw.em.rx_abs_int_delay 256a97b26d0SGleb SmirnoffIf 257a97b26d0SGleb Smirnoff.Va hw.em.rx_int_delay 258a97b26d0SGleb Smirnoffis non-zero, this tunable limits the maximum delay in which a receive 259a97b26d0SGleb Smirnoffinterrupt is generated. 260a97b26d0SGleb Smirnoff.It Va hw.em.tx_int_delay 261a97b26d0SGleb SmirnoffThis value delays the generation of transmit interrupts in units of 262a97b26d0SGleb Smirnoff1.024 microseconds. 263a97b26d0SGleb SmirnoffThe default value is 64. 264a97b26d0SGleb Smirnoff.It Va hw.em.tx_abs_int_delay 265a97b26d0SGleb SmirnoffIf 266a97b26d0SGleb Smirnoff.Va hw.em.tx_int_delay 267a97b26d0SGleb Smirnoffis non-zero, this tunable limits the maximum delay in which a transmit 268a97b26d0SGleb Smirnoffinterrupt is generated. 269b0cf4830SYuri Pankov.It Va hw.em.max_interrupt_rate 270b0cf4830SYuri PankovMaximum interrupts per second. 271b0cf4830SYuri PankovThe default value is 8000. 272b0cf4830SYuri Pankov.It Va hw.em.rx_process_limit 273b0cf4830SYuri PankovMaximum number of received packets to process at a time, -1 means unlimited. 274b0cf4830SYuri PankovThe default value is 100. 2751adc28f5SChristian Brueffer.El 276135bce2aSUlrich Spörlein.Sh FILES 277135bce2aSUlrich Spörlein.Bl -tag -width /dev/led/em* 278135bce2aSUlrich Spörlein.It Pa /dev/led/em* 279135bce2aSUlrich Spörleinidentification LED device nodes 280135bce2aSUlrich Spörlein.El 281135bce2aSUlrich Spörlein.Sh EXAMPLES 282135bce2aSUlrich SpörleinMake the identification LED of em0 blink: 283135bce2aSUlrich Spörlein.Pp 284135bce2aSUlrich Spörlein.Dl "echo f2 > /dev/led/em0" 285135bce2aSUlrich Spörlein.Pp 286135bce2aSUlrich SpörleinTurn the identification LED of em0 off again: 287135bce2aSUlrich Spörlein.Pp 288135bce2aSUlrich Spörlein.Dl "echo 0 > /dev/led/em0" 2891ac88dc0SPrafulla Deuskar.Sh DIAGNOSTICS 2901ac88dc0SPrafulla Deuskar.Bl -diag 2911ac88dc0SPrafulla Deuskar.It "em%d: Unable to allocate bus resource: memory" 2921ac88dc0SPrafulla DeuskarA fatal initialization error has occurred. 2931ac88dc0SPrafulla Deuskar.It "em%d: Unable to allocate bus resource: interrupt" 2941ac88dc0SPrafulla DeuskarA fatal initialization error has occurred. 2951ac88dc0SPrafulla Deuskar.It "em%d: watchdog timeout -- resetting" 2961ac88dc0SPrafulla DeuskarThe device has stopped responding to the network, or there is a problem with 2971ac88dc0SPrafulla Deuskarthe network connection (cable). 2981ac88dc0SPrafulla Deuskar.El 2991ac88dc0SPrafulla Deuskar.Sh SUPPORT 300802a4af8SRuslan ErmilovFor general information and support, 301a59716d2SPrafulla Deuskargo to the Intel support website at: 302802a4af8SRuslan Ermilov.Pa http://support.intel.com . 3031ac88dc0SPrafulla Deuskar.Pp 3041ac88dc0SPrafulla DeuskarIf an issue is identified with the released source code on the supported kernel 3051ac88dc0SPrafulla Deuskarwith a supported adapter, email the specific information related to the 306802a4af8SRuslan Ermilovissue to 3076c899950SBaptiste Daroussin.Aq Mt freebsd@intel.com . 3081ac88dc0SPrafulla Deuskar.Sh SEE ALSO 309a25ecdffSChristian Brueffer.Xr altq 4 , 3101ac88dc0SPrafulla Deuskar.Xr arp 4 , 3117049547cSStephen Hurd.Xr iflib 4 , 312d6d81b73SMarius Strobl.Xr led 4 , 3131ac88dc0SPrafulla Deuskar.Xr netintro 4 , 314e4fe103dSPrafulla Deuskar.Xr ng_ether 4 , 315a6c410e7SChristian Brueffer.Xr polling 4 , 316999e589bSRuslan Ermilov.Xr vlan 4 , 3171ac88dc0SPrafulla Deuskar.Xr ifconfig 8 3181ac88dc0SPrafulla Deuskar.Sh HISTORY 3191ac88dc0SPrafulla DeuskarThe 3201ac88dc0SPrafulla Deuskar.Nm 3211ac88dc0SPrafulla Deuskardevice driver first appeared in 322a59716d2SPrafulla Deuskar.Fx 4.4 . 32367d01c2bSEnji Cooper.Nm 32442ce724dSKevin Bowlingwas merged with the lem and igb device driver and converted to the iflib 32542ce724dSKevin Bowlingframework in 32667d01c2bSEnji Cooper.Fx 12.0 . 3271ac88dc0SPrafulla Deuskar.Sh AUTHORS 32867d01c2bSEnji Cooper.An -nosplit 3291ac88dc0SPrafulla DeuskarThe 3301ac88dc0SPrafulla Deuskar.Nm 33167d01c2bSEnji Cooperdriver was originally written by 3326c899950SBaptiste Daroussin.An Intel Corporation Aq Mt freebsd@intel.com . 33367d01c2bSEnji CooperIt was merged with igb driver and converted to the iflib framework by 33496fc97c8SStephen Hurd.An Matthew Macy Aq Mt mmacy@mattmacy.io 33567d01c2bSEnji Cooperand 33667d01c2bSEnji Cooper.An Sean Bruno Aq Mt sbruno@FreeBSD.org . 337