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