FILE NAME: hp-qla4xxx-5.01.01.04-2.src.rpm TITLE: QLogic iSCSI Driver for Linux VERSION: 5.01.01.04-2 LANGUAGE: English CATEGORY: Software DIVISIONS: Enterprise and Mainstream Servers PRODUCTS AFFECTED: QLogic QMH4062 1GbE iSCSI Adapter for c-Class BladeSystem OPERATING SYSTEM: Red Hat Enterprise Linux 5 AS for AMD64/EM64T Red Hat Enterprise Linux 5 AS for x86 SUSE LINUX Enterprise Server 11 for AMD64/EM64T SUSE LINUX Enterprise Server 11 for x86 SUSE LINUX Enterprise Server 10 for AMD64/EM64T SUSE LINUX Enterprise Server 10 for x86 PREREQUISITES: HP BladeSystem c-Class server supporting one of the above operating systems EFFECTIVE DATE: 02/02/2010 SUPERSEDES: N/A DESCRIPTION: This RPM contains the iSCSI driver for QLogic QMH4062 1GbE iSCSI Adapter for HP BladeSystem c-Class for Linux. ENHANCEMENTS/FIXES: Updated the RPM spec file for KMP (Kernel Module Packaging) Table of Contents ================= Introduction Packaging Build Prerequisites Installing the RPM Package Uninstalling the RPM Package Driver Parameters Limitations Introduction ============ This file describes the Linux driver for the HP iSCSI HBA Adapters mentioned in the PRODUCTS AFFECTED section of this document. Packaging ========= The driver is released in a source RPM format. The file name for the package is hp-qla4xxx-<version>.src.rpm. Please read the 'build prerequisites' and 'Installing rpm' sections to convert the source rpm to binary rpm which is the final installable Build Prerequisites ======================== The qlogic driver requires the presence of current header and symbol files to build the binary module. The packages that provide them are different on Red Hat and SLES Red Hat installation: Appropriate kernel-devel package has to be installed. SLES Installation: Appropriate kernel-source and kernel-syms file has to be installed Installing the RPM Package ============================= 1. This package requires certain other packages to be installed. Refer to the "Build prerequisites" section before proceeding further 2. Install the source RPM package. # rpm -ivh hp-qla4xxx-<version>.src.rpm 3. Build the binary RPM for the hp-qla4xxx driver. Red Hat Installation: # cd /usr/src/redhat # rpmbuild -bb SPECS/hp-qla4xxx.spec SLES Installations: # cd /usr/src/packages # rpmbuild -bb SPECS/hp-qla4xxx.spec caveat: On Redhat 5 32 bit architecture an additional switch has to be passed to the rpmbuild to build the kmp packages #rpmbuild --target=i686 -bb SPECS/hp-qla4xxx.spec 4. Check for the existence of a current version of the hp-qla4xx package as follows: # rpm -q hp-qla4xxx If an old version of the package exists, the RPM package should be removed. # rpm -e hp-qla4xxx Remove hp-qla4xxx. # rmmod qla4xxx Verify that the old hp-qla4xxx package has been removed as follows: # rpm -q hp-qla4xxx 5. Install the new RPM package. This installs the qla4xxx driver. Do not use the U (Upgrade) flag in the RPM command below - previous qla4xxx drivers must be removed as described in step 4 above before installing this version. # rpm -ivh RPMS/<arch>/hp-qla4xxx-<version>.<arch>.rpm The qla4xxx.ko module is installed in the following directory on SLES: /lib/modules/<kernel_version>/extra/hp-qla4xxx/ and on RedHat at /lib/modules/<kernel_version>/updates/hp-qla4xxx/ 7. Ensure that the /etc/modprobe.conf file is configured similar to the example listed below. alias scsi_hostadpater1 qla4xxx For SLES, the configuration file is /etc/modprobe.conf.local Note: If the above entry does not exist, add it in the configuration file. 8. Reboot your server. Upon reboot the qla4xxx driver should be loaded. verify by executing the below command. # lsmod If qla4xxx is listed then the qla4xxx driver loaded. Uninstalling the RPM Package ============================= The following command will uninstall the qla4xxx RPM. # rpm -e hp-qla4xxx-<version> Driver Parameters ============================== 1 System Parameters ======================== Most driver and device parameters are exported via sysfs as a regular file, so you can change parameters using regular commands. Device parameters are located in the following path: /sys/class/scsi_device/<host>:<bus>:<target>:<lun>/device/ *Timeout parameter. In the 2.6 kernel, a command timeout is 30 seconds. If a command takes longer than 30 seconds, which could happen in a network environment, it may be necessary to increase the timeout value in sysfs for the device. For example: echo 60 >/sys/class/scsi_device/4:0:0:0/device/timeout *Rescan parameter. This parameter initiates a rescan on the device. The Linux driver does not recognize dynamically added devices automatically; therefore, a manual rescan must be performed. The following is an example of the rescan parameter: echo "- - -" > /sys/class/scsi_host/hostX/scan For example: echo "- - -" > /sys/class/scsi_host/host6/scan Where "hostX" is replaced by your "Host number". 2 Multiple LUN Support ========================== Support for multiple LUNs can be configured as follows: If the SCSI Mid-Layer is compiled as a module, add the following line to the loadable module configuration file modprobe.conf to scan for multiple LUNs. The file is located in the /etc directory. options scsi_mod max_luns=255 NOTE: If you have multiple adapters, set max_luns to the largest number of LUNs supported by any one of these adapters. 3 Driver Command Line Parameters ================================= The driver gets its parameters from the command line itself or from the modprobe 'option' directive found in the modules.conf file. The parameters are in the <keyword>=value format. For example: ql4xdiscoverwait=60 In this format, <keyword> is one of the following option parameters: Usage: insmod qla4xxx <keyword>=value *ql4xmaxqdepth. This parameter defines the maximum queue depth reported to the SCSI Mid-Level per device. The queue depth specifies the number of outstanding requests per LUN. (obsolete with sysfs) Default=2 *ql4xdiscoverywait. This parameter defines how long to wait for a port during boot-time. Default=60 *ql4xcmdretrycount. This parameter defines the maximum number of SCSI Mid-Level retries allowed per command. Default: 20 *extended_error_logging. This parameter enables debug and defines the debug level to use. The debug information is written to the /var/log/messages file. Default=0 (disable) All the available parameters can be viewed using the following command: # modinfo -p qla4xxx.ko Usage examples: # insmod qla4xxx.ko ql4xdiscoverwait=60 Limitations =========== (C) Copyright 2010 Hewlett-Packard Development Company, L.P. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies.