SOFTPAQ NUMBER: N/A PART NUMBER: N/A FILE NAME: cpq_cciss_2.4.30-rh7.2.dd.gz TITLE: Driver diskette image for Compaq Linux driver for the Smart Array 5i, 5300 Series for Red Hat Linux 7.2 VERSION: 2.4.30-1 LANGUAGE: English CATEGORY: Storage Controllers DIVISIONS: N/A PRODUCTS AFFECTED: ProLiant DL760 All Models ProLiant DL580 (667-1000MHz) ProLiant DL380 G2 (1133MHz+), (667-1000MHz) ProLiant DL380 Packaged Cluster G2 (1266MHz) ProLiant DL360 G2 (1400MHz+), (667-1266MHz) ProLiant DL320 All Models ProLiant ML750 All Models ProLiant ML570 (667-1000MHz) ProLiant ML530 (667-1000MHz) ProLiant ML370 G2 (1133MHz+), (667-1000MHz) ProLiant ML350 G2 (1133MHz+), (700MHz -1GHz) ProLiant ML330e All Models ProLiant ML330 G2 (1000MHz+), (667-999MHz) ProLiant 8500 All Models ProLiant 8000 All Models OPERATING SYSTEM: Red Hat Linux 7.2 SYSTEM CONFIGURATION: All shipping configurations PREREQUISITES: N/A EFFECTIVE DATE: May 07, 2002 ELECTRONIC DISTRIBUTION ALLOWED: Yes SOFTPAQ UTILITY VERSION: N/A SUPERSEDES: SP14399.tar.gz DESCRIPTION: This driver diskette image provides the binary driver module pre-built for Red Hat Linux 7.2 to enable Compaq Smart Array 53xx and Smart Array 5i controllers. Using this driver diskette at Red Hat Linux 7.2 installation time allows the most up-to-date driver version included in the diskette to be used, rather than default driver version contained in the Red Hat Linux 7.2 installation CD. Enhancements: * Added support for Smart Array 5312 adapter * Added SCSI tape support * Fixed problem with tape drives beyond the 16th physical LUN not appearing. * Fixed panic problem on doing fdisk on /dev/cciss/c0d0 with no physical disks * Fixed races and problems related to driver's logical volume usage counters in the area of (de)registering disks. (symptoms of problem were ACU could not register/deregister logical volumes sometimes.) * Added support for SCSI tape drives and medium changers. * Added support for dynamically adding and removing logical volumes; * Added ioctl for rescanning a disk where READ_CAPACITY failed during init, (Used in certain failover configurations). * Misc changes to geometry related ioctls. * Added GETLUNID and GETLUNINFO ioctls * Flush battery-backed cache on driver unload. * Reserve and release i/o memory ranges * Replaced use of schedule_timeout() loop with completions * Replaced use of obsolete suser() with capable() A changelog for the Smart Array 5300 Series drivers is available at: ftp://ftp.compaq.com/pub/products/drivers/linux/released/cciss/cciss_history.htm HOW TO USE: An Anaconda update for Red Hat 7.2 from Red Hat is REQUIRED to perform installation. The Red Hat URL: provides specific information about the Anaconda problems for RH7.2 The Red Hat URL: provides the link for the ANACONDA update disk needed for the driver installation Once you have downloaded the needed update, you are ready to complete your process of creating a driver diskette. There are two methods to creating the Installation Diskette: MAKING A DISKETTE UNDER MS-DOS: 1) Save the “cpq_cciss_2.4.30-rh7.2.dd.gz” file into a temporary directory. Use WINZIP to extract “cpq_ccciss_2.4.30-rh7.2.dd” from this file into the same directory 2) Use the "rawrite" utility which is included on the Red Hat Linux CD in the "dosutils" directory. First, label a blank, formatted 3.5-inch diskette as "COMPAQ Red Hat 7.2 Driver Diskette". Next, insert the diskette in the diskette drive. Then, use the following commands (assuming your COMPAQ Disk Image is at the location c: and your CD-ROM is drive d:) C:\> d:\dosutils\rawrite Enter disk image source file name: cpq_cciss_2.4.30-rh7.2.dd Enter target diskette drive: a: Please insert a formatted diskette into drive A: and press --ENTER-- : Enter MAKING A DISKETTE UNDER A LINUX-LIKE OS: 1) Save the “cpq_cciss_2.4.30-rh7.2.dd.gz” file into a temporary directory. Use GUNZIP to extract “cpq_ccciss_2.4.30-rh7.2.dd” from this file into the same directory 2) To make a diskette under Linux (or any other Linux-like operating system), you must have permission to write to the device representing a 3.5-inch diskette drive (known as /dev/fd0 under Linux) 3) First, label a blank, formatted diskette appropriately (COMPAQ Red Hat 7.2 Driver Diskette). Insert the diskette into the floppy drive, but DO NOT issue the mount command: # dd if=cpq_ccciss_2.4.30-rh7.2.dd of=/dev/fd0 bs=1440k 4) This command creates a diskette containing the image of the input file (if=cpq_ccciss_2.4.30-rh7.2.dd) to an output file (of=/dev/fd0) using the diskette size of 1440k (1.44MB). To make another diskette label that diskette, and run "dd" again, specifying the correct input file. INSTALLATION To install Linux using this COMPAQ Red Hat 7.2 Driver Diskette, boot your linux machine with your Red Hat 7.2 CD1 in your CD-ROM Drive. A menu will be displayed, prompting for your input. Type the following line of code to inform the operating system of the diskette: # linux updates dd Red Hat will prompt for the Updates Diskette and the COMPAQ Red Hat 7.2 Driver Diskette during the installation procedure. TO USE SCSI TAPE DRIVES WITH CCISS SMART ARRAY CONTROLLER 1. Add the following into /etc/init.d/cciss_tape -----8<------8<------8<-----8<------ for x in /proc/driver/cciss/* do echo "engage scsi" > $x done -----8<------8<------8<-----8<------ 2. Create a symbolic link, e.g: chmod +x /etc/init.d/cciss_tape cd /etc/rc.d ln -s S90cciss_tape ../init.d/cciss_tape 3. The script will be run automatically at boot time, or you can run it manually for the first time. 4. The tape drive(s) should then be accessible in the usual manner, e.g.: through /dev/st0, /dev/st1, etc. Work-around for Controller Number Change Your controller number MAY change after upgrading from an older version of the CCISS driver to version 2.4.5 or higher. This re-numbering is caused because version 2.4.5 of the CCISS driver started using the new PCI API provided by the 2.4 kernel. The previous PCI API provided an interface that scanned for CISS controllers by matching the specified PCI vendor/device ID. As the controllers were found for that particular vendor/device ID pair, the controller numbers were assigned. The new API now scans for ALL CISS controller at the same time. As a result, all CISS controllers are now ordered in PCI bus scan order. This is only a problem if the server has Smart Array 5300 installed and either Smart Array 5i or Smart Array 532. For example, if the server had Smart Array 5300, Smart Array 5i, and Smart Array 532 installed in the server, using the older PCI API, the driver would search for the SA5300 by specifying its PCI Vendor/Device ID and assign controller number values based on PCI bus scan order. It would then search for Smart Array 5i and Smart Array 532, they have the same PCI Vendor/Device ID, and assign controller numbers values as it found the controllers. The PCI API routines provided With the 2.4 kernel search for all PCI CCISS controllers in PCI bus scan order and assign the controller number as the controllers are found. Another example, if the server had a Smart Array 5i and a Smart Array 5300 installed, the controller order would look like this using the previous version of the CCISS driver: Smart Array 5i would be /dev/cciss/c1xxxx Smart Array 5300 would be /dev/cciss/c0xxxx After upgrading to CCISS driver version 2.4.5 or higher: Smart Array 5i would be /dev/cciss/c0xxxx Smart Array 5300 would be /dev/cciss/c1xxxx This will cause your kernel to report that it is unable to mount root because it is looking for root attached to the Smart Array 5i on /dev/cciss/c1xxxx, but it is now /dev/cciss/c0xxxx. To get your system to correctly boot again, you must modify the filesystem table file /etc/fstab and the lilo config file /etc/lilo.conf and re-run the Linux install loader, /sbin/lilo. To get the system to boot: When you get the system panic "Unable to Mount root..." two lines above it you will see a message like: VFS: Cannot open root device 6913 In this example 69 means c1 68 = c0 # controller 0 69 = c1 # controller 1 6A = c2 # controller 2 6B = c3 # controller 3 6C = c4 # controller 4 ... the 13 means d1p3 01 = d0p1 # disk 0, partition 1 02 = d0p2 # disk 0, partition 2 ... 10 = d1p0 # disk 1, partition 0 11 = d1p1 # disk 1, partition 1 12 = d1p2 # disk 1, partition 2 13 = d1p3 # disk 1, partition 3 ... 1) when lilo boots do to get lilo text mode 2) hit to get a listing of the available kernels 3) type root= In this example we want to use c0 so the new-major number is 68, our minor is still 13 and the new-kernel is cpq-2.4.7-10 cpq-2.4.7-10 root=6813 4) Checking of the filesystems will fail (because the fstab entries are wrong), you will then be prompted to "Give root password for maintenance mode". Enter your root password and hit 5) The / filesystem is now mounted read-only, to change the mount flags to make the filesystem writeable type: # mount -o remount rw / 6) Edit /etc/fstab and change the mount points entries. Our example /etc/fstab file contains the following text: LABEL=/ / ext2 defaults 1 1 LABEL=/home /home ext2 defaults 1 2 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 none /proc devpts gid=5,mode=620 0 0 /dev/cciss/c1d1p3 swap swap defaults 0 0 Using this example, change the /dev/cciss/c1d1p3 entry to /dev/cciss/c0d1p3. Make sure you search the whole list.. swap is usually at the bottom. 7) Mount all the other filesystems that are listed in your corrected /etc/fstab file with the mountall option to mount. # mount -a 8) Edit the lilo configuration file /etc/lilo.conf to specify the device that contains the master boot record and the device that should be mounted as root. The options are labled "boot=" and "root=" respectively. Our example lilo.conf file contains the following text: boot=/dev/cciss/c1d0 map=/boot/map prompt message=/boot/message default=linux image=/boot/vmlinuz-2.4.7-10 label=linux read-only root=/dev/cciss/c1d1p3 image=/boot/fdfs label=cpq-2.4.7-10 read-only root=/dev/cciss/c1d1p3 Specify the correct boot device by changing the boot=/dev/cciss/c1d0 entry to boot=/dev/cciss/c0d0. In this example the new kernel has the label "cpq-2.4.7-10". Locate the root= entry line in this section and change the root=/dev/cciss/c1d1p3 entry to root=/dev/cciss/c0d1p3. 9) run /sbin/lilo. You should not get any errors out of lilo. If you do, you have missed the new kernel entry. # lilo Added linux * Added cpq-2.4.7-10 10) Reboot and your system will now come up normally on the new kernel. Feedback -------- To provide kernel/driver development feedback send email to cciss-discuss@lists.sourceforge.net For support for Compaq Smart Array controllers, please send email to support@compaq.com.