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