xref: /dragonfly/share/man/man4/mrsas.4 (revision 0ca59c34)
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 November 28, 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
44To compile this driver into the kernel,
45place the following lines in your
46kernel configuration file:
47.Bd -ragged -offset indent
48.Cd "device pci"
49.Cd "device mrsas"
50.Ed
51.Pp
52Alternatively, to load the driver as a
53module at boot time, place the following line in
54.Xr loader.conf 5 :
55.Bd -literal -offset indent
56mrsas_load="YES"
57.Ed
58.Sh DESCRIPTION
59The
60.Nm
61driver will detect LSI's next generation (6Gb/s and 12Gb/s) PCI Express
62SAS/SATA RAID controllers.
63See the
64.Nm HARDWARE
65section for the supported devices list.
66A disk (virtual disk/physical disk) attached to the
67.Nm
68driver will be visible to the user through
69.Xr camcontrol 8
70as
71.Pa /dev/da?
72device nodes.
73A simple management interface is also provided on a per-controller basis via the
74.Pa /dev/mrsas?
75device node.
76.Pp
77The
78.Nm
79name is derived from the phrase "MegaRAID SAS HBA", which is
80substantially different than the old "MegaRAID" Driver
81.Xr mfi 4
82which does not connect targets
83to the
84.Xr cam 4
85layer and thus requires a new driver which attaches targets to the
86.Xr cam 4
87layer.
88Older MegaRAID controllers are supported by
89.Xr mfi 4
90and
91.Xr amr 4
92and will not work with
93.Nm ,
94but both the
95.Xr mfi 4
96and
97.Nm
98drivers can detect and manage the LSI MegaRAID SAS 2208/2308/3008/3108 series of
99controllers.
100.Sh HARDWARE
101The
102.Nm
103driver supports the following hardware:
104.Pp
105[ Thunderbolt 6Gb/s MR controller ]
106.Bl -bullet -compact
107.It
108LSI MegaRAID SAS 9265
109.It
110LSI MegaRAID SAS 9266
111.It
112LSI MegaRAID SAS 9267
113.It
114LSI MegaRAID SAS 9270
115.It
116LSI MegaRAID SAS 9271
117.It
118LSI MegaRAID SAS 9272
119.It
120LSI MegaRAID SAS 9285
121.It
122LSI MegaRAID SAS 9286
123.It
124DELL PERC H810
125.It
126DELL PERC H710/P
127.El
128.Pp
129[ Invader/Fury 12Gb/s MR controller ]
130.Bl -bullet -compact
131.It
132LSI MegaRAID SAS 9380
133.It
134LSI MegaRAID SAS 9361
135.It
136LSI MegaRAID SAS 9341
137.It
138DELL PERC H830
139.It
140DELL PERC H730/P
141.It
142DELL PERC H330
143.El
144.Sh CONFIGURATION
145A tunable is provided to adjust the
146.Nm
147driver's behaviour when attaching to a card.
148By default, the driver will attach to all known cards with
149high probe priority.
150For
151.Dq Thunderbolt
152series cards this behavior can be changed to attaching via the
153.Xr mfi 4
154driver by setting the following tunable value in
155.Xr loader.conf 5 :
156.Bd -literal -offset indent
157hw.mrsas.mfi_enable=1
158.Ed
159.Pp
160By default, the driver will use MSI if it is supported.
161This behavior can be turned off by setting the following tunable value in
162.Xr loader.conf 5 :
163.Bd -literal -offset indent
164hw.mrsas.msi.enable=0
165.Ed
166.Pp
167To disable Online Controller Reset(OCR) for a specific
168.Nm
169driver instance, set the
170following tunable value in
171.Xr loader.conf 5 :
172.Bd -literal -offset indent
173hw.mrsasX.disable_ocr=1
174.Ed
175.Pp
176where X is the adapter number.
177.Pp
178To change the I/O timeout value for a specific
179.Nm
180driver instance, set the following tunable value in
181.Xr loader.conf 5 :
182.Bd -literal -offset indent
183hw.mrsasX.mrsas_io_timeout=NNNNNN
184.Ed
185.Pp
186where NNNNNN is the timeout value in milli-seconds.
187.Pp
188To change the firmware fault check timer value for a specific
189.Nm
190driver instance, set the following tunable value in
191.Xr loader.conf 5 :
192.Bd -literal -offset indent
193hw.mrsasX.mrsas_fw_fault_check_delay=NN
194.Ed
195.Pp
196where NN is the fault check delay value in seconds.
197.Pp
198The current number of active I/O commands is shown in the
199.Va dev.mrsas.X.fw_outstanding
200.Xr sysctl 8
201variable.
202.Sh DEBUGGING
203To enable debugging prints from the
204.Nm
205driver, set the
206.Va dev.mrsas.X.debug_level
207variable, where X is the adapter number, either in
208.Xr loader.conf 5
209or via
210.Xr sysctl 8 .
211The following bits have the described effects:
212.Pp
213.Bl -tag -width "0x01" -offset indent -compact
214.It 0x01
215Enable informational prints.
216.It 0x02
217Enable tracing prints.
218.It 0x04
219Enable prints for driver faults.
220.It 0x08
221Enable prints for OCR and I/O timeout.
222.It 0x10
223Enable prints for AEN events.
224.El
225.Sh FILES
226.Bl -tag -width ".Pa /dev/mrsas?" -compact
227.It Pa /dev/da?
228array/logical disk interface
229.It Pa /dev/mrsas?
230management 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
240The
241.Nm
242driver first appeared in
243.Fx 10.1
244and was ported to
245.Dx 3.9 .
246.Bd -ragged
247.Cd "mfi Driver:"
248.Xr mfi 4
249is the old
250.Fx
251driver which started with support for Gen-1 Controllers and
252was extended to support up to MR-Fusion (Device ID = 0x005B, 0x005D, 0x005F).
253.Ed
254.Bd -ragged
255.Cd "mrsas Driver:"
256.Nm
257is the new driver reworked by LSI which supports Thunderbolt and onward
258products.
259The SAS+SATA RAID controller with device id 0x005b is referred to as
260the Thunderbolt controller throughout this man page.
261.Ed
262.Bd -ragged
263.Nm cam aware HBA drivers:
264.Fx
265has a
266.Xr cam 4
267layer which attaches storage devices and provides a common access mechanism to
268storage controllers and attached devices.
269The
270.Nm
271driver is
272.Xr cam 4
273aware and devices associated with
274.Nm
275can be seen using
276.Xr camcontrol 8 .
277The
278.Xr mfi 4
279driver does not understand the
280.Xr cam 4
281layer and it directly associates storage disks to the block layer.
282.Pp
283.Nm Thunderbolt Controller:
284This is the 6Gb/s MegaRAID HBA card which has device id 0x005B.
285.Pp
286.Nm Invader Controller:
287This is 12Gb/s MegaRAID HBA card which has device id 0x005D.
288.Pp
289.Nm Fury Controller:
290This is the 12Gb/s MegaRAID HBA card which has device id 0x005F.
291.Ed
292.Sh AUTHORS
293The
294.Nm
295driver and this manual page were written by
296.An Kashyap Desai Aq Mt Kashyap.Desai@lsi.com .
297It was ported to
298.Dx
299by
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
304The driver does not support alias for device name (it is required when the user
305switches between two drivers and does not want to edit
306.Pa /etc/fstab
307manually for
308.Pa /dev/mfid?
309device nodes).
310It is recommended to use the approriate device nodes in
311.Pa /dev/serno
312instead.
313They should be available for all controllers supported by
314.Nm .
315.Pp
316The
317.Nm
318driver exposes devices as
319.Pa /dev/da? ,
320whereas
321.Xr mfi 4
322exposes devices as
323.Pa /dev/mfid? .
324.Pp
325.Nm
326does not support the Linux Emulator interface.
327.Pp
328.Nm
329will not work with
330.Xr mfiutil 8 .
331