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