xref: /freebsd/share/man/man4/em.4 (revision 23c9098b2a5ef222c90fd9f66be5de27fa19c0a2)
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.\"
34a90c4f96SGleb Smirnoff.Dd October 11, 2011
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,
4278ad5421SRuslan Ermilovplace the following line in your
4390296834STom Rhodeskernel configuration file:
4486e3186eSTom Rhodes.Bd -ragged -offset indent
451ac88dc0SPrafulla Deuskar.Cd "device em"
4686e3186eSTom Rhodes.Ed
4786e3186eSTom Rhodes.Pp
48*23c9098bSSean BrunoOptional multiqueue support is available via the following kernel
49*23c9098bSSean Brunocompile options:
50*23c9098bSSean Bruno.Bd -ragged -offset indent
51*23c9098bSSean Bruno.Cd "options EM_MULTIQUEUE"
52*23c9098bSSean Bruno.Ed
53*23c9098bSSean Bruno.Pp
54*23c9098bSSean BrunoNote:  Activating EM_MULTIQUEUE support is not supported by Intel.
55*23c9098bSSean Bruno.Pp
5616d78bb8STom RhodesAlternatively, to load the driver as a
5716d78bb8STom Rhodesmodule at boot time, place the following line in
5886e3186eSTom Rhodes.Xr loader.conf 5 :
5986e3186eSTom Rhodes.Bd -literal -offset indent
6086e3186eSTom Rhodesif_em_load="YES"
6186e3186eSTom Rhodes.Ed
621ac88dc0SPrafulla Deuskar.Sh DESCRIPTION
631ac88dc0SPrafulla DeuskarThe
641ac88dc0SPrafulla Deuskar.Nm
6591461de4SChristian Bruefferdriver provides support for PCI Gigabit Ethernet adapters based on
667d9c4565SChristian Bruefferthe Intel 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546,
67e0578797SSimon L. B. Nielsen82546EB, 82546GB, 82547, 82571, 81572, 82573, and 82574 Ethernet
68e0578797SSimon L. B. Nielsencontroller chips.
691ac88dc0SPrafulla DeuskarThe driver supports Transmit/Receive checksum offload
70cb7e673cSChristian Bruefferand Jumbo Frames on all but 82542-based adapters.
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
821ac88dc0SPrafulla DeuskarFor questions related to hardware requirements,
831ac88dc0SPrafulla Deuskarrefer to the documentation 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
935461e585SPrafulla DeuskarThis driver version supports 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,
152e0578797SSimon L. B. Nielsen82546GB, 82547, 82571, 82572, 82573, and 82574 controller chips:
15391461de4SChristian Brueffer.Pp
15491461de4SChristian Brueffer.Bl -bullet -compact
15591461de4SChristian Brueffer.It
15691461de4SChristian BruefferIntel PRO/1000 CT Network Connection (82547)
15791461de4SChristian Brueffer.It
15891461de4SChristian BruefferIntel PRO/1000 F Server Adapter (82543)
15991461de4SChristian Brueffer.It
16091461de4SChristian BruefferIntel PRO/1000 Gigabit Server Adapter (82542)
16191461de4SChristian Brueffer.It
16291461de4SChristian BruefferIntel PRO/1000 GT Desktop Adapter (82541PI)
16391461de4SChristian Brueffer.It
16491461de4SChristian BruefferIntel PRO/1000 MF Dual Port Server Adapter (82546)
16591461de4SChristian Brueffer.It
16691461de4SChristian BruefferIntel PRO/1000 MF Server Adapter (82545)
16791461de4SChristian Brueffer.It
16891461de4SChristian BruefferIntel PRO/1000 MF Server Adapter (LX) (82545)
16991461de4SChristian Brueffer.It
17091461de4SChristian BruefferIntel PRO/1000 MT Desktop Adapter (82540)
17191461de4SChristian Brueffer.It
17291461de4SChristian BruefferIntel PRO/1000 MT Desktop Adapter (82541)
17391461de4SChristian Brueffer.It
17491461de4SChristian BruefferIntel PRO/1000 MT Dual Port Server Adapter (82546)
17591461de4SChristian Brueffer.It
17691461de4SChristian BruefferIntel PRO/1000 MT Quad Port Server Adapter (82546EB)
17791461de4SChristian Brueffer.It
17891461de4SChristian BruefferIntel PRO/1000 MT Server Adapter (82545)
17991461de4SChristian Brueffer.It
180e0578797SSimon L. B. NielsenIntel PRO/1000 PF Dual Port Server Adapter (82571)
181e0578797SSimon L. B. Nielsen.It
182e0578797SSimon L. B. NielsenIntel PRO/1000 PF Quad Port Server Adapter (82571)
183e0578797SSimon L. B. Nielsen.It
184e0578797SSimon L. B. NielsenIntel PRO/1000 PF Server Adapter (82572)
185e0578797SSimon L. B. Nielsen.It
186e0578797SSimon L. B. NielsenIntel PRO/1000 PT Desktop Adapter (82572)
187e0578797SSimon L. B. Nielsen.It
188e0578797SSimon L. B. NielsenIntel PRO/1000 PT Dual Port Server Adapter (82571)
189e0578797SSimon L. B. Nielsen.It
190e0578797SSimon L. B. NielsenIntel PRO/1000 PT Quad Port Server Adapter (82571)
191e0578797SSimon L. B. Nielsen.It
192e0578797SSimon L. B. NielsenIntel PRO/1000 PT Server Adapter (82572)
193e0578797SSimon L. B. Nielsen.It
19491461de4SChristian BruefferIntel PRO/1000 T Desktop Adapter (82544)
19591461de4SChristian Brueffer.It
19691461de4SChristian BruefferIntel PRO/1000 T Server Adapter (82543)
19791461de4SChristian Brueffer.It
19891461de4SChristian BruefferIntel PRO/1000 XF Server Adapter (82544)
19991461de4SChristian Brueffer.It
20091461de4SChristian BruefferIntel PRO/1000 XT Server Adapter (82544)
20191461de4SChristian Brueffer.El
202a97b26d0SGleb Smirnoff.Sh LOADER TUNABLES
203a97b26d0SGleb SmirnoffTunables can be set at the
204a97b26d0SGleb Smirnoff.Xr loader 8
205a97b26d0SGleb Smirnoffprompt before booting the kernel or stored in
20678ad5421SRuslan Ermilov.Xr loader.conf 5 .
207a97b26d0SGleb Smirnoff.Bl -tag -width indent
208*23c9098bSSean Bruno.It Va hw.em.eee_setting
209*23c9098bSSean BrunoDisable or enable Energy Efficient Ethernet.
210*23c9098bSSean BrunoDefault 1 (disabled).
211*23c9098bSSean Bruno.It Va hw.em.msix
212*23c9098bSSean BrunoEnable or disable MSI-X style interrupts.
213*23c9098bSSean BrunoDefault 1 (enabled).
214*23c9098bSSean Bruno.It Va hw.em.smart_pwr_down
215*23c9098bSSean BrunoEnable or disable smart power down features on newer adapters.
216*23c9098bSSean BrunoDefault 0 (disabled).
217*23c9098bSSean Bruno.It Va hw.em.sbp
218*23c9098bSSean BrunoShow bad packets when in promiscuous mode.
219*23c9098bSSean BrunoDefault 0 (off).
220a97b26d0SGleb Smirnoff.It Va hw.em.rxd
221a97b26d0SGleb SmirnoffNumber of receive descriptors allocated by the driver.
222e2939487SGleb SmirnoffThe default value is 1024 for adapters newer than 82547,
223e2939487SGleb Smirnoffand 256 for older ones.
224a97b26d0SGleb SmirnoffThe 82542 and 82543-based adapters can handle up to 256 descriptors,
225a97b26d0SGleb Smirnoffwhile others can have up to 4096.
226a97b26d0SGleb Smirnoff.It Va hw.em.txd
227a97b26d0SGleb SmirnoffNumber of transmit descriptors allocated by the driver.
228e2939487SGleb SmirnoffThe default value is 1024 for adapters newer than 82547,
229e2939487SGleb Smirnoffand 256 for older ones.
230a97b26d0SGleb SmirnoffThe 82542 and 82543-based adapters can handle up to 256 descriptors,
231a97b26d0SGleb Smirnoffwhile others can have up to 4096.
232a97b26d0SGleb Smirnoff.It Va hw.em.rx_int_delay
233a97b26d0SGleb SmirnoffThis value delays the generation of receive interrupts in units of
234a97b26d0SGleb Smirnoff1.024 microseconds.
235a97b26d0SGleb SmirnoffThe default value is 0, since adapters may hang with this feature
236a97b26d0SGleb Smirnoffbeing enabled.
237a97b26d0SGleb Smirnoff.It Va hw.em.rx_abs_int_delay
238a97b26d0SGleb SmirnoffIf
239a97b26d0SGleb Smirnoff.Va hw.em.rx_int_delay
240a97b26d0SGleb Smirnoffis non-zero, this tunable limits the maximum delay in which a receive
241a97b26d0SGleb Smirnoffinterrupt is generated.
242a97b26d0SGleb Smirnoff.It Va hw.em.tx_int_delay
243a97b26d0SGleb SmirnoffThis value delays the generation of transmit interrupts in units of
244a97b26d0SGleb Smirnoff1.024 microseconds.
245a97b26d0SGleb SmirnoffThe default value is 64.
246a97b26d0SGleb Smirnoff.It Va hw.em.tx_abs_int_delay
247a97b26d0SGleb SmirnoffIf
248a97b26d0SGleb Smirnoff.Va hw.em.tx_int_delay
249a97b26d0SGleb Smirnoffis non-zero, this tunable limits the maximum delay in which a transmit
250a97b26d0SGleb Smirnoffinterrupt is generated.
251*23c9098bSSean Bruno.It Va hw.em.num_queues
252*23c9098bSSean BrunoNumber of hardware queues that will be configured on this adapter (maximum of 2)
253*23c9098bSSean BrunoDefaults to 1.
254*23c9098bSSean BrunoOnly valid with kernel configuration
255*23c9098bSSean Bruno.Cd "options EM_MULTIQUEUE".
256a97b26d0SGleb Smirnoff.El
257135bce2aSUlrich Spörlein.Sh FILES
258135bce2aSUlrich Spörlein.Bl -tag -width /dev/led/em*
259135bce2aSUlrich Spörlein.It Pa /dev/led/em*
260135bce2aSUlrich Spörleinidentification LED device nodes
261135bce2aSUlrich Spörlein.El
262135bce2aSUlrich Spörlein.Sh EXAMPLES
263135bce2aSUlrich SpörleinMake the identification LED of em0 blink:
264135bce2aSUlrich Spörlein.Pp
265135bce2aSUlrich Spörlein.Dl "echo f2 > /dev/led/em0"
266135bce2aSUlrich Spörlein.Pp
267135bce2aSUlrich SpörleinTurn the identification LED of em0 off again:
268135bce2aSUlrich Spörlein.Pp
269135bce2aSUlrich Spörlein.Dl "echo 0 > /dev/led/em0"
2701ac88dc0SPrafulla Deuskar.Sh DIAGNOSTICS
2711ac88dc0SPrafulla Deuskar.Bl -diag
2721ac88dc0SPrafulla Deuskar.It "em%d: Unable to allocate bus resource: memory"
2731ac88dc0SPrafulla DeuskarA fatal initialization error has occurred.
2741ac88dc0SPrafulla Deuskar.It "em%d: Unable to allocate bus resource: interrupt"
2751ac88dc0SPrafulla DeuskarA fatal initialization error has occurred.
2761ac88dc0SPrafulla Deuskar.It "em%d: watchdog timeout -- resetting"
2771ac88dc0SPrafulla DeuskarThe device has stopped responding to the network, or there is a problem with
2781ac88dc0SPrafulla Deuskarthe network connection (cable).
2791ac88dc0SPrafulla Deuskar.El
2801ac88dc0SPrafulla Deuskar.Sh SUPPORT
281802a4af8SRuslan ErmilovFor general information and support,
282a59716d2SPrafulla Deuskargo to the Intel support website at:
283802a4af8SRuslan Ermilov.Pa http://support.intel.com .
2841ac88dc0SPrafulla Deuskar.Pp
2851ac88dc0SPrafulla DeuskarIf an issue is identified with the released source code on the supported kernel
2861ac88dc0SPrafulla Deuskarwith a supported adapter, email the specific information related to the
287802a4af8SRuslan Ermilovissue to
2886c899950SBaptiste Daroussin.Aq Mt freebsd@intel.com .
2891ac88dc0SPrafulla Deuskar.Sh SEE ALSO
290a25ecdffSChristian Brueffer.Xr altq 4 ,
2911ac88dc0SPrafulla Deuskar.Xr arp 4 ,
292f78d85ebSSimon L. B. Nielsen.Xr igb 4 ,
293d6d81b73SMarius Strobl.Xr led 4 ,
2941ac88dc0SPrafulla Deuskar.Xr netintro 4 ,
295e4fe103dSPrafulla Deuskar.Xr ng_ether 4 ,
296a6c410e7SChristian Brueffer.Xr polling 4 ,
297999e589bSRuslan Ermilov.Xr vlan 4 ,
2981ac88dc0SPrafulla Deuskar.Xr ifconfig 8
2991ac88dc0SPrafulla Deuskar.Sh HISTORY
3001ac88dc0SPrafulla DeuskarThe
3011ac88dc0SPrafulla Deuskar.Nm
3021ac88dc0SPrafulla Deuskardevice driver first appeared in
303a59716d2SPrafulla Deuskar.Fx 4.4 .
3041ac88dc0SPrafulla Deuskar.Sh AUTHORS
3051ac88dc0SPrafulla DeuskarThe
3061ac88dc0SPrafulla Deuskar.Nm
3071ac88dc0SPrafulla Deuskardriver was written by
3086c899950SBaptiste Daroussin.An Intel Corporation Aq Mt freebsd@intel.com .
309af356871SYaroslav Tykhiy.Sh BUGS
310af356871SYaroslav TykhiyHardware-assisted VLAN processing is disabled by default.
311af356871SYaroslav TykhiyYou can enable it on an
312af356871SYaroslav Tykhiy.Nm
313af356871SYaroslav Tykhiyinterface using
3146e0ee35dSChristian Brueffer.Xr ifconfig 8 .
315*23c9098bSSean Bruno.Pp
316*23c9098bSSean BrunoActivating EM_MULTIQUEUE support requires MSI-X features.
317