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