]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - share/man/man4/mrsas.4
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.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$
36 .\"
37 .Dd May 8, 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 will not work with
91 .Nm ,
92 but both the
93 .Xr mfi 4
94 and 
95 .Nm
96 drivers can detect and manage the LSI MegaRAID SAS 2208/2308/3008/3108 series of
97 controllers.
98 .Pp
99 The
100 .Xr device.hints 5
101 option is provided to tune the
102 .Nm
103 driver's behavior for LSI MegaRAID SAS 2208/2308/3008/3108 controllers.
104 By default, the
105 .Xr mfi 4
106 driver will detect these controllers.
107 See the 
108 .Nm PRIORITY 
109 section to know more about driver priority for MR-Fusion devices.
110 .Pp
111 .Nm
112 will provide a priority of (-30) (between
113 .Dv BUS_PROBE_DEFAULT
114 and
115 .Dv BUS_PROBE_LOW_PRIORITY )
116 at probe call for device id's 0x005B, 0x005D, and
117 0x005F so that
118 .Nm
119 does not take control of these devices without user intervention.
120 .Sh HARDWARE
121 The
122 .Nm
123 driver supports the following hardware:
124 .Pp
125 [ Thunderbolt 6Gb/s MR controller ]
126 .Bl -bullet -compact
127 .It
128 LSI MegaRAID SAS 9265
129 .It
130 LSI MegaRAID SAS 9266
131 .It
132 LSI MegaRAID SAS 9267
133 .It
134 LSI MegaRAID SAS 9270
135 .It
136 LSI MegaRAID SAS 9271
137 .It
138 LSI MegaRAID SAS 9272
139 .It
140 LSI MegaRAID SAS 9285
141 .It
142 LSI MegaRAID SAS 9286
143 .It
144 DELL PERC H810
145 .It
146 DELL PERC H710/P
147 .El
148 .Pp
149 [ Invader/Fury 12Gb/s MR controller ]
150 .Bl -bullet -compact
151 .It
152 LSI MegaRAID SAS 9380
153 .It
154 LSI MegaRAID SAS 9361
155 .It
156 LSI MegaRAID SAS 9341
157 .It
158 DELL PERC H830
159 .It
160 DELL PERC H730/P
161 .It
162 DELL PERC H330
163 .El
164 .Sh CONFIGURATION
165 To disable Online Controller Reset(OCR) for a specific
166 .Nm
167 driver instance, set the 
168 following tunable value in
169 .Xr loader.conf 5 :
170 .Bd -literal -offset indent
171 dev.mrsas.X.disable_ocr=1 
172 .Ed
173 .Pp
174 where X is the adapter number.
175 .Pp
176 To change the I/O timeout value for a specific 
177 .Nm
178 driver instance, set the following tunable value in
179 .Xr loader.conf 5 :
180 .Bd -literal -offset indent
181 dev.mrsas.X.mrsas_io_timeout=NNNNNN
182 .Ed
183 .Pp
184 where NNNNNN is the timeout value in milli-seconds.
185 .Pp
186 To change the firmware fault check timer value for a specific
187 .Nm
188 driver instance, set the following tunable value in
189 .Xr loader.conf 5 :
190 .Bd -literal -offset indent
191 dev.mrsas.X.mrsas_fw_fault_check_delay=NN
192 .Ed
193 .Pp
194 where NN is the fault check delay value in seconds.
195 .Pp
196 The current number of active I/O commands is shown in the
197 .Va dev.mrsas.X.fw_outstanding
198 .Xr sysctl 8
199 variable.
200 .Sh DEBUGGING
201 To enable debugging prints from the
202 .Nm
203 driver, set the
204 .Va hw.mrsas.X.debug_level
205 variable, where X is the adapter number, either in
206 .Xr loader.conf 5
207 or via
208 .Xr sysctl 8 .
209 The following bits have the described effects:
210 .Bl -tag -offset indent
211 .It 0x01
212 Enable informational prints.
213 .It 0x02
214 Enable tracing prints.
215 .It 0x04
216 Enable prints for driver faults.
217 .It 0x08
218 Enable prints for OCR and I/O timeout.
219 .It 0x10
220 Enable prints for AEN events.
221 .El
222 .Sh PRIORITY
223 The
224 .Nm
225 driver will always set a default (-30) priority in the PCI subsystem for
226 selection of MR-Fusion cards.
227 (It is between
228 .Dv BUS_PROBE_DEFAULT
229 and
230 .Dv BUS_PROBE_LOW_PRIORITY ) .
231 MR-Fusion Controllers include all cards with the
232 Device IDs -
233 0x005B, 
234 0x005D,
235 0x005F.
236 .Pp
237 The
238 .Xr mfi 4 
239 driver will set a priority of either
240 .Dv BUS_PROBE_DEFAULT
241 or
242 .Dv BUS_PROBE_LOW_PRIORITY
243 (depending on the device.hints setting) in the PCI
244 subsystem for selection of MR-Fusion cards.
245 With the above design in place, the
246 .Xr mfi 4
247 driver will attach to a MR-Fusion card given that it has a higher priority than
248 .Nm .
249 .Pp
250 Using
251 .Pa /boot/device.hints
252 (as mentioned below), the user can provide a preference
253 for the
254 .Nm
255 driver to detect a MR-Fusion card instead of the
256 .Xr mfi 4
257 driver. 
258 .Bd -ragged -offset indent
259 .Cd hw.mfi.mrsas_enable="1"
260 .Ed
261 .Pp
262 At boot time, the
263 .Xr mfi 4 
264 driver will get priority to detect MR-Fusion controllers by default.
265 Before
266 changing this default driver selection policy, LSI advises users to understand
267 how the driver selection policy works.
268 LSI's policy is to provide priority to
269 the
270 .Xr mfi 4
271 driver to detect MR-Fusion cards, but allow for the ability to choose the
272 .Nm
273 driver to detect MR-Fusion cards.
274 .Pp
275 LSI recommends setting hw.mfi.mrsas_enable="0" for customers who are using the
276 older 
277 .Xr mfi 4 
278 driver and do not want to switch to 
279 .Nm .
280 For those customers who are using a MR-Fusion controller for the first time, LSI
281 recommends using the
282 .Nm
283 driver and setting hw.mfi.mrsas_enable="1".
284 .Pp
285 Changing the default behavior is well tested under most conditions, but
286 unexpected behavior may pop up if more complex and unrealistic operations are
287 executed by switching between the
288 .Xr mfi 4
289 and 
290 .Nm 
291 drivers for MR-Fusion.
292 Switching drivers is designed to happen only one time.
293 Although multiple
294 switching is possible, it is not recommended.
295 The user should decide from
296 .Nm Start of Day
297 which driver they want to use for the MR-Fusion card.
298 .Pp
299 The user may see different device names when switching from 
300 .Xr mfi 4 
301 to 
302 .Nm .
303 This behavior is
304 .Nm Functions As Designed
305 and the user needs to change the
306 .Xr fstab 5
307 entry manually if they are doing any experiments with 
308 .Xr mfi 4 
309 and
310 .Nm
311 interoperability.
312 .Sh FILES
313 .Bl -tag -width ".Pa /dev/mrsas?" -compact
314 .It Pa /dev/da?
315 array/logical disk interface
316 .It Pa /dev/mrsas?
317 management interface
318 .El
319 .Sh SEE ALSO
320 .Xr cam 4 ,
321 .Xr mfi 4 ,
322 .Xr pci 4 ,
323 .Xr device.hints 5 ,
324 .Xt camcontrol 8
325 .Sh HISTORY
326 The
327 .Nm
328 driver first appeared in
329 .Fx 10.1 .
330 .Bd -ragged
331 .Cd "mfi Driver:"
332 .Xr mfi 4
333 is the old
334 .Fx
335 driver which started with support for Gen-1 Controllers and
336 was extended to support up to MR-Fusion (Device ID = 0x005B, 0x005D, 0x005F).
337 .Ed
338 .Bd -ragged
339 .Cd "mrsas Driver:"
340 .Nm
341 is the new driver reworked by LSI which supports Thunderbolt and onward
342 products.
343 The SAS+SATA RAID controller with device id 0x005b is referred to as
344 the Thunderbolt controller throughout this man page.
345 .Ed 
346 .Bd -ragged
347 .Nm cam aware HBA drivers:
348 .Fx
349 has a
350 .Xr cam 4
351 layer which attaches storage devices and provides a common access mechanism to
352 storage controllers and attached devices.
353 The
354 .Nm 
355 driver is
356 .Xr cam 4
357 aware and devices associated with 
358 .Nm 
359 can be seen using 
360 .Xr camcontrol 8 .
361 The
362 .Xr mfi 4
363 driver does not understand the
364 .Xr cam 4
365 layer and it directly associates storage disks to the block layer.
366 .Pp
367 .Nm Thunderbolt Controller: 
368 This is the 6Gb/s MegaRAID HBA card which has device id 0x005B.
369 .Pp
370 .Nm Invader Controller: 
371 This is 12Gb/s MegaRAID HBA card which has device id 0x005D.
372 .Pp
373 .Nm Fury Controller: 
374 This is the 12Gb/s MegaRAID HBA card which has device id 0x005F.
375 .Ed
376 .Sh AUTHORS
377 The
378 .Nm
379 driver and this manual page were written by
380 .An Kashyap Desai Aq Kashyap.Desai@lsi.com .
381 .Sh TODO
382 The driver does not support big-endian architectures at this time.
383 .Pp
384 The driver does not support alias for device name (it is required when the user
385 switches between two drivers and does not want to edit
386 .Pa /etc/fstab
387 manually).
388 .Pp
389 The
390 .Nm 
391 driver exposes devices as
392 .Pa /dev/da? ,
393 whereas 
394 .Xr mfi 4 
395 exposes devices as
396 .Pa /dev/mfid? .
397 .Pp
398 .Nm
399 does not support the Linux Emulator interface.
400 .Pp
401 .Nm
402 will not work with
403 .Xr mfiutil 8 .