xref: /dragonfly/share/man/man4/mrsas.4 (revision 655933d6)
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.Xr mfi 4
248Driver:
249.Xr mfi 4
250is the old
251.Fx
252driver which started with support for Gen-1 Controllers and
253was extended to support up to MR-Fusion (Device ID = 0x005B, 0x005D, 0x005F).
254.Ed
255.Bd -ragged
256.Nm
257Driver:
258.Nm
259is the new driver reworked by LSI which supports Thunderbolt and onward
260products.
261The SAS+SATA RAID controller with device id 0x005b is referred to as
262the Thunderbolt controller throughout this man page.
263.Ed
264.Bd -ragged
265cam aware HBA drivers:
266.Dx
267has a
268.Xr cam 4
269layer which attaches storage devices and provides a common access mechanism to
270storage controllers and attached devices.
271The
272.Nm
273driver is
274.Xr cam 4
275aware and devices associated with
276.Nm
277can be seen using
278.Xr camcontrol 8 .
279The
280.Xr mfi 4
281driver does not understand the
282.Xr cam 4
283layer and it directly associates storage disks to the block layer.
284.Pp
285Thunderbolt Controller:
286This is the 6Gb/s MegaRAID HBA card which has device id 0x005B.
287.Pp
288Invader Controller:
289This is 12Gb/s MegaRAID HBA card which has device id 0x005D.
290.Pp
291Fury Controller:
292This is the 12Gb/s MegaRAID HBA card which has device id 0x005F.
293.Ed
294.Sh AUTHORS
295The
296.Nm
297driver and this manual page were written by
298.An Kashyap Desai Aq Mt Kashyap.Desai@lsi.com .
299It was ported to
300.Dx
301by
302.An Sascha Wildner Aq Mt swildner@dragonflybsd.org .
303.Sh TODO
304.\"The driver does not support big-endian architectures at this time.
305.\".Pp
306The driver does not support alias for device name (it is required when the user
307switches between two drivers and does not want to edit
308.Pa /etc/fstab
309manually for
310.Pa /dev/mfid?
311device nodes).
312It is recommended to use the approriate device nodes in
313.Pa /dev/serno
314instead.
315They should be available for all controllers supported by
316.Nm .
317.Pp
318The
319.Nm
320driver exposes devices as
321.Pa /dev/da? ,
322whereas
323.Xr mfi 4
324exposes devices as
325.Pa /dev/mfid? .
326.Pp
327.Nm
328will not work with
329.Xr mfiutil 8 .
330