xref: /freebsd/share/man/man4/em.4 (revision d6d81b7386537a6117c5bb01c6ba04d34d738d51)
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.\"
34*d6d81b73SMarius Strobl.Dd May 14, 2010
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
4816d78bb8STom RhodesAlternatively, to load the driver as a
4916d78bb8STom Rhodesmodule at boot time, place the following line in
5086e3186eSTom Rhodes.Xr loader.conf 5 :
5186e3186eSTom Rhodes.Bd -literal -offset indent
5286e3186eSTom Rhodesif_em_load="YES"
5386e3186eSTom Rhodes.Ed
541ac88dc0SPrafulla Deuskar.Sh DESCRIPTION
551ac88dc0SPrafulla DeuskarThe
561ac88dc0SPrafulla Deuskar.Nm
5791461de4SChristian Bruefferdriver provides support for PCI Gigabit Ethernet adapters based on
587d9c4565SChristian Bruefferthe Intel 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546,
59e0578797SSimon L. B. Nielsen82546EB, 82546GB, 82547, 82571, 81572, 82573, and 82574 Ethernet
60e0578797SSimon L. B. Nielsencontroller chips.
611ac88dc0SPrafulla DeuskarThe driver supports Transmit/Receive checksum offload
62cb7e673cSChristian Bruefferand Jumbo Frames on all but 82542-based adapters.
63cb7e673cSChristian BruefferFurthermore it supports TCP segmentation offload (TSO) on all adapters but
64cb7e673cSChristian Bruefferthose based on the 82543, 82544 and 82547 controller chips.
65*d6d81b73SMarius StroblThe identification LEDs of the adapters supported by the
66*d6d81b73SMarius Strobl.Nm
67*d6d81b73SMarius Strobldriver can be controlled via the
68*d6d81b73SMarius Strobl.Xr led 4
69*d6d81b73SMarius StroblAPI for localization purposes.
7091461de4SChristian BruefferFor further hardware information, see the
71802a4af8SRuslan Ermilov.Pa README
721ac88dc0SPrafulla Deuskarincluded with the driver.
731ac88dc0SPrafulla Deuskar.Pp
741ac88dc0SPrafulla DeuskarFor questions related to hardware requirements,
751ac88dc0SPrafulla Deuskarrefer to the documentation supplied with your Intel PRO/1000 adapter.
76802a4af8SRuslan ErmilovAll hardware requirements listed apply to use with
77802a4af8SRuslan Ermilov.Fx .
781ac88dc0SPrafulla Deuskar.Pp
79a59716d2SPrafulla DeuskarSupport for Jumbo Frames is provided via the interface MTU setting.
801ac88dc0SPrafulla DeuskarSelecting an MTU larger than 1500 bytes with the
811ac88dc0SPrafulla Deuskar.Xr ifconfig 8
82a59716d2SPrafulla Deuskarutility configures the adapter to receive and transmit Jumbo Frames.
83a59716d2SPrafulla DeuskarThe maximum MTU size for Jumbo Frames is 16114.
841ac88dc0SPrafulla Deuskar.Pp
855461e585SPrafulla DeuskarThis driver version supports VLANs.
861ac88dc0SPrafulla DeuskarThe
871ac88dc0SPrafulla Deuskar.Nm
881ac88dc0SPrafulla Deuskardriver supports the following media types:
89802a4af8SRuslan Ermilov.Bl -tag -width ".Cm 10baseT/UTP"
90802a4af8SRuslan Ermilov.It Cm autoselect
911ac88dc0SPrafulla DeuskarEnables auto-negotiation for speed and duplex.
92802a4af8SRuslan Ermilov.It Cm 10baseT/UTP
931ac88dc0SPrafulla DeuskarSets 10Mbps operation.
94a59716d2SPrafulla DeuskarUse the
95802a4af8SRuslan Ermilov.Cm mediaopt
96a59716d2SPrafulla Deuskaroption to select
97802a4af8SRuslan Ermilov.Cm full-duplex
98a59716d2SPrafulla Deuskarmode.
99802a4af8SRuslan Ermilov.It Cm 100baseTX
1001ac88dc0SPrafulla DeuskarSets 100Mbps operation.
101a59716d2SPrafulla DeuskarUse the
102802a4af8SRuslan Ermilov.Cm mediaopt
103a59716d2SPrafulla Deuskaroption to select
104802a4af8SRuslan Ermilov.Cm full-duplex
105a59716d2SPrafulla Deuskarmode.
106802a4af8SRuslan Ermilov.It Cm 1000baseSX
1071ac88dc0SPrafulla DeuskarSets 1000Mbps operation.
1081ac88dc0SPrafulla DeuskarOnly
109802a4af8SRuslan Ermilov.Cm full-duplex
1101ac88dc0SPrafulla Deuskarmode is supported at this speed.
111802a4af8SRuslan Ermilov.It Cm 1000baseTX
1121ac88dc0SPrafulla DeuskarSets 1000Mbps operation.
1131ac88dc0SPrafulla DeuskarOnly
114802a4af8SRuslan Ermilov.Cm full-duplex
1151ac88dc0SPrafulla Deuskarmode is supported at this speed.
1161ac88dc0SPrafulla Deuskar.El
1171ac88dc0SPrafulla Deuskar.Pp
1181ac88dc0SPrafulla DeuskarThe
1191ac88dc0SPrafulla Deuskar.Nm
1201ac88dc0SPrafulla Deuskardriver supports the following media options:
121802a4af8SRuslan Ermilov.Bl -tag -width ".Cm full-duplex"
122802a4af8SRuslan Ermilov.It Cm full-duplex
123a59716d2SPrafulla DeuskarForces full-duplex operation
124802a4af8SRuslan Ermilov.It Cm half-duplex
125a59716d2SPrafulla DeuskarForces half-duplex operation.
1261ac88dc0SPrafulla Deuskar.El
1271ac88dc0SPrafulla Deuskar.Pp
128802a4af8SRuslan ErmilovOnly use
129802a4af8SRuslan Ermilov.Cm mediaopt
130802a4af8SRuslan Ermilovto set the driver to
131802a4af8SRuslan Ermilov.Cm full-duplex .
132802a4af8SRuslan ErmilovIf
133802a4af8SRuslan Ermilov.Cm mediaopt
134802a4af8SRuslan Ermilovis not specified, the driver defaults to
135802a4af8SRuslan Ermilov.Cm half-duplex .
136a59716d2SPrafulla Deuskar.Pp
1371ac88dc0SPrafulla DeuskarFor more information on configuring this device, see
1381ac88dc0SPrafulla Deuskar.Xr ifconfig 8 .
13991461de4SChristian Brueffer.Sh HARDWARE
14091461de4SChristian BruefferThe
14191461de4SChristian Brueffer.Nm
14291461de4SChristian Bruefferdriver supports Gigabit Ethernet adapters based on the Intel
1437d9c4565SChristian Brueffer82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB,
144e0578797SSimon L. B. Nielsen82546GB, 82547, 82571, 82572, 82573, and 82574 controller chips:
14591461de4SChristian Brueffer.Pp
14691461de4SChristian Brueffer.Bl -bullet -compact
14791461de4SChristian Brueffer.It
14891461de4SChristian BruefferIntel PRO/1000 CT Network Connection (82547)
14991461de4SChristian Brueffer.It
15091461de4SChristian BruefferIntel PRO/1000 F Server Adapter (82543)
15191461de4SChristian Brueffer.It
15291461de4SChristian BruefferIntel PRO/1000 Gigabit Server Adapter (82542)
15391461de4SChristian Brueffer.It
15491461de4SChristian BruefferIntel PRO/1000 GT Desktop Adapter (82541PI)
15591461de4SChristian Brueffer.It
15691461de4SChristian BruefferIntel PRO/1000 MF Dual Port Server Adapter (82546)
15791461de4SChristian Brueffer.It
15891461de4SChristian BruefferIntel PRO/1000 MF Server Adapter (82545)
15991461de4SChristian Brueffer.It
16091461de4SChristian BruefferIntel PRO/1000 MF Server Adapter (LX) (82545)
16191461de4SChristian Brueffer.It
16291461de4SChristian BruefferIntel PRO/1000 MT Desktop Adapter (82540)
16391461de4SChristian Brueffer.It
16491461de4SChristian BruefferIntel PRO/1000 MT Desktop Adapter (82541)
16591461de4SChristian Brueffer.It
16691461de4SChristian BruefferIntel PRO/1000 MT Dual Port Server Adapter (82546)
16791461de4SChristian Brueffer.It
16891461de4SChristian BruefferIntel PRO/1000 MT Quad Port Server Adapter (82546EB)
16991461de4SChristian Brueffer.It
17091461de4SChristian BruefferIntel PRO/1000 MT Server Adapter (82545)
17191461de4SChristian Brueffer.It
172e0578797SSimon L. B. NielsenIntel PRO/1000 PF Dual Port Server Adapter (82571)
173e0578797SSimon L. B. Nielsen.It
174e0578797SSimon L. B. NielsenIntel PRO/1000 PF Quad Port Server Adapter (82571)
175e0578797SSimon L. B. Nielsen.It
176e0578797SSimon L. B. NielsenIntel PRO/1000 PF Server Adapter (82572)
177e0578797SSimon L. B. Nielsen.It
178e0578797SSimon L. B. NielsenIntel PRO/1000 PT Desktop Adapter (82572)
179e0578797SSimon L. B. Nielsen.It
180e0578797SSimon L. B. NielsenIntel PRO/1000 PT Dual Port Server Adapter (82571)
181e0578797SSimon L. B. Nielsen.It
182e0578797SSimon L. B. NielsenIntel PRO/1000 PT Quad Port Server Adapter (82571)
183e0578797SSimon L. B. Nielsen.It
184e0578797SSimon L. B. NielsenIntel PRO/1000 PT Server Adapter (82572)
185e0578797SSimon L. B. Nielsen.It
18691461de4SChristian BruefferIntel PRO/1000 T Desktop Adapter (82544)
18791461de4SChristian Brueffer.It
18891461de4SChristian BruefferIntel PRO/1000 T Server Adapter (82543)
18991461de4SChristian Brueffer.It
19091461de4SChristian BruefferIntel PRO/1000 XF Server Adapter (82544)
19191461de4SChristian Brueffer.It
19291461de4SChristian BruefferIntel PRO/1000 XT Server Adapter (82544)
19391461de4SChristian Brueffer.El
194a97b26d0SGleb Smirnoff.Sh LOADER TUNABLES
195a97b26d0SGleb SmirnoffTunables can be set at the
196a97b26d0SGleb Smirnoff.Xr loader 8
197a97b26d0SGleb Smirnoffprompt before booting the kernel or stored in
19878ad5421SRuslan Ermilov.Xr loader.conf 5 .
199a97b26d0SGleb Smirnoff.Bl -tag -width indent
200a97b26d0SGleb Smirnoff.It Va hw.em.rxd
201a97b26d0SGleb SmirnoffNumber of receive descriptors allocated by the driver.
202a97b26d0SGleb SmirnoffThe default value is 256.
203a97b26d0SGleb SmirnoffThe 82542 and 82543-based adapters can handle up to 256 descriptors,
204a97b26d0SGleb Smirnoffwhile others can have up to 4096.
205a97b26d0SGleb Smirnoff.It Va hw.em.txd
206a97b26d0SGleb SmirnoffNumber of transmit descriptors allocated by the driver.
207a97b26d0SGleb SmirnoffThe default value is 256.
208a97b26d0SGleb SmirnoffThe 82542 and 82543-based adapters can handle up to 256 descriptors,
209a97b26d0SGleb Smirnoffwhile others can have up to 4096.
210a97b26d0SGleb Smirnoff.It Va hw.em.rx_int_delay
211a97b26d0SGleb SmirnoffThis value delays the generation of receive interrupts in units of
212a97b26d0SGleb Smirnoff1.024 microseconds.
213a97b26d0SGleb SmirnoffThe default value is 0, since adapters may hang with this feature
214a97b26d0SGleb Smirnoffbeing enabled.
215a97b26d0SGleb Smirnoff.It Va hw.em.rx_abs_int_delay
216a97b26d0SGleb SmirnoffIf
217a97b26d0SGleb Smirnoff.Va hw.em.rx_int_delay
218a97b26d0SGleb Smirnoffis non-zero, this tunable limits the maximum delay in which a receive
219a97b26d0SGleb Smirnoffinterrupt is generated.
220a97b26d0SGleb Smirnoff.It Va hw.em.tx_int_delay
221a97b26d0SGleb SmirnoffThis value delays the generation of transmit interrupts in units of
222a97b26d0SGleb Smirnoff1.024 microseconds.
223a97b26d0SGleb SmirnoffThe default value is 64.
224a97b26d0SGleb Smirnoff.It Va hw.em.tx_abs_int_delay
225a97b26d0SGleb SmirnoffIf
226a97b26d0SGleb Smirnoff.Va hw.em.tx_int_delay
227a97b26d0SGleb Smirnoffis non-zero, this tunable limits the maximum delay in which a transmit
228a97b26d0SGleb Smirnoffinterrupt is generated.
229a97b26d0SGleb Smirnoff.El
2301ac88dc0SPrafulla Deuskar.Sh DIAGNOSTICS
2311ac88dc0SPrafulla Deuskar.Bl -diag
2321ac88dc0SPrafulla Deuskar.It "em%d: Unable to allocate bus resource: memory"
2331ac88dc0SPrafulla DeuskarA fatal initialization error has occurred.
2341ac88dc0SPrafulla Deuskar.It "em%d: Unable to allocate bus resource: interrupt"
2351ac88dc0SPrafulla DeuskarA fatal initialization error has occurred.
2361ac88dc0SPrafulla Deuskar.It "em%d: watchdog timeout -- resetting"
2371ac88dc0SPrafulla DeuskarThe device has stopped responding to the network, or there is a problem with
2381ac88dc0SPrafulla Deuskarthe network connection (cable).
2391ac88dc0SPrafulla Deuskar.El
2401ac88dc0SPrafulla Deuskar.Sh SUPPORT
241802a4af8SRuslan ErmilovFor general information and support,
242a59716d2SPrafulla Deuskargo to the Intel support website at:
243802a4af8SRuslan Ermilov.Pa http://support.intel.com .
2441ac88dc0SPrafulla Deuskar.Pp
2451ac88dc0SPrafulla DeuskarIf an issue is identified with the released source code on the supported kernel
2461ac88dc0SPrafulla Deuskarwith a supported adapter, email the specific information related to the
247802a4af8SRuslan Ermilovissue to
248802a4af8SRuslan Ermilov.Aq freebsdnic@mailbox.intel.com .
249*d6d81b73SMarius Strobl.Sh FILES
250*d6d81b73SMarius Strobl.Bl -tag -width /dev/led/em*
251*d6d81b73SMarius Strobl.It Pa /dev/led/em*
252*d6d81b73SMarius Stroblidentification LED device nodes
253*d6d81b73SMarius Strobl.El
254*d6d81b73SMarius Strobl.Sh EXAMPLES
255*d6d81b73SMarius StroblMake the identification LED of em0 blink:
256*d6d81b73SMarius Strobl.Pp
257*d6d81b73SMarius Strobl.Dl "echo f2 > /dev/led/em0"
258*d6d81b73SMarius Strobl.Pp
259*d6d81b73SMarius StroblTurn the identification LED of em0 off again:
260*d6d81b73SMarius Strobl.Pp
261*d6d81b73SMarius Strobl.Dl "echo 0 > /dev/led/em0"
262*d6d81b73SMarius Strobl.Pp
2631ac88dc0SPrafulla Deuskar.Sh SEE ALSO
264a25ecdffSChristian Brueffer.Xr altq 4 ,
2651ac88dc0SPrafulla Deuskar.Xr arp 4 ,
266f78d85ebSSimon L. B. Nielsen.Xr igb 4 ,
267*d6d81b73SMarius Strobl.Xr led 4 ,
2681ac88dc0SPrafulla Deuskar.Xr netintro 4 ,
269e4fe103dSPrafulla Deuskar.Xr ng_ether 4 ,
270a6c410e7SChristian Brueffer.Xr polling 4 ,
271999e589bSRuslan Ermilov.Xr vlan 4 ,
2721ac88dc0SPrafulla Deuskar.Xr ifconfig 8
2731ac88dc0SPrafulla Deuskar.Sh HISTORY
2741ac88dc0SPrafulla DeuskarThe
2751ac88dc0SPrafulla Deuskar.Nm
2761ac88dc0SPrafulla Deuskardevice driver first appeared in
277a59716d2SPrafulla Deuskar.Fx 4.4 .
2781ac88dc0SPrafulla Deuskar.Sh AUTHORS
2791ac88dc0SPrafulla DeuskarThe
2801ac88dc0SPrafulla Deuskar.Nm
2811ac88dc0SPrafulla Deuskardriver was written by
2821ac88dc0SPrafulla Deuskar.An Intel Corporation Aq freebsdnic@mailbox.intel.com .
283af356871SYaroslav Tykhiy.Sh BUGS
284af356871SYaroslav TykhiyHardware-assisted VLAN processing is disabled by default.
285af356871SYaroslav TykhiyYou can enable it on an
286af356871SYaroslav Tykhiy.Nm
287af356871SYaroslav Tykhiyinterface using
2886e0ee35dSChristian Brueffer.Xr ifconfig 8 .
289