xref: /freebsd/share/man/man4/em.4 (revision 2a01feab)
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 20, 2018
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.
61.Pp
62The
63.Nm
64driver also provides support for PCI Express Gigabit Ethernet adapters
65based on the Intel 82575, 82576, 82580, i21x and i35x.
66.Pp
67The driver supports Transmit/Receive checksum offload and Jumbo Frames
68on all but 82542-based adapters.
69.Pp
70Furthermore it supports TCP segmentation offload (TSO) on all adapters but
71those based on the 82543, 82544 and 82547 controller chips.
72The identification LEDs of the adapters supported by the
73.Nm
74driver can be controlled via the
75.Xr led 4
76API for localization purposes.
77For further hardware information, see the
78.Pa README
79included with the driver.
80.Pp
81For questions related to hardware requirements, refer to the
82documentation supplied with your Intel PRO/1000 adapter.
83All hardware requirements listed apply to use with
84.Fx .
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 supports hardware assisted VLANs.
93The
94.Nm
95driver supports the following media types:
96.Bl -tag -width ".Cm 10baseT/UTP"
97.It Cm autoselect
98Enables auto-negotiation for speed and duplex.
99.It Cm 10baseT/UTP
100Sets 10Mbps operation.
101Use the
102.Cm mediaopt
103option to select
104.Cm full-duplex
105mode.
106.It Cm 100baseTX
107Sets 100Mbps operation.
108Use the
109.Cm mediaopt
110option to select
111.Cm full-duplex
112mode.
113.It Cm 1000baseSX
114Sets 1000Mbps operation.
115Only
116.Cm full-duplex
117mode is supported at this speed.
118.It Cm 1000baseTX
119Sets 1000Mbps operation.
120Only
121.Cm full-duplex
122mode is supported at this speed.
123.El
124.Pp
125The
126.Nm
127driver supports the following media options:
128.Bl -tag -width ".Cm full-duplex"
129.It Cm full-duplex
130Forces full-duplex operation
131.It Cm half-duplex
132Forces half-duplex operation.
133.El
134.Pp
135Only use
136.Cm mediaopt
137to set the driver to
138.Cm full-duplex .
139If
140.Cm mediaopt
141is not specified, the driver defaults to
142.Cm half-duplex .
143.Pp
144For more information on configuring this device, see
145.Xr ifconfig 8 .
146.Sh HARDWARE
147The
148.Nm
149driver supports Gigabit Ethernet adapters based on the Intel
15082540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB,
15182546GB, 82547, 82571, 82572, 82573, 82574, 82575, 82576, and 82580
152controller chips:
153.Pp
154.Bl -bullet -compact
155.It
156Intel Gigabit ET Dual Port Server Adapter (82576)
157.It
158Intel Gigabit VT Quad Port Server Adapter (82575)
159.It
160Intel Single, Dual and Quad Gigabit Ethernet Controller (82580)
161.It
162Intel i210 and i211 Gigabit Ethernet Controller
163.It
164Intel i350 and i354 Gigabit Ethernet Controller
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.Sh LOADER TUNABLES
213Tunables can be set at the
214.Xr loader 8
215prompt before booting the kernel or stored in
216.Xr loader.conf 5 .
217.Bl -tag -width indent
218.It Va hw.em.disable_crc_stripping
219Disable or enable hardware stripping of CRC field.
220This is mostly useful on BMC/IPMI shared interfaces where stripping the CRC
221causes remote access over IPMI to fail.
222Default 0 (enabled).
223.It Va hw.em.eee_setting
224Disable or enable Energy Efficient Ethernet.
225Default 1 (disabled).
226.It Va hw.em.msix
227Enable or disable MSI-X style interrupts.
228Default 1 (enabled).
229.It Va hw.em.smart_pwr_down
230Enable or disable smart power down features on newer adapters.
231Default 0 (disabled).
232.It Va hw.em.sbp
233Show bad packets when in promiscuous mode.
234Default 0 (off).
235.It Va hw.em.rxd
236Number of receive descriptors allocated by the driver.
237The default value is 1024 for adapters newer than 82547,
238and 256 for older ones.
239The 82542 and 82543-based adapters can handle up to 256 descriptors,
240while others can have up to 4096.
241.It Va hw.em.txd
242Number of transmit descriptors allocated by the driver.
243The default value is 1024 for adapters newer than 82547,
244and 256 for older ones.
245The 82542 and 82543-based adapters can handle up to 256 descriptors,
246while others can have up to 4096.
247.It Va hw.em.rx_int_delay
248This value delays the generation of receive interrupts in units of
2491.024 microseconds.
250The default value is 0, since adapters may hang with this feature
251being enabled.
252.It Va hw.em.rx_abs_int_delay
253If
254.Va hw.em.rx_int_delay
255is non-zero, this tunable limits the maximum delay in which a receive
256interrupt is generated.
257.It Va hw.em.tx_int_delay
258This value delays the generation of transmit interrupts in units of
2591.024 microseconds.
260The default value is 64.
261.It Va hw.em.tx_abs_int_delay
262If
263.Va hw.em.tx_int_delay
264is non-zero, this tunable limits the maximum delay in which a transmit
265interrupt is generated.
266.Sh FILES
267.Bl -tag -width /dev/led/em*
268.It Pa /dev/led/em*
269identification LED device nodes
270.El
271.Sh EXAMPLES
272Make the identification LED of em0 blink:
273.Pp
274.Dl "echo f2 > /dev/led/em0"
275.Pp
276Turn the identification LED of em0 off again:
277.Pp
278.Dl "echo 0 > /dev/led/em0"
279.Sh DIAGNOSTICS
280.Bl -diag
281.It "em%d: Unable to allocate bus resource: memory"
282A fatal initialization error has occurred.
283.It "em%d: Unable to allocate bus resource: interrupt"
284A fatal initialization error has occurred.
285.It "em%d: watchdog timeout -- resetting"
286The device has stopped responding to the network, or there is a problem with
287the network connection (cable).
288.El
289.Sh SUPPORT
290For general information and support,
291go to the Intel support website at:
292.Pa http://support.intel.com .
293.Pp
294If an issue is identified with the released source code on the supported kernel
295with a supported adapter, email the specific information related to the
296issue to
297.Aq Mt freebsd@intel.com .
298.Sh SEE ALSO
299.Xr altq 4 ,
300.Xr arp 4 ,
301.Xr iflib 4 ,
302.Xr led 4 ,
303.Xr netintro 4 ,
304.Xr ng_ether 4 ,
305.Xr polling 4 ,
306.Xr vlan 4 ,
307.Xr ifconfig 8
308.Sh HISTORY
309The
310.Nm
311device driver first appeared in
312.Fx 4.4 .
313.Nm
314was merged with the igb device driver and converted to the iflib framework in
315.Fx 12.0 .
316.Sh AUTHORS
317.An -nosplit
318The
319.Nm
320driver was originally written by
321.An Intel Corporation Aq Mt freebsd@intel.com .
322It was merged with igb driver and converted to the iflib framework by
323.An Matthew Macy Aq Mt mmacy@mattmacy.io
324and
325.An Sean Bruno Aq Mt sbruno@FreeBSD.org .
326