SOFTPAQ NUMBER: N/A PART NUMBER: N/A FILE NAME: cpq_cpqfc_RedHat72-2.1.1-6.i386.rpm TITLE: Linux driver for Compaq's 64-bit/66MHz Fibre Channel Host Adapter for Red Hat Linux 7.2 VERSION: 2.1.1-6 LANGUAGE: English CATEGORY: Storage 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: March 29, 2002 ELECTRONIC DISTRIBUTION ALLOWED: Yes SOFTPAQ UTILITY VERSION: N/A SUPERSEDES: N/A DESCRIPTION: This RPM Package Manager (RPM) is used to provide binary driver modules that have been pre-built for Red Hat Linux 7.2 to enable Compaq's 64-bit/66-Mhz Fibre Channel Host Adapters. This RPM provides a customer friendly approach to install a pre-built binary drivers. Enhancements: * Reinitialize Cmnd->SCp.sent_command (used to identify commands as passthrus) on calling scsi_done, since the scsi mid layer does not use (or reinitialize) this field to prevent subsequent comands from having it set incorrectly. * Revise driver to use new kernel 2.4.x PCI DMA API, instead of virt_to_bus(). (enables driver to work in systems with >2Gb RAM.) * Rework main scatter-gather code to handle cases where SG element lengths are larger than 0x7FFFF bytes and use as many scatter gather pages as necessary, limited by available kernel memory. * Makefile changes to bring cpqfc into line w/ rest of SCSI drivers (thanks to Keith Owens) * Reject non-existent luns in the driver rather than letting the hardware do it. (some HW behaves differently than others in this area.) * Change Makefile to rely on “make dep” instead of explicit dependencies ifdef’ed out fibre channel analyzer triggering debug code * Fix a jiffies wrapping issue * Incorporate fix for target device reset from Steeleye * Fix passthrough ioctl so it doesn’t hang. * Fix hang in launch_FCworker_thread() that occurred on some machines. * Avoid problem when number of volumes in a single cabinet > 8 * Change the semiphore changes so the driver would compile in 2.4.7. * Merge version 1.3.6 fixes into version 2.0.0. * Fix problem so spinlock is being initialized to UNLOCKED. * Fix updated driver so it compiles in the 2.4 tree. * Add Target_Device_Reset function for SCSI error handling * Fix problem with not resetting addressing mode after implicit logout A changelog for the Linux FC drivers is available at: ftp://ftp.compaq.com/pub/products/drivers/linux/released/cpqfc/cpqfc_history.htm IMPORTANT: Additional instructions may be viewed: rpm -q -i -p cpq_cpqfc_RedHat72-2.1.1-6.rpm | more Please read this section before proceeding. This RPM will install binary drivers that will only work with the default Red Hat Linux 7.2 kernel version and configuration that they have been built for. Earlier or later versions of Red Hat Linux are not supported. Special actions are required if you have modified the default kernel configuration that Red Hat ships for their Red Hat 7.2 product. If you have modified the default kernel configuration you will need to rebuild the kernel to use the updated drivers after installing the RPM with the --noscripts option. For directions to patch the existing driver and rebuild your kernel please refer to the Red Hat documentation. The driver patches will be available in a gzipped tar file in the /opt/compaq/storage_drivers directory after installing the RPM with the --noscripts option. The RPM will not install if it detects that your configuration is different than the Red Hat 7.2 stock configuration. HOW TO USE: 1. Login as the system administrator (root), download the RPM to a directory on your hard drive and change to that directory. 2. Prior to installing (or un-installing) the RPM, if your system is LILO-based enter the following: # export SUPPRESSGRUB=y Likewise if your system is GRUB-based, enter the following: # export SUPPRESSLILO=y On installing the RPM if the above command was not entered, the installation is initiated but will not be successfully completed (an error status is printed to the screen). The user then needs to remove the RPM (see step 8 below), enter the SUPPRESSGRUB or SUPPRESSLILO command and then re-initiate the installation process. 3. To install the driver type: # rpm -ivh cpq_cpqfc_RedHat72-2.1.1-6.i386.rpm You can expect to see a message similar to: # rpm -ihv cpq_cpqfc_RedHat72-2.1.1-6.i386.rpm Preparing... ################################################################################################### [100%] ################################################################################################### [100%] Attempting dry run first... ./install --drivers cpqfc --lilo --initrd --noskip --dry-run ---> THIS IS A DRY RUN <--- LILO_CONF = /etc/lilo.conf Kernel image is vmlinuz-2.4.7-10smp mkdir -p /usr/src/COMPAQ/driver_backup mkdir -p /usr/src/COMPAQ/driver_backup//./lib/modules/2.4.7-10/kernel/drivers/scsi cp -p /./lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o /usr/src/COMPAQ/driver_backup//./lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o Installing cpqfc for 2.4.7-10 kernel... cp -p ./lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o /./lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o done mkdir -p /usr/src/COMPAQ/driver_backup//./lib/modules/2.4.7-10smp/kernel/drivers/scsi cp -p /./lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o /usr/src/COMPAQ/driver_backup//./lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o Installing cpqfc for 2.4.7-10smp kernel... cp -p ./lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o /./lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o done /sbin/mkinitrd /boot/cpq-initrd-2.4.7-10smp.img 2.4.7-10smp Modifying /tmp/lilofile.1298, adding cpq-2.4.7-10smp Testing lilo configuration (/sbin/lilo -t). We always run /sbin/lilo -t, even for --dry-run /sbin/lilo -t -C /etc/lilo.conf > /dev/null 2>&1 lilo configuration appears OK. /sbin/lilo -t succeeded, so we would normally really run lilo at this point if it were not a dry-run The following patch would have been made to /etc/lilo.conf --- /etc/lilo.conf Mon Mar 25 10:59:08 2002 +++ /tmp/lilofile.1298 Mon Mar 25 11:09:03 2002 @@ -18,3 +18,10 @@ initrd=/boot/initrd-2.4.7-10.img read-only root=/dev/cciss/c0d0p2 + +# The following entry was added by Compaq HBA install script +image=/boot/vmlinuz-2.4.7-10smp +label=cpq-2.4.7-10smp +initrd=/boot/cpq-initrd-2.4.7-10smp.img +read-only +root=/dev/cciss/c0d0p2 ---> THIS WAS A DRY RUN <--- Dry run succeeded, installing for real... ./install --drivers cpqfc --lilo --initrd --noskip LILO_CONF = /etc/lilo.conf Kernel image is vmlinuz-2.4.7-10smp Installing cpqfc for 2.4.7-10 kernel...done Installing cpqfc for 2.4.7-10smp kernel...done /sbin/mkinitrd /boot/cpq-initrd-2.4.7-10smp.img 2.4.7-10smp Modifying /etc/lilo.conf, adding cpq-2.4.7-10smp Testing lilo configuration (/sbin/lilo -t). lilo configuration appears OK. Added linux * Added linux-up Added cpq-2.4.7-10smp Setup Is Now Complete. Please REBOOT Your Computer NOW!! NOTE: If the installation fails or if you see any warning or error messages, STOP, do NOT reboot the computer. The driver will not be operational and you must uninstall the driver by typing the following command: # rpm -e cpq_cpqfc_RedHat72-2.1.1-6 The removal of the RPM restores the original cpqfc.o module, builds a new initrd image with the previous (or no) module, and adds a new entry into /etc/lilo.conf or /boot/grub/menu.lst. You can then boot using the newest entry, or a prior known working entry. The successful installation will replace the driver that shipped with Red Hat Linux 7.2 with the 2.1.1 version of the driver, create a new Initial RAM Disk Image (initrd) that contains the 2.1.1 version of the driver and modify /etc/lilo.conf to allow the Linux Loader (lilo) to boot the new ramdisk image. The installation of this RPM modifies the following files: /etc/lilo.conf (or /boot/grub/menu.lst) /etc/lilo.conf.bak-* (backup files) /boot/grub/menu.lst.bak-* (backup files) /boot/cpq-initrd-*.img-* (initrd images) if you have multiple processors installed in your server expect: /lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o if you have a single processor server expect: /lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o Backups of your previous files will be kept in the /usr/src/COMPAQ/driver_backup directory. The driver version can be verified by typing: # grep version /proc/scsi/cpqfcTS/* Expect output similar to: Driver version = 2.1.1 4. The driver will be inserted in the Initial RAM Disk Image (initrd) and is automatically loaded every time the server boots. 5. To load the module use the insmod command. Type: # insmod cpqfc Expect the following output if you have Symmetric Multi-Processing support enabled: Using /lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o Expect the following output if you have a single processor server: Using /lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o NOTE: You will experience error messages if the Compaq's 64-bit/66MHz Fibre Channel Host Adapter is not installed. Please ensure that the hardware is installed properly. NOTE: If the hardware is properly installed and you observe error messages loading the modules, remove the entire RPM by typing: # rpm -e cpq_cpqfc_RedHat72-2.1.1-6 The removal of the RPM restores the original cpqfc.o module, builds a new initrd image with the previous (or no) module, and adds a new entry into /etc/lilo.conf or /boot/grub/menu.lst. You can then boot using the newest entry, or a prior known working entry. 6. To check whether the driver is loaded properly, type # lsmod Expect to see the module name cpqfc displayed 7. If you attempt to install the RPM on an unsupported system, you will get an error message. The driver will not be operational and must be uninstalled by typing the following command: # rpm -e cpq_cpqfc_RedHat72-2.1.1-6 8. Uninstalling the driver: 1) Uninstall using RPM by typing # rpm -e cpq_cpqfc_RedHat72-2.1.1-6 Expect to see output similar to: # rpm -e cpq_cpqfc_RedHat72-2.1.1-6 Attempting dry run first... ---> THIS IS A DRY RUN <--- LILO_CONF = /etc/lilo.conf Kernel image is vmlinuz-2.4.7-10smp mkdir -p /usr/src/COMPAQ/driver_backup Uninstalling /lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o mv /lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o /tmp/cpqfc.o.old.1732 Restoring previous cpqfc.o from backup. cp -f /usr/src/COMPAQ/driver_backup//lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o /lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o rm -f /usr/src/COMPAQ/driver_backup//lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o rm -f /tmp/cpqfc.o.old.1732 Uninstalling /lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o mv /lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o /tmp/cpqfc.o.old.1732 Restoring previous cpqfc.o from backup. cp -f /usr/src/COMPAQ/driver_backup//lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o /lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o rm -f /usr/src/COMPAQ/driver_backup//lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o rm -f /tmp/cpqfc.o.old.1732 /sbin/mkinitrd /boot/cpq-initrd-2.4.7-10smp.img-0 2.4.7-10smp Modifying /tmp/lilofile.1732, adding cpq-2.4.7-10smp-0 Testing lilo configuration (/sbin/lilo -t). We always run /sbin/lilo -t, even for --dry-run /sbin/lilo -t -C /etc/lilo.conf > /dev/null 2>&1 lilo configuration appears OK. /sbin/lilo -t succeeded, so we would normally really run lilo at this point if it were not a dry-run The following patch would have been made to /etc/lilo.conf --- /etc/lilo.conf Mon Mar 25 11:09:06 2002 +++ /tmp/lilofile.1732 Mon Mar 25 11:10:34 2002 @@ -25,3 +25,10 @@ initrd=/boot/cpq-initrd-2.4.7-10smp.img read-only root=/dev/cciss/c0d0p2 + +# The following entry was added by Compaq HBA install script +image=/boot/vmlinuz-2.4.7-10smp +label=cpq-2.4.7-10smp-0 +initrd=/boot/cpq-initrd-2.4.7-10smp.img-0 +read-only +root=/dev/cciss/c0d0p2 ---> THIS WAS A DRY RUN <--- ./uninstall --drivers cpqfc --lilo --initrd --noskip --dry-run Dry run succeeded, uninstalling for real... ./uninstall --drivers cpqfc --lilo --initrd --noskip LILO_CONF = /etc/lilo.conf Kernel image is vmlinuz-2.4.7-10smp Uninstalling /lib/modules/2.4.7-10/kernel/drivers/scsi/cpqfc.o Restoring previous cpqfc.o from backup. Uninstalling /lib/modules/2.4.7-10smp/kernel/drivers/scsi/cpqfc.o Restoring previous cpqfc.o from backup. /sbin/mkinitrd /boot/cpq-initrd-2.4.7-10smp.img-0 2.4.7-10smp Modifying /etc/lilo.conf, adding cpq-2.4.7-10smp-0 Testing lilo configuration (/sbin/lilo -t). Modifying default lilo entry /sbin/lilo -t -C /etc/lilo.conf > /dev/null 2>&1 lilo configuration appears OK. Added linux Added linux-up Added cpq-2.4.7-10 Added cpq-2.4.7-10-0 * Feedback -------- To provide kernel/driver development feedback send email to cpqfc-discuss@lists.sourceforge.net Customer Service -------- For support for Compaq Smart Array controllers, please send email to support@compaq.com. Copyright 2002, Compaq Computer Corporation. All rights reserved. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies