hpsa − HP Smart Array SCSI driver


modprobe hpsa [ hpsa_allow_any=1 ]


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

: 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) driver. These older boards have not been tested and are not supported with hpsa, and cciss(4) 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 Utility (either hpacuxe(8) or hpacucli(8)) or the Offline ROM-based Configuration Utility (ORCA) run from the Smart Array’s option ROM at boot time.


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

HPSA-specific host attribute files in /sys

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 Configuration 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 containing preconfigured logical drives.


This attribute contains the firmware version of the Smart Array.

For example:

# cd /sys/class/scsi_host/host4
# cat firmware_revision

HPSA-specific disk attribute files in /sys

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


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


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

Supported ioctl() operations
For compatibility with applications written for the cciss(4) driver, many, but not all of the ioctls supported by the cciss(4) driver are also supported by the hpsa driver. The data structures used by these ioctls are described in the Linux kernel source file include/linux/cciss_ioctl.h.

These 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.


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


Returns driver version in three bytes encoded as:

(major_version << 16) | (minor_version << 8) |


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.


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


This page is part of release 3.69 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man−pages/.

Open Source

What is Linux - Linux is a computer operating system (OS) that is free and open-source software. The software that runs the computer and the source code used to create it are both available to you at no cost. Linux is used on games, watches, laptops, desktops and super computers. The capability to operate and create on these devices is available to you.

find - The find program searches for files that match the specified criteria and optionally executes some function on those files. Find can compare or identify files based on name, location, type, size, creation and many more attributes. find is a very useful and powerful command line utility.

Free Technology Academy - The FTA provides a virtual campus offering course modules on Free Software and Open Standards. Educational materials in the FTA are released under free licenses. FTA is constructed on a Free Software OS and utilizes Free Software and standards to deliver its services.

Harvard - MIT - Stanford - The open edX platform delivers free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses are available and include almost all major subject areas and course levels. Paid courses and certifications are also available.

ConnectED and edX - President Obama announced on November 2014, that edX and ConnectED will partner to deliver teacher training and AP courses. ConnectED is the President's initiative to enhance K-12 through the delivery of broadband access and digital content.

Competitive Advantage - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies think about open source and how open source can give you the competitive advantage.

Open Opportunity - Free and Open Source software provide unlimited potential for personal and community development. Use open source to build a career, establish a business or change the world. Learn why free software provides the greatest opportunity on the the planet today.

More Linux Commands

ExtUtils::MakeMaker::FAQ (3pm) - Frequently Asked Questions About MakeMaker
FAQs, tricks and tips for ExtUtils::MakeMaker. Module Installation How do I install a module into my home directory? If youre not the Perl administrator you pro...

perltoot (1)         - Links to information on object-oriented programming in Perl
For information on OO programming with Perl, please see perlootut and perlobj. (The above documents supersede the tutorial that was formerly here in perltoot.)...

optionRestore (3)    - restore option state from memory copy
Copy back the option state from saved memory. The allocated memory is left intact, so this routine can be called repeatedly without having to call optionSaveSta...

pam_wheel (8)        - Only permit root access to members of group wheel
The pam_wheel PAM module is used to enforce the so-called wheel group. By default it permits root access to the system if the applicant user is a member of the...

Unicode::Collate::CJK::JISX0208 (3pm) - weighting JIS KANJI for Unicode::Collate
Unicode::Collate::CJK::JISX0208 provides weightJISX0208(), that is adequate for overrideCJK of Unicode::Collate and makes tailoring of 6355 kanji ( CJK Unified...

makedeltaiso (8)     - create a deltaiso from two isos
makedeltaiso creates a deltaiso from two isos. Do not specify a device (such as /dev/dvd) for either oldiso or newiso. SEE ALSO applydeltaiso(8) AUTHOR Michael...

libsox (3)           - SoX, an audio file-format and effect library
libsox is a library of sound sample file format readers/writers and sound effects processors. It is mainly developed for use by SoX but is useful for any sound...

autoupdate (1)       - Update a configure.in to a newer Autoconf
Update each TEMPLATE-FILE if given, or configure.ac if present, or else configure.in, to the syntax of the current version of Autoconf. The original files are b...

termio (7)           - System V terminal driver interface
termio is the name of the old System V terminal driver interface. This interface defined a termio structure used to store terminal settings, and a range of ioct...

mount.cifs (8)       - mount using the Common Internet File System (CIFS)
This tool is part of the cifs-utils suite. mount.cifs mounts a Linux CIFS filesystem. It is usually invoked indirectly by the mount(8) command when using the -t...

hd (4)               - MFM/IDE hard disk devices
The hd* devices are block devices to access MFM/IDE hard disk drives in raw mode. The master drive on the primary IDE controller (major device number 3) is hda;...

sasl_server_start (3) - Begin an authentication negotiation
sasl_server_start() begins the authentication with the mechanism specified with mech. This fails if the mechanism is not supported. SASL_OK is returned if the a...

re_comp (3)          - BSD regex functions
re_comp() is used to compile the null-terminated regular expression pointed to by regex. The compiled pattern occupies a static area, the pattern buffer, which...

sane-hs2p (5)        - SANE backend for Ricoh SCSI flatbed/ADF scanners
The sane-hs2p library implements a SANE (Scanner Access Now Easy) backend that provides access to the Ricoh IS450 family of scanners. Should also work with the...

grub2-glue-efi (1)   - generate a fat binary for EFI
grub-glue-efi processes ia32 and amd64 EFI images and glues them according to Apple format. Glue 32-bit and 64-bit binary into Apple universal one. -3, --input3...