kernel: Switch to mrsas(4) as the default for 'Thunderbird' series cards.
[dragonfly.git] / share / man / man4 / mrsas.4
1 .\" Copyright (c) 2014 LSI Corp
2 .\" All rights reserved.
3 .\" Author: Kashyap Desai
4 .\" Support: freebsdraid@lsi.com
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the <ORGANIZATION> nor the names of its
15 .\"    contributors may be used to endorse or promote products derived
16 .\"    from this software without specific prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 .\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22 .\" COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 .\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 .\" POSSIBILITY OF SUCH DAMAGE.
30 .\"
31 .\" The views and conclusions contained in the software and documentation
32 .\" are those of the authors and should not be interpreted as representing
33 .\" official policies, either expressed or implied, of the FreeBSD Project.
34 .\"
35 .\" $FreeBSD: head/share/man/man4/mrsas.4 267182 2014-06-06 19:00:43Z joel $
36 .\"
37 .Dd July 18, 2014
38 .Dt MRSAS 4
39 .Os
40 .Sh NAME
41 .Nm mrsas
42 .Nd "LSI MegaRAID 6Gb/s and 12Gb/s SAS+SATA RAID controller driver"
43 .Sh SYNOPSIS
44 To compile this driver into the kernel,
45 place the following lines in your
46 kernel configuration file:
47 .Bd -ragged -offset indent
48 .Cd "device pci"
49 .Cd "device mrsas"
50 .Ed
51 .Pp
52 Alternatively, to load the driver as a
53 module at boot time, place the following line in
54 .Xr loader.conf 5 :
55 .Bd -literal -offset indent
56 mrsas_load="YES"
57 .Ed
58 .Sh DESCRIPTION
59 The
60 .Nm
61 driver will detect LSI's next generation (6Gb/s and 12Gb/s) PCI Express
62 SAS/SATA RAID controllers.
63 See the
64 .Nm HARDWARE
65 section for the supported devices list.
66 A disk (virtual disk/physical disk) attached to the
67 .Nm
68 driver will be visible to the user through
69 .Xr camcontrol 8
70 as
71 .Pa /dev/da?
72 device nodes.
73 A simple management interface is also provided on a per-controller basis via the
74 .Pa /dev/mrsas?
75 device node.
76 .Pp
77 The
78 .Nm
79 name is derived from the phrase "MegaRAID SAS HBA", which is
80 substantially different than the old "MegaRAID" Driver
81 .Xr mfi 4
82 which does not connect targets
83 to the
84 .Xr cam 4
85 layer and thus requires a new driver which attaches targets to the
86 .Xr cam 4
87 layer.
88 Older MegaRAID controllers are supported by
89 .Xr mfi 4
90 and
91 .Xr amr 4
92 and will not work with
93 .Nm ,
94 but both the
95 .Xr mfi 4
96 and
97 .Nm
98 drivers can detect and manage the LSI MegaRAID SAS 2208/2308/3008/3108 series of
99 controllers.
100 .Sh HARDWARE
101 The
102 .Nm
103 driver supports the following hardware:
104 .Pp
105 [ Thunderbolt 6Gb/s MR controller ]
106 .Bl -bullet -compact
107 .It
108 LSI MegaRAID SAS 9265
109 .It
110 LSI MegaRAID SAS 9266
111 .It
112 LSI MegaRAID SAS 9267
113 .It
114 LSI MegaRAID SAS 9270
115 .It
116 LSI MegaRAID SAS 9271
117 .It
118 LSI MegaRAID SAS 9272
119 .It
120 LSI MegaRAID SAS 9285
121 .It
122 LSI MegaRAID SAS 9286
123 .It
124 DELL PERC H810
125 .It
126 DELL PERC H710/P
127 .El
128 .Pp
129 [ Invader/Fury 12Gb/s MR controller ]
130 .Bl -bullet -compact
131 .It
132 LSI MegaRAID SAS 9380
133 .It
134 LSI MegaRAID SAS 9361
135 .It
136 LSI MegaRAID SAS 9341
137 .It
138 DELL PERC H830
139 .It
140 DELL PERC H730/P
141 .It
142 DELL PERC H330
143 .El
144 .Sh CONFIGURATION
145 A tunable is provided to adjust the
146 .Nm
147 driver's behaviour when attaching to a card.
148 By default, the driver will attach to all known cards with
149 high probe priority.
150 For
151 .Dq Thunderbolt
152 series cards this behavior can be changed to attaching via the
153 .Xr mfi 4
154 driver by setting the following tunable value in
155 .Xr loader.conf 5 :
156 .Bd -literal -offset indent
157 hw.mrsas.mfi_enable=1
158 .Ed
159 .Pp
160 By default, the driver will use MSI if it is supported.
161 This behavior can be turned off by setting the following tunable value in
162 .Xr loader.conf 5 :
163 .Bd -literal -offset indent
164 hw.mrsas.msi.enable=0
165 .Ed
166 .Pp
167 To disable Online Controller Reset(OCR) for a specific
168 .Nm
169 driver instance, set the
170 following tunable value in
171 .Xr loader.conf 5 :
172 .Bd -literal -offset indent
173 hw.mrsasX.disable_ocr=1
174 .Ed
175 .Pp
176 where X is the adapter number.
177 .Pp
178 To change the I/O timeout value for a specific
179 .Nm
180 driver instance, set the following tunable value in
181 .Xr loader.conf 5 :
182 .Bd -literal -offset indent
183 hw.mrsasX.mrsas_io_timeout=NNNNNN
184 .Ed
185 .Pp
186 where NNNNNN is the timeout value in milli-seconds.
187 .Pp
188 To change the firmware fault check timer value for a specific
189 .Nm
190 driver instance, set the following tunable value in
191 .Xr loader.conf 5 :
192 .Bd -literal -offset indent
193 hw.mrsasX.mrsas_fw_fault_check_delay=NN
194 .Ed
195 .Pp
196 where NN is the fault check delay value in seconds.
197 .Pp
198 The current number of active I/O commands is shown in the
199 .Va hw.mrsasX.fw_outstanding
200 .Xr sysctl 8
201 variable.
202 .Sh DEBUGGING
203 To enable debugging prints from the
204 .Nm
205 driver, set the
206 .Va hw.mrsas.X.debug_level
207 variable, where X is the adapter number, either in
208 .Xr loader.conf 5
209 or via
210 .Xr sysctl 8 .
211 The following bits have the described effects:
212 .Pp
213 .Bl -tag -width "0x01" -offset indent -compact
214 .It 0x01
215 Enable informational prints.
216 .It 0x02
217 Enable tracing prints.
218 .It 0x04
219 Enable prints for driver faults.
220 .It 0x08
221 Enable prints for OCR and I/O timeout.
222 .It 0x10
223 Enable prints for AEN events.
224 .El
225 .Sh FILES
226 .Bl -tag -width ".Pa /dev/mrsas?" -compact
227 .It Pa /dev/da?
228 array/logical disk interface
229 .It Pa /dev/mrsas?
230 management interface
231 .El
232 .Sh SEE ALSO
233 .Xr amr 4 ,
234 .Xr cam 4 ,
235 .Xr mfi 4 ,
236 .Xr pci 4 ,
237 .Xr device.hints 5 ,
238 .Xr camcontrol 8
239 .Sh HISTORY
240 The
241 .Nm
242 driver first appeared in
243 .Fx 10.1
244 and was ported to
245 .Dx 3.9 .
246 .Bd -ragged
247 .Cd "mfi Driver:"
248 .Xr mfi 4
249 is the old
250 .Fx
251 driver which started with support for Gen-1 Controllers and
252 was extended to support up to MR-Fusion (Device ID = 0x005B, 0x005D, 0x005F).
253 .Ed
254 .Bd -ragged
255 .Cd "mrsas Driver:"
256 .Nm
257 is the new driver reworked by LSI which supports Thunderbolt and onward
258 products.
259 The SAS+SATA RAID controller with device id 0x005b is referred to as
260 the Thunderbolt controller throughout this man page.
261 .Ed
262 .Bd -ragged
263 .Nm cam aware HBA drivers:
264 .Fx
265 has a
266 .Xr cam 4
267 layer which attaches storage devices and provides a common access mechanism to
268 storage controllers and attached devices.
269 The
270 .Nm
271 driver is
272 .Xr cam 4
273 aware and devices associated with
274 .Nm
275 can be seen using
276 .Xr camcontrol 8 .
277 The
278 .Xr mfi 4
279 driver does not understand the
280 .Xr cam 4
281 layer and it directly associates storage disks to the block layer.
282 .Pp
283 .Nm Thunderbolt Controller:
284 This is the 6Gb/s MegaRAID HBA card which has device id 0x005B.
285 .Pp
286 .Nm Invader Controller:
287 This is 12Gb/s MegaRAID HBA card which has device id 0x005D.
288 .Pp
289 .Nm Fury Controller:
290 This is the 12Gb/s MegaRAID HBA card which has device id 0x005F.
291 .Ed
292 .Sh AUTHORS
293 The
294 .Nm
295 driver and this manual page were written by
296 .An Kashyap Desai Aq Mt Kashyap.Desai@lsi.com .
297 It was ported to
298 .Dx
299 by
300 .An Sascha Wildner Aq Mt swildner@dragonflybsd.org .
301 .Sh TODO
302 .\"The driver does not support big-endian architectures at this time.
303 .\".Pp
304 The driver does not support alias for device name (it is required when the user
305 switches between two drivers and does not want to edit
306 .Pa /etc/fstab
307 manually for
308 .Pa /dev/mfid?
309 device nodes).
310 It is recommended to use the approriate device nodes in
311 .Pa /dev/serno
312 instead.
313 They should be available for all controllers supported by
314 .Nm .
315 .Pp
316 The
317 .Nm
318 driver exposes devices as
319 .Pa /dev/da? ,
320 whereas
321 .Xr mfi 4
322 exposes devices as
323 .Pa /dev/mfid? .
324 .Pp
325 .Nm
326 does not support the Linux Emulator interface.
327 .Pp
328 .Nm
329 will not work with
330 .Xr mfiutil 8 .