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 October 11, 2011 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. 61The driver supports Transmit/Receive checksum offload 62and Jumbo Frames on all but 82542-based adapters. 63Furthermore it supports TCP segmentation offload (TSO) on all adapters but 64those based on the 82543, 82544 and 82547 controller chips. 65The identification LEDs of the adapters supported by the 66.Nm 67driver can be controlled via the 68.Xr led 4 69API for localization purposes. 70For further hardware information, see the 71.Pa README 72included with the driver. 73.Pp 74For questions related to hardware requirements, 75refer to the documentation supplied with your Intel PRO/1000 adapter. 76All hardware requirements listed apply to use with 77.Fx . 78.Pp 79Support for Jumbo Frames is provided via the interface MTU setting. 80Selecting an MTU larger than 1500 bytes with the 81.Xr ifconfig 8 82utility configures the adapter to receive and transmit Jumbo Frames. 83The maximum MTU size for Jumbo Frames is 16114. 84.Pp 85This driver version supports VLANs. 86The 87.Nm 88driver supports the following media types: 89.Bl -tag -width ".Cm 10baseT/UTP" 90.It Cm autoselect 91Enables auto-negotiation for speed and duplex. 92.It Cm 10baseT/UTP 93Sets 10Mbps operation. 94Use the 95.Cm mediaopt 96option to select 97.Cm full-duplex 98mode. 99.It Cm 100baseTX 100Sets 100Mbps operation. 101Use the 102.Cm mediaopt 103option to select 104.Cm full-duplex 105mode. 106.It Cm 1000baseSX 107Sets 1000Mbps operation. 108Only 109.Cm full-duplex 110mode is supported at this speed. 111.It Cm 1000baseTX 112Sets 1000Mbps operation. 113Only 114.Cm full-duplex 115mode is supported at this speed. 116.El 117.Pp 118The 119.Nm 120driver supports the following media options: 121.Bl -tag -width ".Cm full-duplex" 122.It Cm full-duplex 123Forces full-duplex operation 124.It Cm half-duplex 125Forces half-duplex operation. 126.El 127.Pp 128Only use 129.Cm mediaopt 130to set the driver to 131.Cm full-duplex . 132If 133.Cm mediaopt 134is not specified, the driver defaults to 135.Cm half-duplex . 136.Pp 137For more information on configuring this device, see 138.Xr ifconfig 8 . 139.Sh HARDWARE 140The 141.Nm 142driver supports Gigabit Ethernet adapters based on the Intel 14382540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB, 14482546GB, 82547, 82571, 82572, 82573, and 82574 controller chips: 145.Pp 146.Bl -bullet -compact 147.It 148Intel PRO/1000 CT Network Connection (82547) 149.It 150Intel PRO/1000 F Server Adapter (82543) 151.It 152Intel PRO/1000 Gigabit Server Adapter (82542) 153.It 154Intel PRO/1000 GT Desktop Adapter (82541PI) 155.It 156Intel PRO/1000 MF Dual Port Server Adapter (82546) 157.It 158Intel PRO/1000 MF Server Adapter (82545) 159.It 160Intel PRO/1000 MF Server Adapter (LX) (82545) 161.It 162Intel PRO/1000 MT Desktop Adapter (82540) 163.It 164Intel PRO/1000 MT Desktop Adapter (82541) 165.It 166Intel PRO/1000 MT Dual Port Server Adapter (82546) 167.It 168Intel PRO/1000 MT Quad Port Server Adapter (82546EB) 169.It 170Intel PRO/1000 MT Server Adapter (82545) 171.It 172Intel PRO/1000 PF Dual Port Server Adapter (82571) 173.It 174Intel PRO/1000 PF Quad Port Server Adapter (82571) 175.It 176Intel PRO/1000 PF Server Adapter (82572) 177.It 178Intel PRO/1000 PT Desktop Adapter (82572) 179.It 180Intel PRO/1000 PT Dual Port Server Adapter (82571) 181.It 182Intel PRO/1000 PT Quad Port Server Adapter (82571) 183.It 184Intel PRO/1000 PT Server Adapter (82572) 185.It 186Intel PRO/1000 T Desktop Adapter (82544) 187.It 188Intel PRO/1000 T Server Adapter (82543) 189.It 190Intel PRO/1000 XF Server Adapter (82544) 191.It 192Intel PRO/1000 XT Server Adapter (82544) 193.El 194.Sh LOADER TUNABLES 195Tunables can be set at the 196.Xr loader 8 197prompt before booting the kernel or stored in 198.Xr loader.conf 5 . 199.Bl -tag -width indent 200.It Va hw.em.rxd 201Number of receive descriptors allocated by the driver. 202The default value is 1024 for adapters newer than 82547, 203and 256 for older ones. 204The 82542 and 82543-based adapters can handle up to 256 descriptors, 205while others can have up to 4096. 206.It Va hw.em.txd 207Number of transmit descriptors allocated by the driver. 208The default value is 1024 for adapters newer than 82547, 209and 256 for older ones. 210The 82542 and 82543-based adapters can handle up to 256 descriptors, 211while others can have up to 4096. 212.It Va hw.em.rx_int_delay 213This value delays the generation of receive interrupts in units of 2141.024 microseconds. 215The default value is 0, since adapters may hang with this feature 216being enabled. 217.It Va hw.em.rx_abs_int_delay 218If 219.Va hw.em.rx_int_delay 220is non-zero, this tunable limits the maximum delay in which a receive 221interrupt is generated. 222.It Va hw.em.tx_int_delay 223This value delays the generation of transmit interrupts in units of 2241.024 microseconds. 225The default value is 64. 226.It Va hw.em.tx_abs_int_delay 227If 228.Va hw.em.tx_int_delay 229is non-zero, this tunable limits the maximum delay in which a transmit 230interrupt is generated. 231.El 232.Sh FILES 233.Bl -tag -width /dev/led/em* 234.It Pa /dev/led/em* 235identification LED device nodes 236.El 237.Sh EXAMPLES 238Make the identification LED of em0 blink: 239.Pp 240.Dl "echo f2 > /dev/led/em0" 241.Pp 242Turn the identification LED of em0 off again: 243.Pp 244.Dl "echo 0 > /dev/led/em0" 245.Pp 246.Sh DIAGNOSTICS 247.Bl -diag 248.It "em%d: Unable to allocate bus resource: memory" 249A fatal initialization error has occurred. 250.It "em%d: Unable to allocate bus resource: interrupt" 251A fatal initialization error has occurred. 252.It "em%d: watchdog timeout -- resetting" 253The device has stopped responding to the network, or there is a problem with 254the network connection (cable). 255.El 256.Sh SUPPORT 257For general information and support, 258go to the Intel support website at: 259.Pa http://support.intel.com . 260.Pp 261If an issue is identified with the released source code on the supported kernel 262with a supported adapter, email the specific information related to the 263issue to 264.Aq freebsdnic@mailbox.intel.com . 265.Sh SEE ALSO 266.Xr altq 4 , 267.Xr arp 4 , 268.Xr igb 4 , 269.Xr led 4 , 270.Xr netintro 4 , 271.Xr ng_ether 4 , 272.Xr polling 4 , 273.Xr vlan 4 , 274.Xr ifconfig 8 275.Sh HISTORY 276The 277.Nm 278device driver first appeared in 279.Fx 4.4 . 280.Sh AUTHORS 281The 282.Nm 283driver was written by 284.An Intel Corporation Aq freebsdnic@mailbox.intel.com . 285.Sh BUGS 286Hardware-assisted VLAN processing is disabled by default. 287You can enable it on an 288.Nm 289interface using 290.Xr ifconfig 8 . 291