Document which drivers are using MSI and how it can be disabled.
[dragonfly.git] / share / man / man4 / em.4
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: src/share/man/man4/em.4,v 1.30 2008/10/06 21:55:53 simon Exp $
33 .\"
34 .Dd April 7, 2012
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
41 To compile this driver into the kernel,
42 place the following lines in your
43 kernel configuration file:
44 .Bd -ragged -offset indent
45 .Cd "device ig_hal"
46 .Cd "device em"
47 .Ed
48 .Pp
49 Alternatively, to load the driver as a
50 module at boot time, place the following lines in
51 .Xr loader.conf 5 :
52 .Bd -literal -offset indent
53 ig_hal_load="YES"
54 if_em_load="YES"
55 .Ed
56 .Sh DESCRIPTION
57 The
58 .Nm
59 driver provides support for PCI Gigabit Ethernet adapters based on
60 the Intel 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546,
61 82546EB, 82546GB, 82547, 82571, 81572, 82573, and 82574 Ethernet
62 controller chips.
63 The driver supports Transmit/Receive checksum offload
64 and Jumbo Frames on all but 82542-based adapters.
65 .\" Furthermore it supports TCP segmentation offload (TSO) on all adapters but
66 .\" those based on the 82543, 82544 and 82547 controller chips.
67 For further hardware information, see the
68 .Pa README
69 included with the driver.
70 .Pp
71 For questions related to hardware requirements,
72 refer to the documentation supplied with your Intel PRO/1000 adapter.
73 All hardware requirements listed apply to use with
74 .Dx .
75 .Pp
76 Support for Jumbo Frames is provided via the interface MTU setting.
77 Selecting an MTU larger than 1500 bytes with the
78 .Xr ifconfig 8
79 utility configures the adapter to receive and transmit Jumbo Frames.
80 The maximum MTU size for Jumbo Frames is 16114.
81 .Pp
82 This driver version supports VLANs.
83 The
84 .Nm
85 driver supports the following media types:
86 .Bl -tag -width ".Cm 10baseT/UTP"
87 .It Cm autoselect
88 Enables auto-negotiation for speed and duplex.
89 .It Cm 10baseT/UTP
90 Sets 10Mbps operation.
91 Use the
92 .Cm mediaopt
93 option to select
94 .Cm full-duplex
95 mode.
96 .It Cm 100baseTX
97 Sets 100Mbps operation.
98 Use the
99 .Cm mediaopt
100 option to select
101 .Cm full-duplex
102 mode.
103 .It Cm 1000baseSX
104 Sets 1000Mbps operation.
105 Only
106 .Cm full-duplex
107 mode is supported at this speed.
108 .It Cm 1000baseT
109 Sets 1000Mbps operation.
110 Only
111 .Cm full-duplex
112 mode is supported at this speed.
113 .El
114 .Pp
115 The
116 .Nm
117 driver supports the following media options:
118 .Bl -tag -width ".Cm full-duplex"
119 .It Cm full-duplex
120 Forces full-duplex operation
121 .It Cm half-duplex
122 Forces half-duplex operation.
123 .El
124 .Pp
125 Only use
126 .Cm mediaopt
127 to set the driver to
128 .Cm full-duplex .
129 If
130 .Cm mediaopt
131 is not specified, the driver defaults to
132 .Cm half-duplex .
133 .Pp
134 For more information on configuring this device, see
135 .Xr ifconfig 8 .
136 The
137 .Nm
138 driver supports
139 .Xr polling 4 .
140 .Sh HARDWARE
141 The
142 .Nm
143 driver supports Gigabit Ethernet adapters based on the Intel
144 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB,
145 82546GB, 82547, 82571, 82572, 82573, and 82574 controller chips:
146 .Pp
147 .Bl -bullet -compact
148 .It
149 Intel PRO/1000 CT Network Connection (82547)
150 .It
151 Intel PRO/1000 F Server Adapter (82543)
152 .It
153 Intel PRO/1000 Gigabit Server Adapter (82542)
154 .It
155 Intel PRO/1000 GT Desktop Adapter (82541PI)
156 .It
157 Intel PRO/1000 MF Dual Port Server Adapter (82546)
158 .It
159 Intel PRO/1000 MF Server Adapter (82545)
160 .It
161 Intel PRO/1000 MF Server Adapter (LX) (82545)
162 .It
163 Intel PRO/1000 MT Desktop Adapter (82540)
164 .It
165 Intel PRO/1000 MT Desktop Adapter (82541)
166 .It
167 Intel PRO/1000 MT Dual Port Server Adapter (82546)
168 .It
169 Intel PRO/1000 MT Quad Port Server Adapter (82546EB)
170 .It
171 Intel PRO/1000 MT Server Adapter (82545)
172 .It
173 Intel PRO/1000 PF Dual Port Server Adapter (82571)
174 .It
175 Intel PRO/1000 PF Quad Port Server Adapter (82571)
176 .It
177 Intel PRO/1000 PF Server Adapter (82572)
178 .It
179 Intel PRO/1000 PT Desktop Adapter (82572)
180 .It
181 Intel PRO/1000 PT Dual Port Server Adapter (82571)
182 .It
183 Intel PRO/1000 PT Quad Port Server Adapter (82571)
184 .It
185 Intel PRO/1000 PT Server Adapter (82572)
186 .It
187 Intel PRO/1000 T Desktop Adapter (82544)
188 .It
189 Intel PRO/1000 T Server Adapter (82543)
190 .It
191 Intel PRO/1000 XF Server Adapter (82544)
192 .It
193 Intel PRO/1000 XT Server Adapter (82544)
194 .El
195 .Sh LOADER TUNABLES
196 Tunables can be set at the
197 .Xr loader 8
198 prompt before booting the kernel or stored in
199 .Xr loader.conf 5 .
200 .Bl -tag -width indent
201 .It Va hw.em.int_throttle_ceil
202 Hardware interrupt throttling rate.
203 The default value is 10000Hz.
204 .It Va hw.em.rxd
205 Number of receive descriptors allocated by the driver.
206 The default value is 256.
207 The 82542 and 82543-based adapters can handle up to 256 descriptors,
208 while others can have up to 4096.
209 .It Va hw.em.txd
210 Number of transmit descriptors allocated by the driver.
211 The default value is 256.
212 The 82542 and 82543-based adapters can handle up to 256 descriptors,
213 while others can have up to 4096.
214 .It Va hw.em.int_tx_nsegs
215 This value controls how many transmit descriptors should be consumed
216 by the hardware before the hardware generates a transmit interrupt.
217 The default value is 1/16 of the number of transmit descriptors.
218 If
219 .Xr polling 4
220 is not used on the hardware and
221 the major part of the transmitted data are bulk data,
222 this value could safely be set to 1/2 of the number of transmit descriptors.
223 .It Va hw.em.msi.enable
224 By default, the driver will use MSI if it is supported.
225 This behavior can be turned off by setting this tunable to 0.
226 .El
227 .Sh DIAGNOSTICS
228 .Bl -diag
229 .It "em%d: Unable to allocate bus resource: memory"
230 A fatal initialization error has occurred.
231 .It "em%d: Unable to allocate bus resource: interrupt"
232 A fatal initialization error has occurred.
233 .It "em%d: watchdog timeout -- resetting"
234 The device has stopped responding to the network, or there is a problem with
235 the network connection (cable).
236 .El
237 .Sh SUPPORT
238 For general information and support,
239 go to the Intel support website at:
240 .Pa http://support.intel.com .
241 .Pp
242 If an issue is identified with the released source code on the supported kernel
243 with a supported adapter, email the specific information related to the
244 issue to
245 .Aq freebsdnic@mailbox.intel.com .
246 .Sh SEE ALSO
247 .Xr arp 4 ,
248 .Xr ifmedia 4 ,
249 .Xr netintro 4 ,
250 .Xr ng_ether 4 ,
251 .Xr polling 4 ,
252 .Xr vlan 4 ,
253 .Xr ifconfig 8
254 .Sh HISTORY
255 The
256 .Nm
257 device driver first appeared in
258 .Fx 4.4 .
259 .Sh AUTHORS
260 The
261 .Nm
262 driver was written by
263 .An Intel Corporation Aq freebsdnic@mailbox.intel.com .