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 326will not work with 327.Xr mfiutil 8 . 328