MLX(4) BSD Kernel Interfaces Manual MLX(4)
mlx -- Mylex DAC-family RAID driver
The mlx driver provides support for Mylex DAC-family PCI to SCSI RAID
controllers, including versions relabeled by Digital/Compaq.
Controllers supported by the mlx driver include:
o Mylex DAC960P
o Mylex DAC960PD / DEC KZPSC (Fast Wide)
o Mylex DAC960PDU
o Mylex DAC960PL
o Mylex DAC960PJ
o Mylex DAC960PG
o Mylex DAC960PU / DEC PZPAC (Ultra Wide)
o Mylex AcceleRAID 150 (DAC960PRL)
o Mylex AcceleRAID 250 (DAC960PTL1)
o Mylex eXtremeRAID 1100 (DAC1164P)
o RAIDarray 230 controllers, aka the Ultra-SCSI DEC KZPAC-AA (1-ch, 4MB
cache), KZPAC-CA (3-ch, 4MB), KZPAC-CB (3-ch, 8MB cache)
All major firmware revisions (2.x, 3.x, 4.x and 5.x) are supported, how-
ever it is always advisable to upgrade to the most recent firmware avail-
able for the controller.
Compatible Mylex controllers not listed should work, but have not been
Controller initialisation phase
mlx%d: controller initialisation in progress...
mlx%d: initialisation complete
The controller firmware is performing/has completed initialisation.
mlx%d: physical drive %d:%d not responding
The drive at channel:target is not responding; it may have failed or been
mlx%d: spinning up drives...
Drive startup is in progress; this may take several minutes.
mlx%d: configuration checksum error
The array configuration has become corrupted.
mlx%d: mirror race recovery in progress
mlx%d: mirror race on a critical system drive
mlx%d: mirror race recovery failed
These error codes are undocumented.
mlx%d: physical drive %d:%d COD mismatch
Configuration data on the drive at channel:target does not match the rest
of the array.
mlx%d: system drive installation aborted
Errors occurred preventing one or more system drives from being config-
mlx%d: new controller configuration found
The controller has detected a configuration on disk which supersedes the
configuration in its nonvolatile memory. It will reset and come up with
the new configuration.
mlx%d: FATAL MEMORY PARITY ERROR
Firmware detected a fatal memory error; the driver will not attempt to
attach to this controller.
mlx%d: unknown firmware initialisation error %x:%x:%x
An unknown error occurred during initialisation; it will be ignored.
Driver initialisation/shutdown phase:
mlx%d: can't allocate scatter/gather DMA tag
mlx%d: can't allocate buffer DMA tag
mlx%d: can't allocate s/g table
mlx%d: can't make initial s/g list mapping
mlx%d: can't make permanent s/g list mapping
mlx%d: can't allocate interrupt
mlx%d: can't set up interrupt
A resource allocation error occurred while initialising the driver; ini-
tialisation has failed and the driver will not attach to this controller.
mlx%d: error fetching drive status
The current status of all system drives could not be fetched; attachment
of system drives will be aborted.
mlx%d: device_add_child failed
mlx%d: bus_generic_attach returned %d
Creation of the system drive instances failed; attachment of one or more
system drives may have been aborted.
The indicated system drive is being detached.
mlxd%d: still open, can't detach
The indicated system drive is still open or mounted; the controller can-
not be detached.
mlx%d: flushing cache...
The controller cache is being flushed prior to detach or shutdown.
mlx%d: ENQUIRY failed - %s
mlx%d: ENQUIRY2 failed
mlx%d: ENQUIRY_OLD failed
mlx%d: FLUSH failed - %s
mlx%d: CHECK ASYNC failed - %s
mlx%d: REBUILD ASYNC failed - %s
mlx%d: command failed - %s
The controller rejected a command for the reason given.
mlx%d: I/O beyond end of unit (%u,%d >> %u)
mlx%d: I/O error - %s
An I/O error was reported by the controller.
mlx%d: periodic enquiry failed - %s
An attempt to poll the controller for status failed for the reason given.
mlx%d: mlx_periodic_enquiry: unknown command %x
The periodic status poll has issued a command which has become corrupted.
mlxd%d: drive offline
mlxd%d: drive online
mlxd%d: drive critical
The system disk indicated has changed state.
mlx%d: physical drive %d:%d reset
mlx%d: physical drive %d:%d killed %s
mlx%d: physical drive %d:%d error log: sense = %d asc = %x asq = %x
mlx%d: info %4D csi %4D
The drive at channel:target has been reset, killed for the given reason,
or experienced a SCSI error.
mlx%d: unknown log message type %x
mlx%d: error reading message log - %s
An error occurred while trying to read the controller's message log.
mlxd%d: consistency check started
mlx%d: consistency check completed
A user-initiated consistency check has started/completed.
mlx%d: drive rebuild started for %d:%d
mlx%d: drive rebuild completed
A user-initiated physical drive rebuild has started/completed.
mlx%d: background check/rebuild operation started
mlx%d: background check/rebuild operation completed
An automatic system drive consistency check or physical drive rebuild has
mlx%d: channel %d pausing for %d seconds
mlx%d: channel %d resuming
mlx%d: pause command failed - %s
mlx%d: pause failed for channel %d
mlx%d: resume command failed - %s
mlx%d: resume failed for channel %d
Controller/channel pause operation notification. (Channel pause is not
currently supported on any controller.)
mlx%d: controller wedged (not taking commands)
The controller is not responding to attempts to submit new commands.
mlx%d: duplicate done event for slot %d
mlx%d: done event for nonbusy slot %d
Corruption has occurred in either the controller's onboard list of com-
mands or in the driver.
The driver does not yet support EISA adapters. The DEC KZPSC has insuf-
ficient flash ROM to hold any reasonably recent firmware. This has
caused problems for this driver.
The driver does not yet support the version 6.x firmware as found in the
AcceleRAID 352 and eXtremeRAID 2000 and 3000 products.
The mlx driver was written by Michael Smith <msmithATFreeBSD.org>.
This manual page was written by Jeroen Ruigrok van der Werven
<asmodaiATFreeBSD.org> and Michael Smith <msmithATFreeBSD.org>.
BSD August 10, 2004 BSD