NAME

mly - Mylex AcceleRAID/eXtremeRAID family driver

SYNOPSIS

mly* at pci? dev ? function ? scsibus* at mly?

DESCRIPTION

The mly driver provides support for Mylex AcceleRAID and eXtremeRAID family of PCI to SCSI RAID controllers with version 6.00 and later firmware. Supported controllers include:

Compatible Mylex controllers not listed should work, but have not been tested.

Logical devices (disk arrays) attached to the controller are presented to the SCSI subsystem as though they were direct-access devices on a virtual SCSI bus. Physical devices which are not claimed by a logical device are presented on SCSI channels which match the physical channels on the controller.

The results of the SCSI ``INQUIRY'' command from logical devices are overwritten with status information by the mly driver. The vendor field is the string ``MYLEX'', the product field indicates the type of logical device, and the revision field contains a four letter status code. The possible status codes and their meanings are as follows:

OFLN
offline
UNCF
unconfigured
ONLN
online - optimal
CRIT
critical - one or more disks in the array has failed
NORD
write only
STBY
standby
MISS
missing

DIAGNOSTICS

Controller initialization phase

mly%d: controller initialization started

mly%d: initialization complete

The controller firmware has started initialization. Normally this process is performed by the controller BIOS, but the driver may need to do this in cases where the BIOS has failed, or is not compatible (e.g. on non-x86 systems).

mly%d: drive spinup in progress

Drive startup is in progress; this may take several minutes.

mly%d: mirror race recovery failed, one or more drives offline

mly%d: mirror race recovery in progress

mly%d: mirror race recovery on a critical drive

These error codes are undocumented.

mly%d: FATAL MEMORY PARITY ERROR

Firmware detected a fatal memory error; the driver will not attempt to attach to this controller.

mly%d: unknown initialization code %x

An unknown error occurred during initialization; it will be ignored.

Operational diagnostics

mly%d: physical device %d:%d online

mly%d: physical device %d:%d standby

mly%d: physical device %d:%d automatic rebuild started

mly%d: physical device %d:%d manual rebuild started

mly%d: physical device %d:%d rebuild completed

mly%d: physical device %d:%d rebuild cancelled

mly%d: physical device %d:%d rebuild failed for unknown reasons

mly%d: physical device %d:%d rebuild failed due to new physical device

mly%d: physical device %d:%d rebuild failed due to logical drive failure

mly%d: physical device %d:%d found

mly%d: physical device %d:%d gone

mly%d: physical device %d:%d unconfigured

mly%d: physical device %d:%d expand capacity started

mly%d: physical device %d:%d expand capacity completed

mly%d: physical device %d:%d expand capacity failed

mly%d: physical device %d:%d parity error

mly%d: physical device %d:%d soft error

mly%d: physical device %d:%d miscellaneous error

mly%d: physical device %d:%d reset

mly%d: physical device %d:%d active spare found

mly%d: physical device %d:%d warm spare found

mly%d: physical device %d:%d initialization started

mly%d: physical device %d:%d initialization completed

mly%d: physical device %d:%d initialization failed

mly%d: physical device %d:%d initialization cancelled

mly%d: physical device %d:%d write recovery failed

mly%d: physical device %d:%d scsi bus reset failed

mly%d: physical device %d:%d double check condition

mly%d: physical device %d:%d device cannot be accessed

mly%d: physical device %d:%d gross error on scsi processor

mly%d: physical device %d:%d bad tag from device

mly%d: physical device %d:%d command timeout

mly%d: physical device %d:%d system reset

mly%d: physical device %d:%d busy status or parity error

mly%d: physical device %d:%d host set device to failed state

mly%d: physical device %d:%d selection timeout

mly%d: physical device %d:%d scsi bus phase error

mly%d: physical device %d:%d device returned unknown status

mly%d: physical device %d:%d device not ready

mly%d: physical device %d:%d device not found at startup

mly%d: physical device %d:%d COD write operation failed

mly%d: physical device %d:%d BDT write operation failed

mly%d: physical device %d:%d missing at startup

mly%d: physical device %d:%d start rebuild failed due to physical drive too small

mly%d: physical device %d:%d sense data received

mly%d: sense key %d asc %02x ascq %02x

mly%d: info %4D csi %4D

mly%d: physical device %d:%d offline

mly%d: sense key %d asc %02x ascq %02x

mly%d: info %4D csi %4D

The reported event refers to the physical device at the given channel:target address.

mly%d: logical device %d:%d consistency check started

mly%d: logical device %d:%d consistency check completed

mly%d: logical device %d:%d consistency check cancelled

mly%d: logical device %d:%d consistency check completed with errors

mly%d: logical device %d:%d consistency check failed due to logical drive failure

mly%d: logical device %d:%d consistency check failed due to physical device failure

mly%d: logical device %d:%d automatic rebuild started

mly%d: logical device %d:%d manual rebuild started

mly%d: logical device %d:%d rebuild completed

mly%d: logical device %d:%d rebuild cancelled

mly%d: logical device %d:%d rebuild failed for unknown reasons

mly%d: logical device %d:%d rebuild failed due to new physical device

mly%d: logical device %d:%d rebuild failed due to logical drive failure

mly%d: logical device %d:%d offline

mly%d: logical device %d:%d critical

mly%d: logical device %d:%d online

mly%d: logical device %d:%d initialization started

mly%d: logical device %d:%d initialization completed

mly%d: logical device %d:%d initialization cancelled

mly%d: logical device %d:%d initialization failed

mly%d: logical device %d:%d found

mly%d: logical device %d:%d gone

mly%d: logical device %d:%d expand capacity started

mly%d: logical device %d:%d expand capacity completed

mly%d: logical device %d:%d expand capacity failed

mly%d: logical device %d:%d bad block found

mly%d: logical device %d:%d size changed

mly%d: logical device %d:%d type changed

mly%d: logical device %d:%d bad data block found

mly%d: logical device %d:%d read of data block in bdt

mly%d: logical device %d:%d write back data for disk block lost

The reported event refers to the logical device at the given channel:target address.

mly%d: enclosure %d fan %d failed

mly%d: enclosure %d fan %d ok

mly%d: enclosure %d fan %d not present

mly%d: enclosure %d power supply %d failed

mly%d: enclosure %d power supply %d ok

mly%d: enclosure %d power supply %d not present

mly%d: enclosure %d temperature sensor %d failed

mly%d: enclosure %d temperature sensor %d critical

mly%d: enclosure %d temperature sensor %d ok

mly%d: enclosure %d temperature sensor %d not present

mly%d: enclosure %d unit %d access critical

mly%d: enclosure %d unit %d access ok

mly%d: enclosure %d unit %d access offline

These events refer to external enclosures by number. The driver does not attempt to name the enclosures.

mly%d: controller cache write back error

mly%d: controller battery backup unit found

mly%d: controller battery backup unit charge level low

mly%d: controller battery backup unit charge level ok

mly%d: controller installation aborted

mly%d: controller mirror race recovery in progress

mly%d: controller mirror race on critical drive

mly%d: controller memory soft ecc error

mly%d: controller memory hard ecc error

mly%d: controller battery backup unit failed

These events report controller status changes.

SEE ALSO

cd(4), ch(4), intro(4), mlx(4), scsi(4), sd(4), st(4), scsictl(8)

HISTORY

The mly driver first appeared in NetBSD1.6, and was based on the FreeBSD driver of the same name.

BUGS

The mly driver currently assumes that all busses support at most 16 targets and 1 logical unit per target.

Enclosures are not named or otherwise identified in event messages.

The transfer speed for devices is always reported to the kernel as 20MHz.