1.\" 2.\" Copyright (c) 2000 Michael Smith 3.\" Copyright (c) 2000 BSDi 4.\" All rights reserved. 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. The name of the author may not be used to endorse or promote products 12.\" derived from this software without specific prior written permission 13.\" 14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 15.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 16.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 17.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 18.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 19.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 20.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 21.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24.\" 25.Dd August 10, 2004 26.Dt MLY 4 27.Os 28.Sh NAME 29.Nm mly 30.Nd Mylex AcceleRAID/eXtremeRAID family driver 31.Sh SYNOPSIS 32To compile this driver into the kernel, 33place the following lines in your 34kernel configuration file: 35.Bd -ragged -offset indent 36.Cd "device pci" 37.Cd "device scbus" 38.Cd "device da" 39.Cd "device mly" 40.Ed 41.Pp 42Alternatively, to load the driver as a 43module at boot time, place the following line in 44.Xr loader.conf 5 : 45.Bd -literal -offset indent 46mly_load="YES" 47.Ed 48.Sh DEPRECATION NOTICE 49The 50.Nm 51driver is not present in 52.Fx 14.0 . 53.Sh DESCRIPTION 54The 55.Nm 56driver provides support for Mylex AcceleRAID and eXtremeRAID-family 57PCI to SCSI RAID controllers with version 6.00 and later 58firmware. 59.Pp 60Logical devices (array drives) attached to the controller are presented 61to the SCSI subsystem as though they were direct-access devices on a 62virtual SCSI bus. 63Physical devices which are not claimed by a logical 64device are presented on SCSI channels which match the physical channels 65on the controller. 66.Sh HARDWARE 67Controllers supported by the 68.Nm 69driver include: 70.Pp 71.Bl -bullet -compact 72.It 73Mylex AcceleRAID 160 74.It 75Mylex AcceleRAID 170 76.It 77Mylex AcceleRAID 352 78.It 79Mylex eXtremeRAID 2000 80.It 81Mylex eXtremeRAID 3000 82.El 83.Pp 84Compatible Mylex controllers not listed should work, but have not been 85verified. 86.Sh DIAGNOSTICS 87.Ss Controller initialisation phase 88.Bl -diag 89.It "mly%d: controller initialisation started" 90.It "mly%d: initialisation complete" 91.Pp 92The controller firmware has started initialisation. 93Normally this process is performed by the controller BIOS, 94but the driver may need 95to do this in cases where the BIOS has failed, or is not compatible 96(e.g.\& on non-x86 systems). 97.It "mly%d: drive spinup in progress" 98.Pp 99Drive startup is in progress; this may take several minutes. 100.It "mly%d: mirror race recovery failed, one or more drives offline" 101.It "mly%d: mirror race recovery in progress" 102.It "mly%d: mirror race recovery on a critical drive" 103.Pp 104These error codes are undocumented. 105.It "mly%d: FATAL MEMORY PARITY ERROR" 106.Pp 107Firmware detected a fatal memory error; the driver will not attempt to 108attach to this controller. 109.It "mly%d: unknown initialisation code %x" 110.Pp 111An unknown error occurred during initialisation; it will be ignored. 112.El 113.Ss Driver initialisation/shutdown phase 114.Bl -diag 115.It "mly%d: can't enable busmaster feature" 116.It "mly%d: memory window not available" 117.It "mly%d: can't allocate register window" 118.It "mly%d: can't allocate interrupt" 119.It "mly%d: can't set up interrupt" 120.Pp 121The system's PCI BIOS has not correctly configured the controller's 122PCI interface; initialisation has failed and the driver will not 123attach to this controller. 124.It "mly%d: can't allocate parent DMA tag" 125.It "mly%d: can't allocate buffer DMA tag" 126.It "mly%d: can't allocate command packet DMA tag" 127.It "mly%d: can't allocate scatter/gather DMA tag" 128.It "mly%d: can't allocate s/g table" 129.It "mly%d: can't allocate memory mailbox DMA tag" 130.It "mly%d: can't allocate memory mailbox" 131.Pp 132A resource allocation error occurred while initialising the driver; 133initialisation has failed and the driver will not attach to this 134controller. 135.It "mly%d: BTL rescan result corrupted" 136.Pp 137The results of a scan for an attached device were corrupted. 138One or more devices may not be correctly reported. 139.It "mly%d: flushing cache..." 140.Pp 141The controller cache is being flushed prior to detach or shutdown. 142.El 143.Ss Operational diagnostics 144.Bl -diag 145.It "mly%d: physical device %d:%d online" 146.It "mly%d: physical device %d:%d standby" 147.It "mly%d: physical device %d:%d automatic rebuild started" 148.It "mly%d: physical device %d:%d manual rebuild started" 149.It "mly%d: physical device %d:%d rebuild completed" 150.It "mly%d: physical device %d:%d rebuild cancelled" 151.It "mly%d: physical device %d:%d rebuild failed for unknown reasons" 152.It "mly%d: physical device %d:%d rebuild failed due to new physical device" 153.It "mly%d: physical device %d:%d rebuild failed due to logical drive failure" 154.It "mly%d: physical device %d:%d found" 155.It "mly%d: physical device %d:%d gone" 156.It "mly%d: physical device %d:%d unconfigured" 157.It "mly%d: physical device %d:%d expand capacity started" 158.It "mly%d: physical device %d:%d expand capacity completed" 159.It "mly%d: physical device %d:%d expand capacity failed" 160.It "mly%d: physical device %d:%d parity error" 161.It "mly%d: physical device %d:%d soft error" 162.It "mly%d: physical device %d:%d miscellaneous error" 163.It "mly%d: physical device %d:%d reset" 164.It "mly%d: physical device %d:%d active spare found" 165.It "mly%d: physical device %d:%d warm spare found" 166.It "mly%d: physical device %d:%d initialization started" 167.It "mly%d: physical device %d:%d initialization completed" 168.It "mly%d: physical device %d:%d initialization failed" 169.It "mly%d: physical device %d:%d initialization cancelled" 170.It "mly%d: physical device %d:%d write recovery failed" 171.It "mly%d: physical device %d:%d scsi bus reset failed" 172.It "mly%d: physical device %d:%d double check condition" 173.It "mly%d: physical device %d:%d device cannot be accessed" 174.It "mly%d: physical device %d:%d gross error on scsi processor" 175.It "mly%d: physical device %d:%d bad tag from device" 176.It "mly%d: physical device %d:%d command timeout" 177.It "mly%d: physical device %d:%d system reset" 178.It "mly%d: physical device %d:%d busy status or parity error" 179.It "mly%d: physical device %d:%d host set device to failed state" 180.It "mly%d: physical device %d:%d selection timeout" 181.It "mly%d: physical device %d:%d scsi bus phase error" 182.It "mly%d: physical device %d:%d device returned unknown status" 183.It "mly%d: physical device %d:%d device not ready" 184.It "mly%d: physical device %d:%d device not found at startup" 185.It "mly%d: physical device %d:%d COD write operation failed" 186.It "mly%d: physical device %d:%d BDT write operation failed" 187.It "mly%d: physical device %d:%d missing at startup" 188.It "mly%d: physical device %d:%d start rebuild failed due to physical drive too small" 189.It "mly%d: physical device %d:%d sense data received" 190.It "mly%d: sense key %d asc %02x ascq %02x" 191.It "mly%d: info %4D csi %4D" 192.It "mly%d: physical device %d:%d offline" 193.It "mly%d: sense key %d asc %02x ascq %02x" 194.It "mly%d: info %4D csi %4D" 195.Pp 196The reported event refers to the physical device at the given channel:target 197address. 198.It "mly%d: logical device %d (%s) consistency check started" 199.It "mly%d: logical device %d (%s) consistency check completed" 200.It "mly%d: logical device %d (%s) consistency check cancelled" 201.It "mly%d: logical device %d (%s) consistency check completed with errors" 202.It "mly%d: logical device %d (%s) consistency check failed due to logical drive failure" 203.It "mly%d: logical device %d (%s) consistency check failed due to physical device failure" 204.It "mly%d: logical device %d (%s) automatic rebuild started" 205.It "mly%d: logical device %d (%s) manual rebuild started" 206.It "mly%d: logical device %d (%s) rebuild completed" 207.It "mly%d: logical device %d (%s) rebuild cancelled" 208.It "mly%d: logical device %d (%s) rebuild failed for unknown reasons" 209.It "mly%d: logical device %d (%s) rebuild failed due to new physical device" 210.It "mly%d: logical device %d (%s) rebuild failed due to logical drive failure" 211.It "mly%d: logical device %d (%s) offline" 212.It "mly%d: logical device %d (%s) critical" 213.It "mly%d: logical device %d (%s) online" 214.It "mly%d: logical device %d (%s) initialization started" 215.It "mly%d: logical device %d (%s) initialization completed" 216.It "mly%d: logical device %d (%s) initialization cancelled" 217.It "mly%d: logical device %d (%s) initialization failed" 218.It "mly%d: logical device %d (%s) found" 219.It "mly%d: logical device %d (%s) gone" 220.It "mly%d: logical device %d (%s) expand capacity started" 221.It "mly%d: logical device %d (%s) expand capacity completed" 222.It "mly%d: logical device %d (%s) expand capacity failed" 223.It "mly%d: logical device %d (%s) bad block found" 224.It "mly%d: logical device %d (%s) size changed" 225.It "mly%d: logical device %d (%s) type changed" 226.It "mly%d: logical device %d (%s) bad data block found" 227.It "mly%d: logical device %d (%s) read of data block in bdt" 228.It "mly%d: logical device %d (%s) write back data for disk block lost" 229.Pp 230The event report will include the name of the SCSI device which has 231attached to the device if possible. 232.It "mly%d: enclosure %d fan %d failed" 233.It "mly%d: enclosure %d fan %d ok" 234.It "mly%d: enclosure %d fan %d not present" 235.It "mly%d: enclosure %d power supply %d failed" 236.It "mly%d: enclosure %d power supply %d ok" 237.It "mly%d: enclosure %d power supply %d not present" 238.It "mly%d: enclosure %d temperature sensor %d failed" 239.It "mly%d: enclosure %d temperature sensor %d critical" 240.It "mly%d: enclosure %d temperature sensor %d ok" 241.It "mly%d: enclosure %d temperature sensor %d not present" 242.It "mly%d: enclosure %d unit %d access critical" 243.It "mly%d: enclosure %d unit %d access ok" 244.It "mly%d: enclosure %d unit %d access offline" 245.Pp 246These events refer to external enclosures by number. 247The driver does not attempt to name the enclosures. 248.It "mly%d: controller cache write back error" 249.It "mly%d: controller battery backup unit found" 250.It "mly%d: controller battery backup unit charge level low" 251.It "mly%d: controller battery backup unit charge level ok" 252.It "mly%d: controller installation aborted" 253.It "mly%d: controller mirror race recovery in progress" 254.It "mly%d: controller mirror race on critical drive" 255.It "mly%d: controller memory soft ecc error" 256.It "mly%d: controller memory hard ecc error" 257.It "mly%d: controller battery backup unit failed" 258.Pp 259These events report controller status changes. 260.El 261.Sh AUTHORS 262.An -nosplit 263The 264.Nm 265driver was written by 266.An Michael Smith Aq Mt msmith@FreeBSD.org . 267.Pp 268This manual page was written by 269.An Michael Smith Aq Mt msmith@FreeBSD.org . 270.Sh BUGS 271The driver does not yet provide an external management interface. 272.Pp 273Enclosures are not named or otherwise identified in event messages. 274