HP Smart Array CCISS driver |
|
|
Here you will find source RPMs and source tarballs for the cciss driver for HP's Smart Array line of hardware RAID controllers. Most likely, you do not need these, as the cciss driver has been in the Linux kernel for a very long time, and most distributions will already have a cciss driver which will work for you as is. From time to time there may be instances in which hardware or driver features are not supported by the cciss driver which comes with your distribution or kernel, because it is too old, or the hardware is too new, etc. In these instances you may wish to try the source RPMs or tarballs provided here. If you are looking for binary RPMs or driver diskette images We do not supply any binary RPMs from this page. HPE does supply binary RPMs and driver diskettes (for loading drivers during OS installation) for supported Linux distributions on hpe.com. See these search results from hpe.com. You can use these if you have a supported distribution running a supported kernel. News 5/29/2018 1/15/2016 9/4/2014 The cciss driver has been removed from RHEL7 and SLES12. If you really want cciss on RHEL7 checkout the elrepo directory. A new Smart Array driver called "hpsa" has been accepted into the main line linux kernel as of Dec 18, 2009, in linux-2.6.33-rc1. This new driver will support new Smart Array products going forward, and the cciss driver will eventually be deprecated. Initially, there was some overlap in the boards which these two drivers support. The current list of supported controllers for hpsa:
Some development versions (2.6.33-rc1 up to 2.6.36-ish) of the linux kernel (as of Jan 8, 2009) on kernel.org have cciss and hpsa drivers which currently both support some Smart Array controllers. That is, there are some kernels which have overlapping sets of controllers supported by both hpsa and cciss. The intent with newer kernels (2.6.36-ish) is to remove this overlap so the sets of controllers supported by hpsa and cciss are disjoint. The current list of controllers that are supported by cciss only:
The following list of controllers are supported by cciss on distributions based on kernels before 2.6.33:
In the case of kernels with cciss and hpsa drivers which do have overlapping sets of supported controllers, by default, cciss will claim these devices if it is loaded prior to hpsa (which it normally will be). If you're already running cciss on these devices, and upgrade to a kernel containing the hpsa driver, you shouldn't have to do anything, as cciss will continue to claim these devices. If you would like to run hpsa instead, there is a new module parameter to cciss, "cciss.cciss_allow_hpsa=1", which will cause the cciss driver to ignore the controllers on the above list, which will permit the hpsa driver to claim those devices. NOTE: The hpsa driver is a SCSI driver, while the cciss driver is a block driver. This means that logical drives which would be presented with devices nodes like "/dev/cciss/c0d0", etc. will now be presented as "/dev/sda", etc. This means that if you are currently using cciss with the above controllers and decide to switch to hpsa, you've got to adjust your /etc/fstab, grub configuration files, etc. to make this work. For a new install of a distribution using the hpsa driver, the "cciss.cciss_allow_any=1" boot parameter should allow hpsa to be used easily. If you've been using cciss already on these controllers, it is not recommended that you attempt to upgrade your running system to switch from cciss to hpsa unless you have a very good reason to do so and know what you are doing. This is simply because making the switch is somewhat complex and it is easy to make a mistake or forget something and get your system into an unbootable state. With all the various distributions, it is difficult to come up with a set of bulletproof universal instructions for making such a switch, so we recommend that you simply continue to use cciss in such instances. Hpsa should be fine for new installs on these controllers, however. The cciss driver previously contained a feature which would enable it by default to run on Smart Array controllers which it did not explicitly recognize except so far as to be able to determine that they were some sort of Smart Array. This feature has been removed, as any Smart Arrays not known to cciss are now presumed to be claimed by the hpsa driver. The hpsa driver has the ability to claim unknown Smart Arrays, however this is turned off by default so that it does not try to claim older controllers meant to be claimed by the cciss driver. To enable this feature of hpsa, the module parameter hpsa.hpsa_allow_any=1 can be used. The usual HP utilities, ACU, the SNMP storage agents, and cciss_vol_status should also work with hpsa. There may be other software designed to work with cciss (e.g. Arrayprobe) which may need modifications to work with the hpsa driver. The hpsa driver is available in the kernel.org kernels, and in RHEL6 by default, and in SLES11 (but not by default). Source RPMs: You may try to use these to build a binary RPM. To install, download the RPM file, and use rpm -ihv rpmfile This will deposit the cd /usr/src/redhat/SPECS rpmbuild -bb cciss.spec This will create the binary RPM in, for instance,
rpm -ihv cpq_cciss-2.6.14-7.ia64.rpm Note: The binary RPMs produced by the source RPMs here are a greatly simplified version of the binary RPMs distributed by HP. The binary RPMs distributed by HP do many things like modifying grub configuration files or lilo.conf as needed, modifying /etc/modules.conf, etc. The binary RPMs created by the source RPMs here do not do these things, they only build the driver module and initrd image. It is up to you to make any changes to your grub or lilo configuration files and /etc/modules.conf (or modprobe.conf) files as needed. Oct 4, 2007: Note: There has been a report that sometimes the OS supplied /sbin/mkinitrd script used by the RPM will get the wrong cciss.*.ko file out of /lib/modules/`uname -r`/kernel/drivers/block and put it in the initrd image. So far, I haven't had any luck duplicating this problem. Source DEBs: Debian source package copies cciss files to /var/hp/storage/cciss directory and builds cciss module against installed kernel's source. It is required to have kernel source code available at /usr/src/linux-x.x.xx. If necessary, deb package will compile kernel as well. To install, download Debian cciss source package (.deb file) and issue following command prompt>dpkg -i hpcciss-src-x_x_xx.deb This will copy cciss source files to /var/hp/storage/cciss directory and build cciss module binary against installed kernel. Newly built cciss driver will be placed under /var/hp/storage/cciss, if build is successful. Note: Debian package is greatly simplified. It neither modifies bootloader (grub or lilo.conf) configuration files, nor modify /etc/modules.conf, nor build initrd. Debian package only builds binary cciss module. It is up to the user to make any changes to bootloader configuration files, /etc/modules.conf (or modprobe.conf) files and initrd as needed. Source tarballs: NOTICE: the source tarballs do not create a single parent directory, so it is up to you do so yourself. To build the source tarballs:
Downloads
Changes since 3.6.28-6:
Changes since 3.6.20-20:
Changes since 3.6.20-16:
Changes since 3.6.18-17:
Changes since 2.6.20-16
Changes since 2.6.18-16
BTW, if you happen across a 2.6.12 version of the cciss driver,
or patches to bring the driver up to 2.6.12, don't use them as this
version will hang. (You'll find out soon enough if you do try to
use it.) There are newer versions. Use those instead.
Hardware/Firmware Documentation
CCISS Utilities
Here's the man page.. This program is
licensed under the Gnu GPL v. 2.
Supported Hardware
|