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.\" $FreeBSD$ 26.\" 27.Dd April 10, 2000 28.Dt TWE 4 29.Os 30.Sh NAME 31.Nm twe 32.Nd 3ware Escalade ATA RAID adapter driver 33.Sh SYNOPSIS 34.Cd device pci 35.Cd device twe 36.Sh DESCRIPTION 37The 38.Nm 39driver provides support for the Escalade 3W-5x00 and 3W-6x00 series 40of ATA RAID controllers. 41These devices support 2, 4 or 8 ATA disk drives 42and provide RAID0 (striping) and RAID1 (mirroring) functionality. 43.Sh DIAGNOSTICS 44.Ss Controller initialisation phase 45.Bl -diag 46.It twe%d: microcontroller not ready 47.Pp 48The controller's onboard CPU is not reporting that it is ready; 49this may be due to either a board or system failure. 50Initialisation has failed. 51.It twe%d: no attention interrupt 52.It twe%d: can't drain AEN queue 53.It twe%d: reset not reported 54.It twe%d: controller errors detected 55.It twe%d: can't drain response queue 56.It twe%d: reset %d failed, trying again 57.Pp 58The controller is not responding correctly to 59the driver's attempts to reset and initialise it. 60This process is retried several times. 61.It twe%d: can't initialise controller, giving up 62.Pp 63Several attempts to reset and initialise the controller have failed; 64initialisation has failed 65and the driver will not attach to this controller. 66.El 67.Ss Driver initialisation/shutdown phase 68.Bl -diag 69.It twe%d: register window not available 70.It twe%d: can't allocate register window 71.It twe%d: can't allocate parent DMA tag 72.It twe%d: can't allocate interrupt 73.It twe%d: can't set up interrupt 74.It twe%d: can't establish configuration hook 75.Pp 76A resource allocation error occurred while initialising the driver; 77initialisation has failed 78and the driver will not attach to this controller. 79.It twe%d: can't detect attached units 80.Pp 81Fetching the list of attached units failed; initialisation has failed. 82.It twe%d: error fetching capacity for unit %d 83.It twe%d: error fetching state for unit %d 84.It twe%d: error fetching descriptor size for unit %d 85.It twe%d: error fetching descriptor for unit %d 86.It twe%d: device_add_child failed 87.It twe%d: bus_generic_attach returned %d 88.Pp 89Creation of the disk devices failed, either due to communications 90problems with the adapter or due to resource shortage; 91attachment of one or more units may have been aborted. 92.El 93.Ss Operational phase 94.Bl -diag 95.It twe%d: command completed - %s 96.El 97.Pp 98A command was reported completed with a warning by the controller. 99The warning may be one of: 100.Bl -diag 101.It redundant/inconsequential request ignored 102.It failed to write zeroes to LBA 0 103.It failed to profile TwinStor zones 104.El 105.Bl -diag 106.It twe%d: command failed - %s 107.El 108.Pp 109A command was reported as failed by the controller. 110The failure message may be one of: 111.Bl -diag 112.It aborted due to system command or reconfiguration 113.It aborted 114.It access error 115.It access violation 116.It device failure 117.It controller error 118.It timed out 119.It invalid unit number 120.It unit not available 121.It undefined opcode 122.It request incompatible with unit 123.It invalid request 124.It firmware error, reset requested 125.Pp 126The command will be returned to the operating system after a 127fatal error. 128.El 129.Bl -diag 130.It twe%d: command failed submission - controller wedged 131.Pp 132A command could not be delivered to the controller because 133the controller is unresponsive. 134.It twe%d: AEN: <%s> 135.El 136.Pp 137The controller has reported a change in status using an AEN 138(Asynchronous Event Notification). 139The following AENs may be reported: 140.Bl -diag 141.It queue empty 142.It soft reset 143.It degraded mirror 144.It controller error 145.It rebuild fail 146.It rebuild done 147.It incomplete unit 148.It initialisation done 149.It unclean shutdown detected 150.It drive timeout 151.It drive error 152.It rebuild started 153.It aen queue full 154.Pp 155AENs are also queued internally for use by management tools. 156.El 157.Bl -diag 158.It twe%d: error polling for signalled AENs 159.Pp 160The controller has reported 161that one or more status messages are ready for the driver, 162but attempting to fetch one of these has returned an error. 163.It twe%d: AEN queue overflow, lost AEN <%s> 164.Pp 165A status message was retrieved from the controller, 166but there is no more room to queue it in the driver. 167The message is lost (but will be printed to the console). 168.It twe%d: missing expected status bits %s 169.It twe%d: unexpected status bits %s 170.Pp 171A check of the controller's status bits 172indicates an unexpected condition. 173.It twe%d: host interrupt 174.Pp 175The controller has signalled a host interrupt. 176This serves an unknown purpose and is ignored. 177.It twe%d: command interrupt 178.Pp 179The controller has signalled a command interrupt. 180This is not used, and will be disabled. 181.It twe%d: controller reset in progress... 182.Pp 183The controller is being reset by the driver. 184Typically this is done when the driver has determined that the 185controller is in an unrecoverable state. 186.It twe%d: can't reset controller, giving up 187.Pp 188The driver has given up on resetting the controller. 189No further I/O will be handled. 190.It controller reset done, %d commands restarted 191.Pp 192The controller was successfully reset, 193and outstanding commands were restarted. 194.El 195.Sh BUGS 196The controller cannot handle I/O transfers 197that are not aligned to a 512-byte boundary. 198In order to support raw device access from user-space, 199the driver will perform alignment fixup on non-aligned data. 200This process is inefficient, 201and thus in order to obtain best performance 202user-space applications accessing the device 203should do so with aligned buffers. 204.Sh AUTHORS 205The 206.Nm 207driver and manpage were written by 208.An Michael Smith 209.Aq msmith@FreeBSD.org . 210