HP QLA 8.x Driver Kit ===================== This RPM contains the driver and associated utilities to deploy the HP supported QLogic Linux driver on 2.6 kernel based systems. Supported Adapters ------------------ The following adapters are supported with this driver kit: Adapter Supported Architectures FCA2214 x86, x86_64 FCA2214DC x86, x86_64 bl20p Mezzanine Card x86 bl25p Mezzanine Card x86_64 bl30p Balcony Card x86 bl35p Balcony Card x86_64 A6826A ia64 A7538A ia64 AE311A x86, x86_64 AE312A x86, x86_64 Supported Distributions ----------------------- The following Linux distributions are supported with this driver kit: Distribution Architectures SUSE Linux Enterprise Server 9 Service Pack 1 or later i386, ia64, x86_64 Red Hat Enterprise Linux 4 i386, ia64, x86_64 Kit Contents ------------ The hp_qla2x00src and hp_qla2x00 RPM contains the following scripts and files in the /opt/hp/src/hp_qla2x00src or /opt/hp/hp_qla2x00 directories respectively in addition to the driver source code. condition_kernel Sets the kernel source dependencies to reflect the current running kernel or the specified kernel *build_driver Builds the QLA driver from source code edit_conf Makes the proper edits to system configuration files to imbed the qla2200 and qla2300 modules in the initrd with the proper driver load time parameters make_initrd Builds a new initrd using the correct system utilities set_parm Sets up the /etc/hp_qla2x00.conf file so that it has the correct driver settings based upon the configuration that the user wants to run and rebuilds the initrd *master.sh Runs the condition_kernel, build_driver, edit_conf and make_initrd utilities. Useful to compile a new driver when a new kernel is loaded. *compile_all_kernels Runs master.sh for all installed kernels libqlsdm-.so QLogic's implementation of the HBAAPI spec. This file is copied to /usr/lib when the RPM is installed readme.libqlsdm Contains information on the libqlsdm.so library that is included in this driver kit unload.sh Unloads all QLogic kernel modules * Only contained in the hp_qla2x00src RPM Driver Parameters ----------------- This driver kit passes in the following parameters to the QLogic driver when it is loaded. These values can be seen in /etc/modprobe.conf. ql2xport_down_retry Sets the number of retries that the QLogic driver will do when a remote target port has gone down ql2xloginretrycount Sets the number of retries that the QLogic driver will do when it trying to log into a remote port ql2xfailover Turns multipath failover on or off ql2xmaxqdepth Sets the maximum queue depth per LUN ql2xlbType Sets what type of load balacing to do between paths when failover is enabled ql2xautorestore Sets what device models will attempt to failback to its primary path when failover is enabled The following table lists the driver parameter values for each mode that the driver kit can be in: Parameter Single Path QLogic Failover ql2xport_down_retry 64 30 ql2xloginretrycount 16 30 ql2xfailover 0 1 ql2xmaxqdepth 16 16 ql2xlbType 0 1 ql2xautorestore 0x0 0x80 You can change the parameters of the driver using the set_parm script in either the /opt/hp/src/hp_qla2x00src directory or the /opt/hp/hp_qla2x00 directory (depending upon which RPM you have installed). There are two settings: 1. Single Path (-s) you are connected through one path to the storage without any redudany 2. QLogic Failover (-x) you are using the multipathing and failover functionality built into the qla2x00 adapter driver You can also manually set the driver parameters if you invoke set_parm with no arguments and select the manual option from the menu. Note that if you change the driver parameters, a new initrd has to be build. This is done by the set_parm script by calling the edit_conf and make_initrd scripts. Notes on Upgrading Kernels -------------------------- After you upgrade your kernel and kernel sources, you can compile new QLogic driver modules for the new kernel without rebooting. You may need to do this as the new kernel that you just installed may not contain the latest supported HP driver. To do this you should: a. Go to /opt/hp/src/hp_qla2x00src b. Execute the command "./master.sh -l" to get a list of valid module and source directories c. Choose the set of directories that match your new kernel and enter them with the -s and -m switches of the master.sh script For example: # master.sh -s linux-2.4.21-9.EL -m linux-2.4.21-9.ELsmp The script should take care of the rest of the compilation automatically.