xref: /freebsd/share/man/man4/mlx.4 (revision b88cc53d4ddda4486683ee2121f131b10ed21c30)
1.\"
2.\" Copyright (c) 2003 David O'Brien
3.\" Copyright (c) 2000 Jeroen Ruigrok van der Werven
4.\" Copyright (c) 2000 Michael Smith
5.\" All rights reserved.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. The name of the author may not be used to endorse or promote products
13.\"    derived from this software without specific prior written permission
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25.\"
26.\" $FreeBSD$
27.\"
28.Dd February 15, 2017
29.Dt MLX 4
30.Os
31.Sh NAME
32.Nm mlx
33.Nd Mylex DAC-family RAID driver
34.Sh SYNOPSIS
35To compile this driver into the kernel,
36place the following lines in your
37kernel configuration file:
38.Bd -ragged -offset indent
39.Cd "device pci"
40.Cd "device mlx"
41.Ed
42.Pp
43Alternatively, to load the driver as a
44module at boot time, place the following line in
45.Xr loader.conf 5 :
46.Bd -literal -offset indent
47mlx_load="YES"
48.Ed
49.Sh DESCRIPTION
50The
51.Nm
52driver provides support for Mylex DAC-family PCI to SCSI RAID controllers,
53including versions relabeled by Digital/Compaq.
54.Sh HARDWARE
55Controllers supported by the
56.Nm
57driver include:
58.Pp
59.Bl -bullet -compact
60.It
61Mylex DAC960P
62.It
63Mylex DAC960PD / DEC KZPSC (Fast Wide)
64.It
65Mylex DAC960PDU
66.It
67Mylex DAC960PL
68.It
69Mylex DAC960PJ
70.It
71Mylex DAC960PG
72.It
73Mylex DAC960PU / DEC PZPAC (Ultra Wide)
74.It
75Mylex AcceleRAID 150 (DAC960PRL)
76.It
77Mylex AcceleRAID 250 (DAC960PTL1)
78.It
79Mylex eXtremeRAID 1100 (DAC1164P)
80.It
81RAIDarray 230 controllers, aka the Ultra-SCSI DEC KZPAC-AA (1-ch, 4MB
82cache), KZPAC-CA (3-ch, 4MB), KZPAC-CB (3-ch, 8MB cache)
83.El
84.Pp
85All major firmware revisions (2.x, 3.x, 4.x and 5.x) are supported, however
86it is always advisable to upgrade to the most recent firmware
87available for the controller.
88.Pp
89Compatible Mylex controllers not listed should work, but have not been
90verified.
91.Sh DIAGNOSTICS
92.Ss Controller initialisation phase
93.Bl -diag
94.It mlx%d: controller initialisation in progress...
95.It mlx%d: initialisation complete
96.Pp
97The controller firmware is performing/has completed initialisation.
98.It mlx%d: physical drive %d:%d not responding
99.Pp
100The drive at channel:target is not responding; it may have failed or
101been removed.
102.It mlx%d: spinning up drives...
103.Pp
104Drive startup is in progress; this may take several minutes.
105.It mlx%d: configuration checksum error
106.Pp
107The array configuration has become corrupted.
108.It mlx%d: mirror race recovery in progress
109.It mlx%d: mirror race on a critical system drive
110.It mlx%d: mirror race recovery failed
111.Pp
112These error codes are undocumented.
113.It mlx%d: physical drive %d:%d COD mismatch
114.Pp
115Configuration data on the drive at channel:target does not match the
116rest of the array.
117.It mlx%d: system drive installation aborted
118.Pp
119Errors occurred preventing one or more system drives from being configured.
120.It mlx%d: new controller configuration found
121.Pp
122The controller has detected a configuration on disk which supersedes the
123configuration in its nonvolatile memory.
124It will reset and come up with the new configuration.
125.It mlx%d: FATAL MEMORY PARITY ERROR
126.Pp
127Firmware detected a fatal memory error; the driver will not attempt to
128attach to this controller.
129.It mlx%d: unknown firmware initialisation error %x:%x:%x
130.Pp
131An unknown error occurred during initialisation; it will be ignored.
132.El
133.Ss Driver initialisation/shutdown phase:
134.Bl -diag
135.It mlx%d: can't allocate scatter/gather DMA tag
136.It mlx%d: can't allocate buffer DMA tag
137.It mlx%d: can't allocate s/g table
138.It mlx%d: can't make initial s/g list mapping
139.It mlx%d: can't make permanent s/g list mapping
140.It mlx%d: can't allocate interrupt
141.It mlx%d: can't set up interrupt
142.Pp
143A resource allocation error occurred while initialising the driver;
144initialisation has failed and the driver will not attach to this
145controller.
146.It mlx%d: error fetching drive status
147.Pp
148The current status of all system drives could not be fetched; attachment
149of system drives will be aborted.
150.It mlx%d: device_add_child failed
151.It mlx%d: bus_generic_attach returned %d
152.Pp
153Creation of the system drive instances failed; attachment of one or more
154system drives may have been aborted.
155.It mlxd%d: detaching...
156.Pp
157The indicated system drive is being detached.
158.It mlxd%d: still open, can't detach
159.Pp
160The indicated system drive is still open or mounted;
161the controller cannot be detached.
162.It mlx%d: flushing cache...
163.Pp
164The controller cache is being flushed prior to detach or shutdown.
165.El
166.Ss Operational diagnostics:
167.Bl -diag
168.It mlx%d: ENQUIRY failed - %s
169.It mlx%d: ENQUIRY2 failed
170.It mlx%d: ENQUIRY_OLD failed
171.It mlx%d: FLUSH failed - %s
172.It mlx%d: CHECK ASYNC failed - %s
173.It mlx%d: REBUILD ASYNC failed - %s
174.It mlx%d: command failed - %s
175.Pp
176The controller rejected a command for the reason given.
177.It mlx%d: I/O beyond end of unit (%u,%d > %u)
178.It mlx%d: I/O error - %s
179.Pp
180An I/O error was reported by the controller.
181.It mlx%d: periodic enquiry failed - %s
182.Pp
183An attempt to poll the controller for status failed for the reason given.
184.It mlx%d: mlx_periodic_enquiry: unknown command %x
185.Pp
186The periodic status poll has issued a command which has become corrupted.
187.It mlxd%d: drive offline
188.It mlxd%d: drive online
189.It mlxd%d: drive critical
190.Pp
191The system disk indicated has changed state.
192.It mlx%d: physical drive %d:%d reset
193.It mlx%d: physical drive %d:%d killed %s
194.It "mlx%d: physical drive %d:%d error log: sense = %d asc = %x asq = %x"
195.It "mlx%d:   info %4D csi %4D"
196.Pp
197The drive at channel:target has been reset, killed for the given reason,
198or experienced a SCSI error.
199.It mlx%d: unknown log message type %x
200.It mlx%d: error reading message log - %s
201.Pp
202An error occurred while trying to read the controller's message log.
203.It mlxd%d: consistency check started
204.It mlx%d: consistency check completed
205.Pp
206A user-initiated consistency check has started/completed.
207.It mlx%d: drive rebuild started for %d:%d
208.It mlx%d: drive rebuild completed
209.Pp
210A user-initiated physical drive rebuild has started/completed.
211.It mlx%d: background check/rebuild operation started
212.It mlx%d: background check/rebuild operation completed
213.Pp
214An automatic system drive consistency check
215or physical drive rebuild has started/completed.
216.It mlx%d: channel %d pausing for %d seconds
217.It mlx%d: channel %d resuming
218.It mlx%d: pause command failed - %s
219.It mlx%d: pause failed for channel %d
220.It mlx%d: resume command failed - %s
221.It mlx%d: resume failed for channel %d
222.Pp
223Controller/channel pause operation notification.
224(Channel pause is not currently supported on any controller.)
225.It mlx%d: controller wedged (not taking commands)
226.Pp
227The controller is not responding to attempts to submit new commands.
228.It mlx%d: duplicate done event for slot %d
229.It mlx%d: done event for nonbusy slot %d
230.Pp
231Corruption has occurred in either the controller's onboard list of commands
232or in the driver.
233.El
234.Sh SEE ALSO
235.Xr mlxcontrol 8
236.Sh AUTHORS
237.An -nosplit
238The
239.Nm
240driver was written by
241.An Michael Smith Aq Mt msmith@FreeBSD.org .
242.Pp
243This manual page was written by
244.An Jeroen Ruigrok van der Werven Aq Mt asmodai@FreeBSD.org
245and
246.An Michael Smith Aq Mt msmith@FreeBSD.org .
247.Sh BUGS
248The DEC KZPSC has insufficient flash ROM to hold any reasonably recent firmware.
249This has caused problems for this driver.
250.Pp
251The driver does not yet support the version 6.x firmware as found in the
252AcceleRAID 352 and eXtremeRAID 2000 and 3000 products.
253