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
44 .Nd "LSI MegaRAID 6Gb/s and 12Gb/s SAS+SATA Raid controller driver"
46 To compile this driver into the kernel,
47 place the following lines in your
48 kernel configuration file:
49 .Bd -ragged -offset indent
54 Alternatively, to load the driver as a
55 module at boot time, place the following line in
57 .Bd -literal -offset indent
63 driver will detect LSI's next generation (6Gb/s and 12Gb/s) PCI Express
64 SAS/SATA RAID controllers.
67 section for the supported devices list.
68 A disk (virtual disk/physical disk) attached to the
70 driver will be visible to the user through
74 A simple management interface is also provided on a per-controller basis via the
80 name is derived from the phrase "MegaRAID SAS HBA", which is
81 substantially different than the old "MegaRAID" Driver
83 which does not connect targets
86 layer and thus requires a new driver which attaches targets to the
88 layer. 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. See the
108 section to know more about driver priority for MR-Fusion devices.
111 will provide a priority of (-30) (between BUS_PROBE_DEFAULT and
112 BUS_PROBE_LOW_PRIORITY) at probe call for device id's 0x005B, 0x005D, and
115 does not take control of these devices without user intervention.
119 driver supports the following hardware:
122 [ Thunderbolt 6Gbp/s MR controller ]
124 LSI MegaRAID SAS 9265
126 LSI MegaRAID SAS 9266
128 LSI MegaRAID SAS 9267
130 LSI MegaRAID SAS 9270
132 LSI MegaRAID SAS 9271
134 LSI MegaRAID SAS 9272
136 LSI MegaRAID SAS 9285
138 LSI MegaRAID SAS 9286
146 [ Invader/Fury 12Gpb/s MR controller ]
148 LSI MegaRAID SAS 9380
150 LSI MegaRAID SAS 9361
152 LSI MegaRAID SAS 9341
161 To disable Online Controller Reset(OCR) for a specific
163 driver instance, set the
164 following tunable value in
166 .Bd -literal -offset indent
167 dev.mrsas.X.disable_ocr=1
170 where X is the adapter number.
172 To change the IO timeout value for a specific
174 driver instance, set the following tunable value in
176 .Bd -literal -offset indent
177 dev.mrsas.X.mrsas_io_timeout=NNNNNN
180 where NNNNNN is the timeout value in milli-seconds.
182 To change the firmware fault check timer value for a specific
184 driver instance, set the following tunable value in
186 .Bd -literal -offset indent
187 dev.mrsas.X.mrsas_fw_fault_check_delay=NN
190 where NN is the fault check delay value in seconds.
192 The current number of active I/O commands is shown in the
193 dev.mrsas.X.fw_outstanding
197 To enable debugging prints from the
200 .Bd -literal -offset indent
201 hw.mrsas.X.debug_level
204 variable, where X is the adapter number, either in
208 The following bits have the described effects:
209 .Bl -tag -offset indent
211 Enable informational prints.
213 Enable tracing prints.
215 Enable prints for driver faults.
217 Enable prints for OCR and IO timeout.
219 Enable prints for AEN events.
224 driver will always set a default (-30) priority in the pci subsystem for
225 selection of MR-Fusion cards. (It is between BUS_PROBE_DEFAULT and
226 BUS_PROBE_LOW_PRIORITY). MR-Fusion Controllers include all cards with the
234 driver will set a priority of either BUS_PROBE_DEFAULT or
235 BUS_PROBE_LOW_PRIORITY (depending on the device.hint setting) in the pci
236 subsystem for selection of MR-Fusion cards. With the above design in place, the
238 driver will attach to a MR-Fusion card given that it has a higher priority than
241 Using /boot/device.hints (as mentioned below), the user can provide a preference
244 driver to detect a MR-Fusion card instead of the
247 .Bd -ragged -offset indent
248 .Cd hw.mfi.mrsas_enable="1"
253 driver will get priority to detect MR-Fusion controllers by default. Before
254 changing this default driver selection policy, LSI advises users to understand
255 how the driver selection policy works. LSI's policy is to provide priority to
258 driver to detect MR-Fusion cards, but allow for the ability to choose the
260 driver to detect MR-Fusion cards.
262 LSI recommends setting hw.mfi.mrsas_enable="0" for customers who are using the
265 driver and do not want to switch to
267 For those customers who are using a MR-Fusion controller for the first time, LSI
270 driver and setting hw.mfi.mrsas_enable="1".
272 Changing the default behavior is well tested under most conditions, but
273 unexpected behavior may pop up if more complex and unrealistic operations are
274 executed by switching between the
277 drivers for MR-Fusion.
278 Switching drivers is designed to happen only one time. Although multiple
279 switching is possible, it is not recommended. The user should decide from
281 which driver they want to use for the MR-Fusion card.
283 The user may see different device names when switching from
288 .Nm Functions As Designed
289 and the user needs to change the fstab
290 entry manually if they are doing any experiments with
296 .Bl -tag -width ".Pa /dev/mrsas?" -compact
298 array/logical disk interface
310 driver first appeared in
315 is the old FreeBSD driver which started with support for Gen-1 Controllers and
316 was extended to support up to MR-Fusion (Device ID = 0x005B, 0x005D, 0x005F).
321 is the new driver reworked by LSI which supports Thunderbolt and onward
322 products. The SAS+SATA RAID controller with device id 0x005b is referred to as
323 the Thunderbolt controller throughout in this man page.
326 .Nm cam aware HBA drivers:
329 layer which attaches storage devices and provides a common access mechanism to
330 storage controllers and attached devices. The
333 .Xr cam 4 aware and devices associated with
339 driver does not understand the
341 layer and it directly associates storage disks to the block layer.
343 .Nm Thunderbolt Controller:
344 This is the 6Gb/s MegaRAID HBA card which has device id 0x005B.
346 .Nm Invader Controller:
347 This is 12Gb/s MegaRAID HBA card which has device id 0x005D.
350 This is the 12Gb/s MegaRAID HBA card which has device id 0x005F.
355 driver and this manual page were written by
356 .An Kashyap Desai Aq Kashyap.Desai@lsi.com .
358 The driver does not support big-endian architectures at this time.
360 The driver does not support alias for device name (it is required when the user
361 switches between two drivers and does not want to edit /etc/fstab manually).
365 driver exposes devices as /dev/da?, whereas
367 exposes deivces as /dev/mfid?
370 does not support the Linux Emulator interface.