# hpsa - HP Smart Array SCSI driver - man(4) - [phpMan]

[_hpsa_(4)](https://www.chedong.com/phpMan.php/man/hpsa/4/markdown)                               Kernel Interfaces Manual                               [_hpsa_(4)](https://www.chedong.com/phpMan.php/man/hpsa/4/markdown)

## 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 to allow installation of
       operating systems from media that 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**(4)](https://www.chedong.com/phpMan.php/man/cciss/4/markdown) driver.
       These older boards have not been tested and are not supported with **hpsa**, and [**cciss**(4)](https://www.chedong.com/phpMan.php/man/cciss/4/markdown)  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

       Since Linux 4.14, the following Smart Array boards are also supported:

           Smart Array 5300
           Smart Array 5312
           Smart Array 532
           Smart Array 5i
           Smart Array 6400
           Smart Array 6400 EM
           Smart Array 641
           Smart Array 642
           Smart Array 6i
           Smart Array E200
           Smart Array E200i
           Smart Array E200i
           Smart Array E200i
           Smart Array E200i
           Smart Array E500
           Smart Array P400
           Smart Array P400i
           Smart Array P600
           Smart Array P700m
           Smart Array P800

### Configuration details
       To  configure  HP  Smart  Array  controllers,  use the HP Array Configuration Utility (either
       [**hpacuxe**(8)](https://www.chedong.com/phpMan.php/man/hpacuxe/8/markdown) or [**hpacucli**(8)](https://www.chedong.com/phpMan.php/man/hpacucli/8/markdown)) 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**(4)](https://www.chedong.com/phpMan.php/man/sd/4/markdown)), tape drives via the  SCSI  tape
       driver  ([**st**(4)](https://www.chedong.com/phpMan.php/man/st/4/markdown)),  and  the  RAID  controller via the SCSI generic driver ([**sg**(4)](https://www.chedong.com/phpMan.php/man/sg/4/markdown)), 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_
              This 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 a rescan is triggered automatically by HP's Array Configu‐
              ration  Utility  (either the GUI or the command-line variety); thus, for logical drive
              changes, the user should not normally have to use this attribute.  This attribute  may
              be useful when hot plugging devices like tape drives, or entire storage boxes contain‐
              ing preconfigured logical drives.

       _/sys/class/scsi_host/host*/firmware_revision_
              This attribute contains the firmware version of the Smart Array.

              For example:

                  # **cd /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_
              This attribute contains a 32 hex-digit unique ID for each logical drive.

              For example:

                  # **cd /sys/class/scsi_disk/4:0:0:0/device**
                  # **cat unique_id**
                  600508B1001044395355323037570F77

       _/sys/class/scsi_disk/c:b:t:l/device/raid_level_
              This attribute contains the RAID level of each logical drive.

              For example:

                  # **cd /sys/class/scsi_disk/4:0:0:0/device**
                  # **cat raid_level**
                  RAID 0

       _/sys/class/scsi_disk/c:b:t:l/device/lunid_
              This  attribute  contains the 16 hex-digit (8 byte) LUN ID by which a logical drive or
              physical device can be addressed.  _c_:_b_:_t_:_l_ are the controller, bus, target, and lun of
              the device.

       For example:

                  # **cd /sys/class/scsi_disk/4:0:0:0/device**
                  # **cat lunid**
                  0x0000004000000000

### Supported ioctl() operations
       For compatibility with applications written for the [**cciss**(4)](https://www.chedong.com/phpMan.php/man/cciss/4/markdown) driver, many, but not all of the
       ioctls supported by the [**cciss**(4)](https://www.chedong.com/phpMan.php/man/cciss/4/markdown) driver are also supported by  the  **hpsa  **driver.   The  data
       structures  used  by  these  ioctls  are  described  in  the  Linux  kernel  source  file _in‐_
       _clude/linux/cciss_ioctl.h_.

       **CCISS_DEREGDISK**
       **CCISS_REGNEWDISK**
       **CCISS_REGNEWD**
              These three ioctls all do exactly the same thing, which is to cause the driver to res‐
              can 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, and so
              on.  See _cciss_vol_status_ at [<http://cciss.sf.net>](<http://cciss.sf.net>) for some examples.

## SEE ALSO
       [**cciss**(4)](https://www.chedong.com/phpMan.php/man/cciss/4/markdown), [**sd**(4)](https://www.chedong.com/phpMan.php/man/sd/4/markdown), [**st**(4)](https://www.chedong.com/phpMan.php/man/st/4/markdown), [**cciss_vol_status**(8)](https://www.chedong.com/phpMan.php/man/ccissvolstatus/8/markdown), [**hpacucli**(8)](https://www.chedong.com/phpMan.php/man/hpacucli/8/markdown), [**hpacuxe**(8)](https://www.chedong.com/phpMan.php/man/hpacuxe/8/markdown)

       [<http://cciss.sf.net>](<http://cciss.sf.net>),    and    _Documentation/scsi/hpsa.txt_    and     _Documentation/ABI/test‐_
       _ing/sysfs-bus-pci-devices-cciss_ in the Linux kernel source tree

Linux man-pages 6.7                          2023-10-31                                      [_hpsa_(4)](https://www.chedong.com/phpMan.php/man/hpsa/4/markdown)
