1.\" $NetBSD: mly.4,v 1.5 2001/09/22 01:34:48 wiz Exp $ 2.\" 3.\" Copyright (c) 2001 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to The NetBSD Foundation 7.\" by Andrew Doran. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 3. All advertising materials mentioning features or use of this software 18.\" must display the following acknowledgement: 19.\" This product includes software developed by the NetBSD 20.\" Foundation, Inc. and its contributors. 21.\" 4. Neither the name of The NetBSD Foundation nor the names of its 22.\" contributors may be used to endorse or promote products derived 23.\" from this software without specific prior written permission. 24.\" 25.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 26.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 27.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 28.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 29.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 30.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 31.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 32.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 33.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 34.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35.\" POSSIBILITY OF SUCH DAMAGE. 36.\" 37.\" Copyright (c) 2000 Michael Smith 38.\" Copyright (c) 2000 BSDi 39.\" All rights reserved. 40.\" 41.\" Redistribution and use in source and binary forms, with or without 42.\" modification, are permitted provided that the following conditions 43.\" are met: 44.\" 1. Redistributions of source code must retain the above copyright 45.\" notice, this list of conditions and the following disclaimer. 46.\" 2. The name of the author may not be used to endorse or promote products 47.\" derived from this software without specific prior written permission 48.\" 49.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 50.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 51.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 52.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 53.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 54.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 55.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 56.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 57.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 58.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 59.\" 60.\" from FreeBSD: mly.4,v 1.6 2001/07/14 19:40:47 schweikh Exp 61.\" 62.Dd July 29, 2001 63.Dt MLY 4 64.Os 65.Sh NAME 66.Nm mly 67.Nd Mylex AcceleRAID/eXtremeRAID family driver 68.Sh SYNOPSIS 69.Cd "mly* at pci? dev ? function ?" 70.Cd "scsibus* at mly?" 71.Sh DESCRIPTION 72The 73.Nm 74driver provides support for Mylex AcceleRAID and eXtremeRAID family 75of PCI to SCSI RAID controllers with version 6.00 and later 76firmware. 77Supported controllers include: 78.Pp 79.Bl -bullet -compact 80.It 81AcceleRAID 160 82.It 83AcceleRAID 170 84.It 85AcceleRAID 352 86.It 87eXtremeRAID 2000 88.It 89eXtremeRAID 3000 90.El 91.Pp 92Compatible Mylex controllers not listed should work, but have not been 93tested. 94.Pp 95Logical devices (disk arrays) attached to the controller are presented 96to the SCSI subsystem as though they were direct-access devices on a 97virtual SCSI bus. 98Physical devices which are not claimed by a logical 99device are presented on SCSI channels which match the physical channels 100on the controller. 101.Pp 102The results of the SCSI ``INQUIRY'' command from logical devices are 103overwritten with status information by the 104.Nm 105driver. The vendor field is the string ``MYLEX'', the product field 106indicates the type of logical device, and the revision field contains a four 107letter status code. The possible status codes and their meanings are as 108follows: 109.Pp 110.Bl -tag -width XXXX -compact 111.It OFLN 112offline 113.It UNCF 114unconfigured 115.It ONLN 116online - optimal 117.It CRIT 118critical - one or more disks in the array has failed 119.It NORD 120write only 121.It STBY 122standby 123.It MISS 124missing 125.El 126.Sh DIAGNOSTICS 127.Ss Controller initialisation phase 128.Bl -diag 129.It "mly%d: controller initialisation started" 130.It "mly%d: initialisation complete" 131.Pp 132The controller firmware has started initialisation. 133Normally this process is performed by the controller BIOS, 134but the driver may need 135to do this in cases where the BIOS has failed, or is not compatible 136(e.g. on non-x86 systems). 137.It "mly%d: drive spinup in progress" 138.Pp 139Drive startup is in progress; this may take several minutes. 140.It "mly%d: mirror race recovery failed, one or more drives offline" 141.It "mly%d: mirror race recovery in progress" 142.It "mly%d: mirror race recovery on a critical drive" 143.Pp 144These error codes are undocumented. 145.It "mly%d: FATAL MEMORY PARITY ERROR" 146.Pp 147Firmware detected a fatal memory error; the driver will not attempt to 148attach to this controller. 149.It "mly%d: unknown initialisation code %x" 150.Pp 151An unknown error occurred during initialisation; it will be ignored. 152.El 153.Ss Operational diagnostics 154.Bl -diag 155.It "mly%d: physical device %d:%d online" 156.It "mly%d: physical device %d:%d standby" 157.It "mly%d: physical device %d:%d automatic rebuild started" 158.It "mly%d: physical device %d:%d manual rebuild started" 159.It "mly%d: physical device %d:%d rebuild completed" 160.It "mly%d: physical device %d:%d rebuild cancelled" 161.It "mly%d: physical device %d:%d rebuild failed for unknown reasons" 162.It "mly%d: physical device %d:%d rebuild failed due to new physical device" 163.It "mly%d: physical device %d:%d rebuild failed due to logical drive failure" 164.It "mly%d: physical device %d:%d found" 165.It "mly%d: physical device %d:%d gone" 166.It "mly%d: physical device %d:%d unconfigured" 167.It "mly%d: physical device %d:%d expand capacity started" 168.It "mly%d: physical device %d:%d expand capacity completed" 169.It "mly%d: physical device %d:%d expand capacity failed" 170.It "mly%d: physical device %d:%d parity error" 171.It "mly%d: physical device %d:%d soft error" 172.It "mly%d: physical device %d:%d miscellaneous error" 173.It "mly%d: physical device %d:%d reset" 174.It "mly%d: physical device %d:%d active spare found" 175.It "mly%d: physical device %d:%d warm spare found" 176.It "mly%d: physical device %d:%d initialization started" 177.It "mly%d: physical device %d:%d initialization completed" 178.It "mly%d: physical device %d:%d initialization failed" 179.It "mly%d: physical device %d:%d initialization cancelled" 180.It "mly%d: physical device %d:%d write recovery failed" 181.It "mly%d: physical device %d:%d scsi bus reset failed" 182.It "mly%d: physical device %d:%d double check condition" 183.It "mly%d: physical device %d:%d device cannot be accessed" 184.It "mly%d: physical device %d:%d gross error on scsi processor" 185.It "mly%d: physical device %d:%d bad tag from device" 186.It "mly%d: physical device %d:%d command timeout" 187.It "mly%d: physical device %d:%d system reset" 188.It "mly%d: physical device %d:%d busy status or parity error" 189.It "mly%d: physical device %d:%d host set device to failed state" 190.It "mly%d: physical device %d:%d selection timeout" 191.It "mly%d: physical device %d:%d scsi bus phase error" 192.It "mly%d: physical device %d:%d device returned unknown status" 193.It "mly%d: physical device %d:%d device not ready" 194.It "mly%d: physical device %d:%d device not found at startup" 195.It "mly%d: physical device %d:%d COD write operation failed" 196.It "mly%d: physical device %d:%d BDT write operation failed" 197.It "mly%d: physical device %d:%d missing at startup" 198.It "mly%d: physical device %d:%d start rebuild failed due to physical drive too small" 199.It "mly%d: physical device %d:%d sense data received" 200.It "mly%d: sense key %d asc %02x ascq %02x" 201.It "mly%d: info %4D csi %4D" 202.It "mly%d: physical device %d:%d offline" 203.It "mly%d: sense key %d asc %02x ascq %02x" 204.It "mly%d: info %4D csi %4D" 205.Pp 206The reported event refers to the physical device at the given channel:target 207address. 208.It "mly%d: logical device %d:%d consistency check started" 209.It "mly%d: logical device %d:%d consistency check completed" 210.It "mly%d: logical device %d:%d consistency check cancelled" 211.It "mly%d: logical device %d:%d consistency check completed with errors" 212.It "mly%d: logical device %d:%d consistency check failed due to logical drive failure" 213.It "mly%d: logical device %d:%d consistency check failed due to physical device failure" 214.It "mly%d: logical device %d:%d automatic rebuild started" 215.It "mly%d: logical device %d:%d manual rebuild started" 216.It "mly%d: logical device %d:%d rebuild completed" 217.It "mly%d: logical device %d:%d rebuild cancelled" 218.It "mly%d: logical device %d:%d rebuild failed for unknown reasons" 219.It "mly%d: logical device %d:%d rebuild failed due to new physical device" 220.It "mly%d: logical device %d:%d rebuild failed due to logical drive failure" 221.It "mly%d: logical device %d:%d offline" 222.It "mly%d: logical device %d:%d critical" 223.It "mly%d: logical device %d:%d online" 224.It "mly%d: logical device %d:%d initialization started" 225.It "mly%d: logical device %d:%d initialization completed" 226.It "mly%d: logical device %d:%d initialization cancelled" 227.It "mly%d: logical device %d:%d initialization failed" 228.It "mly%d: logical device %d:%d found" 229.It "mly%d: logical device %d:%d gone" 230.It "mly%d: logical device %d:%d expand capacity started" 231.It "mly%d: logical device %d:%d expand capacity completed" 232.It "mly%d: logical device %d:%d expand capacity failed" 233.It "mly%d: logical device %d:%d bad block found" 234.It "mly%d: logical device %d:%d size changed" 235.It "mly%d: logical device %d:%d type changed" 236.It "mly%d: logical device %d:%d bad data block found" 237.It "mly%d: logical device %d:%d read of data block in bdt" 238.It "mly%d: logical device %d:%d write back data for disk block lost" 239.Pp 240The reported event refers to the logical device at the given channel:target 241address. 242.\" The event report will include the name of the SCSI device which has 243.\" attached to the device if possible. 244.It "mly%d: enclosure %d fan %d failed" 245.It "mly%d: enclosure %d fan %d ok" 246.It "mly%d: enclosure %d fan %d not present" 247.It "mly%d: enclosure %d power supply %d failed" 248.It "mly%d: enclosure %d power supply %d ok" 249.It "mly%d: enclosure %d power supply %d not present" 250.It "mly%d: enclosure %d temperature sensor %d failed" 251.It "mly%d: enclosure %d temperature sensor %d critical" 252.It "mly%d: enclosure %d temperature sensor %d ok" 253.It "mly%d: enclosure %d temperature sensor %d not present" 254.It "mly%d: enclosure %d unit %d access critical" 255.It "mly%d: enclosure %d unit %d access ok" 256.It "mly%d: enclosure %d unit %d access offline" 257.Pp 258These events refer to external enclosures by number. 259The driver does not attempt to name the enclosures. 260.It "mly%d: controller cache write back error" 261.It "mly%d: controller battery backup unit found" 262.It "mly%d: controller battery backup unit charge level low" 263.It "mly%d: controller battery backup unit charge level ok" 264.It "mly%d: controller installation aborted" 265.It "mly%d: controller mirror race recovery in progress" 266.It "mly%d: controller mirror race on critical drive" 267.It "mly%d: controller memory soft ecc error" 268.It "mly%d: controller memory hard ecc error" 269.It "mly%d: controller battery backup unit failed" 270.Pp 271These events report controller status changes. 272.El 273.Sh SEE ALSO 274.Xr cd 4 , 275.Xr ch 4 , 276.Xr intro 4 , 277.Xr mlx 4 , 278.Xr scsi 4 , 279.Xr sd 4 , 280.Xr st 4 , 281.Xr scsictl 8 282.Sh HISTORY 283The 284.Nm 285driver first appeared in 286.Nx 1.6 . 287.Sh AUTHORS 288The 289.Nm 290driver was written by Michael Smith 291.Aq msmith@freebsd.org , 292and was modified for 293.Nx 294by Andrew Doran 295.Aq ad@netbsd.org , 296Thor Lancelot Simon 297.Aq tls@netbsd.org 298and Eric Haszlakiewicz 299.Aq erh@netbsd.org . 300.Sh BUGS 301The 302.Nm 303driver currently assumes that all busses support at most 16 targets and 1 304logical unit per target. 305.Pp 306Enclosures are not named or otherwise identified in event messages. 307.Pp 308The transfer speed for devices is always reported to the kernel as 20MHz. 309