1 .\" Copyright (c) 2014 LSI Corp
2 .\" All rights reserved.
3 .\" Author: Kashyap Desai
4 .\" Support: freebsdraid@lsi.com
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
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.
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.
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.
42 .Nd "LSI MegaRAID 6Gb/s and 12Gb/s SAS+SATA RAID controller driver"
44 To compile this driver into the kernel,
45 place the following lines in your
46 kernel configuration file:
47 .Bd -ragged -offset indent
52 Alternatively, to load the driver as a
53 module at boot time, place the following line in
55 .Bd -literal -offset indent
61 driver will detect LSI's next generation (6Gb/s and 12Gb/s) PCI Express
62 SAS/SATA RAID controllers.
65 section for the supported devices list.
66 A disk (virtual disk/physical disk) attached to the
68 driver will be visible to the user through
73 A simple management interface is also provided on a per-controller basis via the
79 name is derived from the phrase "MegaRAID SAS HBA", which is
80 substantially different than the old "MegaRAID" Driver
82 which does not connect targets
85 layer and thus requires a new driver which attaches targets to the
88 Older MegaRAID controllers are supported by
90 and will not work with
96 drivers can detect and manage the LSI MegaRAID SAS 2208/2308/3008/3108 series of
101 option is provided to tune the
103 driver's behavior for LSI MegaRAID SAS 2208/2308/3008/3108 controllers.
106 driver will detect these controllers.
109 section to know more about driver priority for MR-Fusion devices.
112 will provide a priority of (-30) (between
113 .Dv BUS_PROBE_DEFAULT
115 .Dv BUS_PROBE_LOW_PRIORITY )
116 at probe call for device id's 0x005B, 0x005D, and
119 does not take control of these devices without user intervention.
123 driver supports the following hardware:
125 [ Thunderbolt 6Gb/s MR controller ]
128 LSI MegaRAID SAS 9265
130 LSI MegaRAID SAS 9266
132 LSI MegaRAID SAS 9267
134 LSI MegaRAID SAS 9270
136 LSI MegaRAID SAS 9271
138 LSI MegaRAID SAS 9272
140 LSI MegaRAID SAS 9285
142 LSI MegaRAID SAS 9286
149 [ Invader/Fury 12Gb/s MR controller ]
152 LSI MegaRAID SAS 9380
154 LSI MegaRAID SAS 9361
156 LSI MegaRAID SAS 9341
165 To disable Online Controller Reset(OCR) for a specific
167 driver instance, set the
168 following tunable value in
170 .Bd -literal -offset indent
171 dev.mrsas.X.disable_ocr=1
174 where X is the adapter number.
176 To change the I/O timeout value for a specific
178 driver instance, set the following tunable value in
180 .Bd -literal -offset indent
181 dev.mrsas.X.mrsas_io_timeout=NNNNNN
184 where NNNNNN is the timeout value in milli-seconds.
186 To change the firmware fault check timer value for a specific
188 driver instance, set the following tunable value in
190 .Bd -literal -offset indent
191 dev.mrsas.X.mrsas_fw_fault_check_delay=NN
194 where NN is the fault check delay value in seconds.
196 The current number of active I/O commands is shown in the
197 .Va dev.mrsas.X.fw_outstanding
201 To enable debugging prints from the
204 .Va hw.mrsas.X.debug_level
205 variable, where X is the adapter number, either in
209 The following bits have the described effects:
210 .Bl -tag -offset indent
212 Enable informational prints.
214 Enable tracing prints.
216 Enable prints for driver faults.
218 Enable prints for OCR and I/O timeout.
220 Enable prints for AEN events.
225 driver will always set a default (-30) priority in the PCI subsystem for
226 selection of MR-Fusion cards.
228 .Dv BUS_PROBE_DEFAULT
230 .Dv BUS_PROBE_LOW_PRIORITY ) .
231 MR-Fusion Controllers include all cards with the
239 driver will set a priority of either
240 .Dv BUS_PROBE_DEFAULT
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
247 driver will attach to a MR-Fusion card given that it has a higher priority than
251 .Pa /boot/device.hints
252 (as mentioned below), the user can provide a preference
255 driver to detect a MR-Fusion card instead of the
258 .Bd -ragged -offset indent
259 .Cd hw.mfi.mrsas_enable="1"
264 driver will get priority to detect MR-Fusion controllers by default.
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
271 driver to detect MR-Fusion cards, but allow for the ability to choose the
273 driver to detect MR-Fusion cards.
275 LSI recommends setting hw.mfi.mrsas_enable="0" for customers who are using the
278 driver and do not want to switch to
280 For those customers who are using a MR-Fusion controller for the first time, LSI
283 driver and setting hw.mfi.mrsas_enable="1".
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
291 drivers for MR-Fusion.
292 Switching drivers is designed to happen only one time.
294 switching is possible, it is not recommended.
295 The user should decide from
297 which driver they want to use for the MR-Fusion card.
299 The user may see different device names when switching from
304 .Nm Functions As Designed
305 and the user needs to change the
307 entry manually if they are doing any experiments with
313 .Bl -tag -width ".Pa /dev/mrsas?" -compact
315 array/logical disk interface
328 driver first appeared in
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).
341 is the new driver reworked by LSI which supports Thunderbolt and onward
343 The SAS+SATA RAID controller with device id 0x005b is referred to as
344 the Thunderbolt controller throughout this man page.
347 .Nm cam aware HBA drivers:
351 layer which attaches storage devices and provides a common access mechanism to
352 storage controllers and attached devices.
357 aware and devices associated with
363 driver does not understand the
365 layer and it directly associates storage disks to the block layer.
367 .Nm Thunderbolt Controller:
368 This is the 6Gb/s MegaRAID HBA card which has device id 0x005B.
370 .Nm Invader Controller:
371 This is 12Gb/s MegaRAID HBA card which has device id 0x005D.
374 This is the 12Gb/s MegaRAID HBA card which has device id 0x005F.
379 driver and this manual page were written by
380 .An Kashyap Desai Aq Kashyap.Desai@lsi.com .
382 The driver does not support big-endian architectures at this time.
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
391 driver exposes devices as
399 does not support the Linux Emulator interface.