xref: /freebsd/share/man/man4/em.4 (revision af6a5351a1fdb1130f18be6c782c4d48916eb971)
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 January 12, 2016
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.
61The driver supports Transmit/Receive checksum offload
62and Jumbo Frames on all but 82542-based adapters.
63Furthermore it supports TCP segmentation offload (TSO) on all adapters but
64those based on the 82543, 82544 and 82547 controller chips.
65The identification LEDs of the adapters supported by the
66.Nm
67driver can be controlled via the
68.Xr led 4
69API for localization purposes.
70For further hardware information, see the
71.Pa README
72included with the driver.
73.Pp
74For questions related to hardware requirements,
75refer to the documentation supplied with your Intel PRO/1000 adapter.
76All hardware requirements listed apply to use with
77.Fx .
78.Pp
79Support for Jumbo Frames is provided via the interface MTU setting.
80Selecting an MTU larger than 1500 bytes with the
81.Xr ifconfig 8
82utility configures the adapter to receive and transmit Jumbo Frames.
83The maximum MTU size for Jumbo Frames is 16114.
84.Pp
85This driver version supports VLANs.
86The
87.Nm
88driver supports the following media types:
89.Bl -tag -width ".Cm 10baseT/UTP"
90.It Cm autoselect
91Enables auto-negotiation for speed and duplex.
92.It Cm 10baseT/UTP
93Sets 10Mbps operation.
94Use the
95.Cm mediaopt
96option to select
97.Cm full-duplex
98mode.
99.It Cm 100baseTX
100Sets 100Mbps operation.
101Use the
102.Cm mediaopt
103option to select
104.Cm full-duplex
105mode.
106.It Cm 1000baseSX
107Sets 1000Mbps operation.
108Only
109.Cm full-duplex
110mode is supported at this speed.
111.It Cm 1000baseTX
112Sets 1000Mbps operation.
113Only
114.Cm full-duplex
115mode is supported at this speed.
116.El
117.Pp
118The
119.Nm
120driver supports the following media options:
121.Bl -tag -width ".Cm full-duplex"
122.It Cm full-duplex
123Forces full-duplex operation
124.It Cm half-duplex
125Forces half-duplex operation.
126.El
127.Pp
128Only use
129.Cm mediaopt
130to set the driver to
131.Cm full-duplex .
132If
133.Cm mediaopt
134is not specified, the driver defaults to
135.Cm half-duplex .
136.Pp
137For more information on configuring this device, see
138.Xr ifconfig 8 .
139.Sh HARDWARE
140The
141.Nm
142driver supports Gigabit Ethernet adapters based on the Intel
14382540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB,
14482546GB, 82547, 82571, 82572, 82573, and 82574 controller chips:
145.Pp
146.Bl -bullet -compact
147.It
148Intel PRO/1000 CT Network Connection (82547)
149.It
150Intel PRO/1000 F Server Adapter (82543)
151.It
152Intel PRO/1000 Gigabit Server Adapter (82542)
153.It
154Intel PRO/1000 GT Desktop Adapter (82541PI)
155.It
156Intel PRO/1000 MF Dual Port Server Adapter (82546)
157.It
158Intel PRO/1000 MF Server Adapter (82545)
159.It
160Intel PRO/1000 MF Server Adapter (LX) (82545)
161.It
162Intel PRO/1000 MT Desktop Adapter (82540)
163.It
164Intel PRO/1000 MT Desktop Adapter (82541)
165.It
166Intel PRO/1000 MT Dual Port Server Adapter (82546)
167.It
168Intel PRO/1000 MT Quad Port Server Adapter (82546EB)
169.It
170Intel PRO/1000 MT Server Adapter (82545)
171.It
172Intel PRO/1000 PF Dual Port Server Adapter (82571)
173.It
174Intel PRO/1000 PF Quad Port Server Adapter (82571)
175.It
176Intel PRO/1000 PF Server Adapter (82572)
177.It
178Intel PRO/1000 PT Desktop Adapter (82572)
179.It
180Intel PRO/1000 PT Dual Port Server Adapter (82571)
181.It
182Intel PRO/1000 PT Quad Port Server Adapter (82571)
183.It
184Intel PRO/1000 PT Server Adapter (82572)
185.It
186Intel PRO/1000 T Desktop Adapter (82544)
187.It
188Intel PRO/1000 T Server Adapter (82543)
189.It
190Intel PRO/1000 XF Server Adapter (82544)
191.It
192Intel PRO/1000 XT Server Adapter (82544)
193.El
194.Sh LOADER TUNABLES
195Tunables can be set at the
196.Xr loader 8
197prompt before booting the kernel or stored in
198.Xr loader.conf 5 .
199.Bl -tag -width indent
200.It Va hw.em.disable_crc_stripping
201Disable or enable hardware stripping of CRC field.
202This is mostly useful on BMC/IPMI shared interfaces where stripping the CRC
203causes remote access over IPMI to fail.
204Default 0 (enabled).
205.It Va hw.em.eee_setting
206Disable or enable Energy Efficient Ethernet.
207Default 1 (disabled).
208.It Va hw.em.msix
209Enable or disable MSI-X style interrupts.
210Default 1 (enabled).
211.It Va hw.em.smart_pwr_down
212Enable or disable smart power down features on newer adapters.
213Default 0 (disabled).
214.It Va hw.em.sbp
215Show bad packets when in promiscuous mode.
216Default 0 (off).
217.It Va hw.em.rxd
218Number of receive descriptors allocated by the driver.
219The default value is 1024 for adapters newer than 82547,
220and 256 for older ones.
221The 82542 and 82543-based adapters can handle up to 256 descriptors,
222while others can have up to 4096.
223.It Va hw.em.txd
224Number of transmit descriptors allocated by the driver.
225The default value is 1024 for adapters newer than 82547,
226and 256 for older ones.
227The 82542 and 82543-based adapters can handle up to 256 descriptors,
228while others can have up to 4096.
229.It Va hw.em.rx_int_delay
230This value delays the generation of receive interrupts in units of
2311.024 microseconds.
232The default value is 0, since adapters may hang with this feature
233being enabled.
234.It Va hw.em.rx_abs_int_delay
235If
236.Va hw.em.rx_int_delay
237is non-zero, this tunable limits the maximum delay in which a receive
238interrupt is generated.
239.It Va hw.em.tx_int_delay
240This value delays the generation of transmit interrupts in units of
2411.024 microseconds.
242The default value is 64.
243.It Va hw.em.tx_abs_int_delay
244If
245.Va hw.em.tx_int_delay
246is non-zero, this tunable limits the maximum delay in which a transmit
247interrupt is generated.
248.Sh FILES
249.Bl -tag -width /dev/led/em*
250.It Pa /dev/led/em*
251identification LED device nodes
252.El
253.Sh EXAMPLES
254Make the identification LED of em0 blink:
255.Pp
256.Dl "echo f2 > /dev/led/em0"
257.Pp
258Turn the identification LED of em0 off again:
259.Pp
260.Dl "echo 0 > /dev/led/em0"
261.Sh DIAGNOSTICS
262.Bl -diag
263.It "em%d: Unable to allocate bus resource: memory"
264A fatal initialization error has occurred.
265.It "em%d: Unable to allocate bus resource: interrupt"
266A fatal initialization error has occurred.
267.It "em%d: watchdog timeout -- resetting"
268The device has stopped responding to the network, or there is a problem with
269the network connection (cable).
270.El
271.Sh SUPPORT
272For general information and support,
273go to the Intel support website at:
274.Pa http://support.intel.com .
275.Pp
276If an issue is identified with the released source code on the supported kernel
277with a supported adapter, email the specific information related to the
278issue to
279.Aq Mt freebsd@intel.com .
280.Sh SEE ALSO
281.Xr altq 4 ,
282.Xr arp 4 ,
283.Xr igb 4 ,
284.Xr led 4 ,
285.Xr netintro 4 ,
286.Xr ng_ether 4 ,
287.Xr polling 4 ,
288.Xr vlan 4 ,
289.Xr ifconfig 8
290.Sh HISTORY
291The
292.Nm
293device driver first appeared in
294.Fx 4.4 .
295.Sh AUTHORS
296The
297.Nm
298driver was written by
299.An Intel Corporation Aq Mt freebsd@intel.com .
300