|
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. HP does
supply binary RPMs and driver diskettes (for loading
drivers during OS installation) for supported Linux distributions
on hp.com.
See these search results from hp.com.
You can use these if you have a supported distribution
running a supported kernel.
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 cciss.spec
file in /usr/src/redhat/SPECS,
for instance on Redhat's distribution. (Your distribution may differ.)
Change to this directory, and execute:
cd /usr/src/redhat/SPECS
rpmbuild -bb cciss.spec
This will create the binary RPM in, for instance,
/usr/src/redhat/RPMS/`arch` directory. (Your distribution
may differ.)
This binary RPM may then be installed in the usual way, 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:
- Create a directory and unpack the tarball.
[scameron@quandary somedir]$ mkdir cciss-3.6.14
[scameron@quandary somedir]$ cd cciss-3.6.14
[scameron@quandary cciss-3.6.14]$ tar xzvf ../cciss-3.6.14.tar.gz
configure
Documentation/
Documentation/mkdev.cciss
Documentation/cciss.txt
Documentation/rmdev_dyn.cciss
Documentation/mkdev_dyn.cciss
drivers/
drivers/block/
drivers/block/cciss_cmd.h
drivers/block/cciss.h
drivers/block/cciss_scsi.c
drivers/block/cciss.c
drivers/block/cciss_scsi.h
drivers/block/Makefile
include/
include/linux/
include/linux/cciss_ioctl.h
INSTALL
--> MAKEFILE
Makefile_redhat
Makefile_suse
--> README
RELEASE
UNINSTALL
The source tarballs are copies of what is used by the source RPMs.
In fact, you could extract the source tarballs from the source
RPMs by using rpm2cpio.
- Read the README file for information
about how the tarball is used in the source RPM.
- Read
MAKEFILE1 for further instructions on building the driver
from the tarball without any involvement of RPMs.
1Yes, I know MAKEFILE is traditionally one of the
names of files that the make command usually reads.
In this case, it is just a text file, documentation, meant for
human consumption.
Downloads
CCISS 4.6 tarballs
CCISS 4.6 source rpms
CCISS 4.6 source deb
|
Last updated Thu Oct 29, 2009 latest version is 4.6.20-22
These are meant for 2.6.26 or later kernels (typically, SuSE SLES11, etc.)
|
CCISS 3.6 source RPMs
CCISS 3.6 source tarballs
CCISS 3.6 kdump source RPMs
CCISS 3.6 kdump source tarballs
|
Use these for systems using 2.6 kernels later than about 2.6.15.
From 2.6.11 to 2.6.15 is kind of a gray area during which some kernel
interfaces the driver relies upon were in flux.
Last updated Fri Oct 18, 2009
latest version is 3.6.20-20
Changes since 3.6.20-16:
Changes since 3.6.18-17:
- Fixed bug where deleting logical volumes could hang the system.
- Fixed a memory leak in rebuild_lun_table code.
- Fixed a panic that could arise during an insmod and rmmod of the cciss driver.
- Fix procfs regression. This patch will get called only once for each
controller. The earlier fix would be called anytime something changed.
- Fixed wrong usage of a pointer for sysfs symlink.
- Fix firmware version not being printed in procfs.
- Fixed sysfs link issue.
- Added check_unit_attention() to catch UA's on MSA2000. The function
prints a message then retries the command that returned with a unit
attention.
- Fixed a bug found by the L1 test suite. The system would panic when deleting many logical volumes at one time.
- Removed unneeded lock in sysfs code.
- Updated rebuild_lun_table to avoid pulling a logical volume out from under
acuxe or hpacucli.
- Cleaned up code for adding and removing logical
volumes.
- Mkinitrd has changed on rhel5u1 and higher systems. It can no longer find
the rhel5 base media cciss driver following an uninstalled of an HP cciss rpm.
Without this fix the system will panic on reboot when the HP cciss rpm has been
uninstalled.
- Fixed race condition that could show up during driver init.
- Fixed "out of memory" error introduced in the 2.6.20-4 aand 3.6.20-4
drivers
- Added 1024 lun support.
OS distros with warnings.
- Added a procfs interface so users can tell the driver to rescan our
devices. Needed for MSA2012 support since MSA2012 does not report
configuration changes back to the driver.
- Added dynamic outstanding command turning on a per controller basis.
|
CCISS 2.6 source RPMs
CCISS 2.6 source tarballs
|
Use these for 2.6 kernel up to about 2.6.11.
RHEL 4.x and SLES 9.x are
examples of systems based upon such kernels.
From kernels 2.6.11 to 2.6.15 is kind of a gray area during
which some kernel interfaces the driver relies upon were in flux.
Last updated Tue Oct 16, 2009
latest version is 2.6.20-23
Changes since 2.6.20-16
Changes since 2.6.18-16
- Fixed bug where deleting logical volumes could hang the system.
- Fixed issue where ACU would hang after several operations.
- Fixed a panic that could arise during an insmod and rmmod of the cciss
driver.
- Changed kzalloc back to kmalloc + memset to continue support for older
OS version.
- Fix procfs regression. This patch will get called only once for each
controller. The earlier fix would be called anytime something changed.
- Fixed wrong usage of a pointer for sysfs symlink.
- Fix firmware version not being printed in procfs.
- Fixed issue where controllers that had no configured volumes did not
show up in the OS.
- Fixed sysfs link issue.
- Added check_unit_attention() to catch UA's on MSA2000. The function
prints a message then retries the command that returned with a unit
attention.
- Updated rebuild_lun_table to avoid pulling a logical volume out from
under acuxe or hpacucli.
- Cleaned up code for adding and removing logical volumes.
- Fixed race condition that could show up during driver init.
- Fixed "out of memory" error introduced in the 2.6.20-4 aand 3.6.20-4
drivers
- Added 1024 lun support.
- Added dynamic outstanding command turning on a per controller basis.
|
CCISS 2.4 source RPMs
CCISS_2.4 source tarballs
|
Use these for 2.4 based kernels, such as RHEL 3.x, SLES 8
or (SuSE) United Linux 1.0. These won't work with very old kernels
such as the 2.4.7 series used by SLES 7.0, etc. |
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
Supported Hardware
- 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 6422
- Smart Array 6i
- Smart Array E200
- Smart Array E200i
- Smart Array E500
- Smart Array P212
- Smart Array P400
- Smart Array P400i
- Smart Array P410
- Smart Array P410i
- Smart Array P411
- Smart Array P600
- Smart Array P700m
- Smart Array P800
- Smart Array P812
- MSA 500 G2
- MSA 20
Contact:
|