mlx4
Mylex dac-family parallel scsi raid driver
Usage
To compile this driver into the kernel, place the following lines in your kernel configuration file:
device pci device mlx
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
mlx_load="YES"
Overview
The mlx driver provides support for Mylex DAC-family PCI to SCSI RAID controllers, including versions relabeled by Digital/Compaq.
Hardware
The mlx driver supports the following Parallel SCSI RAID controllers:
-
Mylex DAC960P (Wide Fast SCSI-2)
-
Mylex DAC960PD / DEC KZPSC (Wide Fast SCSI-2)
-
Mylex DAC960PDU (Ultra SCSI-3)
-
Mylex DAC960PL (Wide Fast SCSI-2)
-
Mylex DAC960PJ (Wide Ultra SCSI-3)
-
Mylex DAC960PG (Wide Ultra SCSI-3)
-
Mylex DAC960PU / DEC PZPAC (Wide Ultra SCSI-3)
-
Mylex AcceleRAID 150 (DAC960PRL) (Wide Ultra2 SCSI)
-
Mylex AcceleRAID 250 (DAC960PTL1) (Wide Ultra2 SCSI)
-
Mylex eXtremeRAID 1100 (DAC1164P) (Wide Ultra2 SCSI)
-
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)
Diagnostics
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 removed.
- 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 configured.
- 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; initialisation 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
-
Creation of the system drive instances failed; attachment of one or more system drives may have been aborted.
- mlxd%d: detaching...
-
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 cannot be detached.
- mlx%d: flushing cache...
-
The controller cache is being flushed prior to detach or shutdown.
Operational diagnostics:
- 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 started/completed.
- 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 commands or in the driver.
Releases
70 releases since FreeBSD 4.0-RELEASE; the text changed 45 times.