1.\" 2.\" Copyright (c) 2000 Jeroen Ruigrok van der Werven 3.\" Copyright (c) 2000 Michael Smith 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.\" $FreeBSD$ 26.\" 27.Dd April 10, 2000 28.Dt MLX 4 29.Os 30.Sh NAME 31.Nm mlx 32.Nd Mylex DAC-family RAID driver 33.Sh SYNOPSIS 34.Cd device pci 35.Cd device mlx 36.Sh DESCRIPTION 37The 38.Nm 39driver provides support for Mylex DAC-family PCI to SCSI RAID controllers, 40including versions relabelled by Digital/Compaq. Supported controllers 41include: 42.Bl -bullet 43.It 44DAC960P 45.It 46DAC960PD 47.It 48DAC960PL 49.It 50DAC960PJ 51.It 52DAC960PG 53.It 54AcceleRAID 150 55.It 56AcceleRAID 250 57.It 58eXtremeRAID 1100 59.El 60.Pp 61All major firmware revisions (2.x, 3.x, 4.x and 5.x) are supported, however 62it is always advisable to upgrade to the most recent firmware available for the 63controller. 64.Pp 65Compatible Mylex controllers not listed should work, but have not been 66verified. 67.Sh DIAGNOSTICS 68Controller initialisation phase: 69.Bl -diag 70.It mlx%d: controller initialisation in progress... 71.It mlx%d: initialisation complete 72.El 73.Pp 74The controller firmware is performing/has completed initialisation. 75.Bl -diag 76.It mlx%d: physical drive %d:%d not responding 77.El 78.Pp 79The drive at channel:target is not responding; it may have failed or 80been removed. 81.Bl -diag 82.It mlx%d: spinning up drives... 83.El 84.Pp 85Drive startup is in progress; this may take several minutes. 86.Bl -diag 87.It mlx%d: configuration checksum error 88.El 89.Pp 90The array configuration has become corrupted. 91.Bl -diag 92.It mlx%d: mirror race recovery in progress 93.It mlx%d: mirror race on a critical system drive 94.It mlx%d: mirror race recovery failed 95.El 96.Pp 97These error codes are undocumented. 98.Bl -diag 99.It mlx%d: physical drive %d:%d COD mismatch 100.El 101.Pp 102Configuration data on the drive at channel:target does not match the 103rest of the array. 104.Bl -diag 105.It mlx%d: system drive installation aborted 106.El 107.Pp 108Errors occured preventing one or more system drives from being configured. 109.Bl -diag 110.It mlx%d: new controller configuration found 111.El 112.Pp 113The controller has detected a configuration on disk which supersedes the 114configuration in its nonvolatile memory. It will reset and come up with 115the new configuration. 116.Bl -diag 117.It mlx%d: FATAL MEMORY PARITY ERROR 118.El 119.Pp 120Firmware detected a fatal memory error; the driver will not attempt to 121attach to this controller. 122.Bl -diag 123.It mlx%d: unknown firmware initialisation error %x:%x:%x 124.El 125.Pp 126An unknown error occurred during initialisation; it will be ignored. 127.Pp 128Driver initialisation/shutdown phase: 129.Bl -diag 130.It mlx%d: can't allocate scatter/gather DMA tag 131.It mlx%d: can't allocate buffer DMA tag 132.It mlx%d: can't allocate s/g table 133.It mlx%d: can't make initial s/g list mapping 134.It mlx%d: can't make permanent s/g list mapping 135.It mlx%d: can't allocate interrupt 136.It mlx%d: can't set up interrupt 137.El 138.Pp 139A resource allocation error occurred while initialising the driver; 140initialisation has failed and the driver will not attach to this 141controller. 142.Bl -diag 143.It mlx%d: error fetching drive status 144.El 145.Pp 146The current status of all system drives could not be fetched; attachment 147of system drives will be aborted. 148.Bl -diag 149.It mlx%d: device_add_child failed 150.It mlx%d: bus_generic_attach returned %d 151.El 152.Pp 153Creation of the system drive instances failed; attachment of one or more 154system drives may have been aborted. 155.Bl -diag 156.It mlxd%d: detaching... 157.El 158.Pp 159The indicated system drive is being detached. 160.Bl -diag 161.It mlxd%d: still open, can't detach 162.El 163.Pp 164The indicated system drive is still open or mounted; the controller cannot be detached. 165.Bl -diag 166.It mlx%d: flushing cache... 167.El 168.Pp 169The controller cache is being flushed prior to detach or shutdown. 170.Pp 171Operational diagnostics: 172.Bl -diag 173.It mlx%d: ENQUIRY failed - %s 174.It mlx%d: ENQUIRY2 failed 175.It mlx%d: ENQUIRY_OLD failed 176.It mlx%d: FLUSH failed - %s 177.It mlx%d: CHECK ASYNC failed - %s 178.It mlx%d: REBUILD ASYNC failed - %s 179.It mlx%d: command failed - %s 180.El 181.Pp 182The controller rejected a command for the reason given. 183.Bl -diag 184.It mlx%d: I/O beyond end of unit (%u,%d > %u) 185.It mlx%d: I/O error - %s 186.El 187.Pp 188An I/O error was reported by the controller. 189.Bl -diag 190.It mlx%d: periodic enquiry failed - %s 191.El 192.Pp 193An attempt to poll the controller for status failed for the reason given. 194.Bl -diag 195.It mlx%d: mlx_periodic_enquiry: unknown command %x 196.El 197.Pp 198The periodic status poll has issued a command which has become corrupted. 199.Bl -diag 200.It mlxd%d: drive offline 201.It mlxd%d: drive online 202.It mlxd%d: drive critical 203.El 204.Pp 205The system disk indicated has changed state. 206.Bl -diag 207.It mlx%d: physical drive %d:%d reset 208.It mlx%d: physical drive %d:%d killed %s 209.It "mlx%d: physical drive %d:%d error log: sense = %d asc = %x asq = %x" 210.It "mlx%d: info %4D csi %4D" 211.El 212.Pp 213The drive at channel:target has been reset, killed for the given reason, 214or experienced a SCSI error. 215.Bl -diag 216.It mlx%d: unknown log message type %x 217.It mlx%d: error reading message log - %s 218.El 219.Pp 220An error occurred while trying to read the controller's message log. 221.Bl -diag 222.It mlxd%d: consistency check started 223.It mlx%d: consistency check completed 224.El 225.Pp 226A user-initiated consistency check has started/completed. 227.Bl -diag 228.It mlx%d: drive rebuild started for %d:%d 229.It mlx%d: drive rebuild completed 230.El 231.Pp 232A user-initiated physical drive rebuild has started/completed. 233.Bl -diag 234.It mlx%d: background check/rebuild operation started 235.It mlx%d: background check/rebuild operation completed 236.El 237.Pp 238An automatic system drive consistency check or physical drive rebuild has started/completed. 239.Bl -diag 240.It mlx%d: channel %d pausing for %d seconds 241.It mlx%d: channel %d resuming 242.It mlx%d: pause command failed - %s 243.It mlx%d: pause failed for channel %d 244.It mlx%d: resume command failed - %s 245.It mlx%d: resume failed for channel %d 246.El 247.Pp 248Controller/channel pause operation notification. (Channel pause is not 249currently supported on any controller.) 250.Bl -diag 251.It mlx%d: controller wedged (not taking commands) 252.El 253.Pp 254The controller is not responding to attempts to submit new commands. 255.Bl -diag 256.It mlx%d: duplicate done event for slot %d 257.It mlx%d: done event for nonbusy slot %d 258.El 259.Pp 260Corruption has occurred in either the controller's onboard list of commands 261or in the driver. 262.Sh SEE ALSO 263.Xr mlxcontrol 8 264.Sh BUGS 265The driver does not yet support EISA adapters. 266.Pp 267The driver does not yet support the version 6.x firmware as found in the 268AcceleRAID 352 and eXtremeRAID 2000 and 3000 products. 269.Sh AUTHORS 270The mlx driver was written by 271.An Michael Smith 272.Aq msmith@FreeBSD.org . 273.Pp 274This manual page was written by 275.An Jeroen Ruigrok van der Werven 276.Aq asmodai@FreeBSD.org 277and 278.An Michael Smith 279.Aq msmith@FreeBSD.org . 280 281