HPSA(4)

NAME
hpsa - HP Smart Array SCSI driver

SYNOPSIS
modprobe hpsa [ hpsa_allow_any=1 ]

DESCRIPTION
hpsa is a SCSI driver for HP Smart Array RAID controllers.

OPTIONS

hpsa_allow_any=1 This option allows the driver to attempt to operate on any HP Smart Array hardware RAID controller even if it is not explicitly known to the driver. This allows newer hardware to work with older drivers. Typically this is used for example to allow installation of OSes from media which predates the RAID controller though it may also be used to enable hpsa to drive older controllers that would normally be handled by the cciss driver. These older boards have not been tested and are not supported with hpsa and cciss should still be used for these.

SUPPORTED HARDWARE
The hpsa driver supports the following Smart Array boards:
Smart Array P700M
Smart Array P212
Smart Array P410
Smart Array P410i
Smart Array P411
Smart Array P812
Smart Array P712m
Smart Array P711m
StorageWorks P1210m

CONFIGURATION DETAILS
To configure HP Smart Array controllers, use the HP Array Configuration Utiltiy (either hpacuxe or hpacucli) or the Offline ROM-based Configuration Utility (ORCA) run from the Smart Array's option ROM at boot time.

FILES

  DEVICE NODES
Logical drives are accessed via the SCSI disk driver (sd), tape drives via the SCSI tape driver (st), and the RAID controller vi the SCSI generic driver (sg), with device nodes named /dev/sd*, /dev/st*, and /dev/sg*, respectively.

  HPSA SPECIFIC HOST ATTRIBUTE FILES IN /sys

/sys/class/scsi_host/host*/rescan the host "rescan" attribute is a write only attribute. Writing to this attribute will cause the driver to scan for new, changed, or removed devices (e.g. hot-plugged tape drives, or newly configured or deleted logical drives, etc.) and notify the SCSI midlayer of any changes detected. Normally this is triggered automatically by HP's Array Configuration Utility (either the GUI or command line variety) so for logical drive changes, the user should not normally have to use this. It may be useful when hot plugging devices like tape drives, or entire storage boxes containing pre-configured logical drives.

/sys/class/scsi_host/host*/firmware_revision The "firmware_revision" attribute contains the firmware version of the Smart Array. For example:
	root@host:/sys/class/scsi_host/host4# cat firmware_revision
	7.14

  HPSA SPECIFIC DISK ATTRIBUTE FILES IN /sys

/sys/class/scsi_disk/c:b:t:l/device/unique_id contains a 32 hex-digit unique ID for each logical drive
For example:
        root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id
        600508B1001044395355323037570F77

/sys/class/scsi_disk/c:b:t:l/device/raid_level contains the RAID level of each logical drive.
For example:
        root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level
        RAID 0

/sys/class/scsi_disk/c:b:t:l/device/lunid (where c:b:t:l are the controller, bus, target and lun of the device) contains 16 hex-digit (8 byte) LUN ID by which a logical drive or physical device can be addressed.
For example:
        root@host:/sys/class/scsi_disk/4:0:0:0/device# cat lunid
        0x0000004000000000

SUPPORTED IOCTLS
For compatibility with applications written for the cciss driver, many, but not all of the ioctls supported by the cciss driver are also supported by the hpsa driver. The data structures used by these are described in include/linux/cciss_ioctl.h

CCISS_DEREGDISK CCISS_REGNEWDISK CCISS_REGNEWD The above three ioctls all do exactly the same thing, which is to cause the driver to rescan for new devices. This does exactly the same thing as writing to the hpsa specific host "rescan" attribute.

CCISS_GETPCIINFO Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID).

CCISS_GETDRIVVER Returns driver version in three bytes encoded as: (major_version << 16) | (minor_version << 8) | (subminor_version)

CCISS_PASSTHRU CCISS_BIG_PASSTHRU Allows "BMIC" and "CISS" commands to be passed through to the Smart Array. These are used extensively by the HP Array Configuration Utility, SNMP storage agents, etc. See cciss_vol_status at http://cciss.sf.net for some examples.

SEE ALSO
cciss(4), hpacucli(8), sd(4), st(4), hpacuxe(8), cciss_vol_status(8), http://cciss.sf.net, and from the linux kernel source, Documentation/scsi/hpsa.txt and Documentation/ABI/testing/sysfs-bus-pci-devices-cciss

AUTHORS
Don Brace, Steve Cameron, Tom Lawler, Mike Miller, Scott Teel and probably some other people.