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: src/share/man/man4/em.4,v 1.30 2008/10/06 21:55:53 simon Exp $ 33.\" 34.Dd September 17, 2012 35.Dt EM 4 36.Os 37.Sh NAME 38.Nm em , 39.Nm emx 40.Nd "Intel(R) PRO/1000 Gigabit Ethernet adapter driver" 41.Sh SYNOPSIS 42To compile this driver into the kernel, 43place the following lines in your 44kernel configuration file: 45.Bd -ragged -offset indent 46.Cd "device ig_hal" 47.Cd "device em # for em(4)" 48.Cd "device emx # for emx(4)" 49.Ed 50.Pp 51Alternatively, to load the driver as a 52module at boot time, place the following lines in 53.Xr loader.conf 5 : 54.Bd -literal -offset indent 55ig_hal_load="YES" 56if_em_load="YES" # for em(4) 57if_emx_load="YES" # for emx(4) 58.Ed 59.Sh DESCRIPTION 60The 61.Nm 62driver provides support for PCI Gigabit Ethernet adapters based on 63the Intel 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 6482546EB, 82546GB, 82547, 82571, 81572, 82573, and 82574 Ethernet 65controller chips. 66The driver supports Transmit/Receive checksum offload 67and Jumbo Frames on all but 82542-based adapters. 68Furthermore it supports TCP segmentation offload (TSO) on adapters 69based on the 82571, 82572, 82573 and 82574 controller chips. 70For further hardware information, see the 71.Pa README 72included with the driver. 73.Pp 74The 75.Nm emx 76is a version of the 77.Nm em 78driver for 82571, 82572, 82573, and 82574 Ethernet controller chips that 79additionally supports RSS (Receive Side Scaling). 80.Pp 81For questions related to hardware requirements, 82refer to the documentation supplied with your Intel PRO/1000 adapter. 83All hardware requirements listed apply to use with 84.Dx . 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 version supports VLANs. 93The 94.Nm 95and 96.Nm emx 97drivers support the following media types: 98.Bl -tag -width ".Cm 10baseT/UTP" 99.It Cm autoselect 100Enables auto-negotiation for speed and duplex. 101.It Cm 10baseT/UTP 102Sets 10Mbps operation. 103Use the 104.Cm mediaopt 105option to select 106.Cm full-duplex 107mode. 108.It Cm 100baseTX 109Sets 100Mbps operation. 110Use the 111.Cm mediaopt 112option to select 113.Cm full-duplex 114mode. 115.It Cm 1000baseSX 116Sets 1000Mbps operation. 117Only 118.Cm full-duplex 119mode is supported at this speed. 120.It Cm 1000baseT 121Sets 1000Mbps operation. 122Only 123.Cm full-duplex 124mode is supported at this speed. 125.El 126.Pp 127The 128.Nm 129and 130.Nm emx 131drivers support the following media options: 132.Bl -tag -width ".Cm full-duplex" 133.It Cm full-duplex 134Forces full-duplex operation 135.It Cm half-duplex 136Forces half-duplex operation. 137.El 138.Pp 139Only use 140.Cm mediaopt 141to set the driver to 142.Cm full-duplex . 143If 144.Cm mediaopt 145is not specified, the driver defaults to 146.Cm half-duplex . 147.Pp 148For more information on configuring this device, see 149.Xr ifconfig 8 . 150.Pp 151The 152.Nm 153and 154.Nm emx 155drivers support 156.Xr polling 4 . 157.Sh HARDWARE 158The 159.Nm 160driver supports Gigabit Ethernet adapters based on the Intel 16182540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB, 16282546GB, 82547, 82571, 82572, 82573, and 82574 controller chips: 163.Pp 164.Bl -bullet -compact 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.Pp 213The 214.Nm emx 215driver supports Gigabit Ethernet adapters based on the Intel 21682571, 82572, 82573, and 82574 controller chips. 217.Sh LOADER TUNABLES 218Tunables can be set at the 219.Xr loader 8 220prompt before booting the kernel or stored in 221.Xr loader.conf 5 . 222.Bl -tag -width indent 223.It Va hw.em.int_throttle_ceil 224Hardware interrupt throttling rate. 225The default value is 10000Hz. 226.It Va hw.em.rxd 227Number of receive descriptors allocated by the driver. 228The default value is 256. 229The 82542 and 82543-based adapters can handle up to 256 descriptors, 230while others can have up to 4096. 231.It Va hw.em.txd 232Number of transmit descriptors allocated by the driver. 233The default value is 256. 234The 82542 and 82543-based adapters can handle up to 256 descriptors, 235while others can have up to 4096. 236.It Va hw.em.int_tx_nsegs 237This value controls how many transmit descriptors should be consumed 238by the hardware before the hardware generates a transmit interrupt. 239The default value is 1/16 of the number of transmit descriptors. 240If 241.Xr polling 4 242is not used on the hardware and 243the major part of the transmitted data are bulk data, 244this value could safely be set to 1/2 of the number of transmit descriptors. 245.It Va hw.em.msi.enable 246By default, the driver will use MSI if it is supported. 247This behavior can be turned off by setting this tunable to 0. 248.El 249.\".Pp 250.\" XXX emx(4) tunables 251.Sh DIAGNOSTICS 252.Bl -diag 253.It "em%d: Unable to allocate bus resource: memory" 254A fatal initialization error has occurred. 255.It "em%d: Unable to allocate bus resource: interrupt" 256A fatal initialization error has occurred. 257.It "em%d: watchdog timeout -- resetting" 258The device has stopped responding to the network, or there is a problem with 259the network connection (cable). 260.El 261.Sh SUPPORT 262For general information and support, 263go to the Intel support website at: 264.Pa http://support.intel.com . 265.Pp 266If an issue is identified with the released source code on the supported kernel 267with a supported adapter, email the specific information related to the 268issue to 269.Aq freebsdnic@mailbox.intel.com . 270.Sh SEE ALSO 271.Xr arp 4 , 272.Xr ifmedia 4 , 273.Xr netintro 4 , 274.Xr ng_ether 4 , 275.Xr polling 4 , 276.Xr vlan 4 , 277.Xr ifconfig 8 278.Sh HISTORY 279The 280.Nm 281device driver first appeared in 282.Fx 4.4 283and the 284.Nm emx 285driver first appeared in 286.Dx 2.3 . 287.Sh AUTHORS 288.An -nosplit 289The 290.Nm 291driver was written by 292.An Intel Corporation Aq freebsdnic@mailbox.intel.com . 293.Pp 294The 295.Nm emx 296driver was written by 297.An Sepherosa Ziehau 298(in parts based on 299.Tn Intel Ap s ) . 300