FILE NAME: hp-be2iscsi-4.0.480.0-2.src.rpm TITLE: HP NC-Series Emulex 10GbE iSCSI Driver for Linux VERSION: 4.0.480.0 RELEASE: 2 LANGUAGE: English CATEGORY: Software DIVISIONS: Enterprise and Mainstream Servers EFFECTIVE DATE: 12/14/2011 SUPERSEDES: 4.0.323.0 Products Affected ================== HP FlexFabric 10Gb 2-port 554FLB Adapter HP FlexFabric 10Gb 2-port 554M Adapter HP FlexFabric 10Gb 2-port 554FLR-SFP+ Adapter HP StorageWorks CN1100E Dual Port Converged Network Adapter HP StorageWorks CN1000E Dual Port Converged Network Adapter HP NC553m 10Gb 2-port FlexFabric Converged Network Adapter HP NC553i 10Gb 2-port FlexFabric Converged Network Adapter HP NC551m Dual Port FlexFabric 10Gb Adapter HP NC551i Dual Port FlexFabric 10Gb Adapter Operating Systems ================== Red Hat Enterprise Linux 6 Update 2 for AMD64/EM64T Red Hat Enterprise Linux 6 Update 2 for x86 Red Hat Enterprise Linux 6 Update 1 for AMD64/EM64T Red Hat Enterprise Linux 6 Update 1 for x86 Red Hat Enterprise Linux 6 for AMD64/EM64T Red Hat Enterprise Linux 6 for x86 Red Hat Enterprise Linux 5 Update 7 for AMD64/EM64T Red Hat Enterprise Linux 5 Update 7 for x86 Red Hat Enterprise Linux 5 Update 6 for AMD64/EM64T Red Hat Enterprise Linux 5 Update 6 for x86 SUSE LINUX Enterprise Server 11 Service Pack 1 for AMD64/EM64T SUSE LINUX Enterprise Server 11 Service Pack 1 for x86 SUSE LINUX Enterprise Server 11 for AMD64/EM64T SUSE LINUX Enterprise Server 11 for x86 SUSE LINUX Enterprise Server 10 Service Pack 4 for AMD64/EM64T SUSE LINUX Enterprise Server 10 Service Pack 4 for x86 SUSE LINUX Enterprise Server 10 Service Pack 3 for AMD64/EM64T SUSE LINUX Enterprise Server 10 Service Pack 3 for x86 Note: Due to the very recent release of RedHat 5 Update 7, customers may still be using RedHat 5 Update 5 in their production environment. HP will support the use of this driver for RedHat 5 Update 5 and will remove support in the next release. Pre-requisites =============== ProLiant server supporting above operating systems 256 MB RAM minimum Latest HP System ROM Build Environment Setup NOTE: Visit the following URL and download latest System ROM http://welcome.hp.com/country/us/en/support.html Select "Download drivers and software" Description ============ This RPM contains HP tested and approved iSCSI driver for use with network adapters mentioned in the PRODUCTS AFFECTED section of this document. Enhancements/Fixes =================== 1) Added support for HP FlexFabric 10Gb 2-port 554FLB Adapter 2) Added support for HP FlexFabric 10Gb 2-port 554M Adapter 3) Added support for HP FlexFabric 10Gb 2-port 554FLR-SFP+ Adapter 4) Added KMP build support for RHEL6 Update 2 Table of Contents ================= Introduction Packaging Build Environment Setup Installing the RPM Package Uninstalling the RPM Package Caveats Introduction ============ This file describes how to build and install the iSCSI driver for network adapters mentioned in the PRODUCTS AFFECTED section. User guides and additional HP Network Adapter information can be found at: http://h18004.www1.hp.com/products/servers/networking/index-nic.html Packaging ========= The driver is released in Kernel Module Package (KMP) source RPM format. KMP packages use macros that determine kernel flavors for which binary packages need to be built based on spec file rules. It is important to have the right build environment set up in order to compile a binary RPM from source package. See "Build Environment Setup" section below. Build Environment Setup ======================== This package requires the presence of certain other packages that provide the right build environment to enable building a KMP binary rpm from the source rpm. These packages provide kernel headers, makefiles and symbol files. Please ensure that the following are installed: RHEL installation: 1. redhat-rpm-config package 2. kernel-devel-<kernel_version> package 3. kernel-<flavor>-devel-<kernel_version> package Eg: kernel-2.6.18.92.el5 requires kernel-devel-2.6.18-92.el5 kernel-PAE-2.6.18.92.el5 requires kernel-PAE-devel-2.6.18-92.el5 See the "Caveats" section below for more details. SLES Installation: 1. kernel-source-<kernel_version> package 2. kernel-syms-<kernel_version> package 3. SLES11 requires kernel-<flavor>-devel-<kernel_version> package in addition to the above two mentioned Installing the RPM Package ============================= 1. This package requires a specific build environment. Please refer the "Build Environment Setup" section above before proceeding. 2. Install the source RPM package. # rpm -ivh hp-be2iscsi-<version>.src.rpm 3. Build the binary RPM for the be2iscsi driver. RHEL 5: # rpmbuild -bb /usr/src/redhat/SPECS/hp-beiscsi.kmp.spec RHEL 6: # rpmbuild -bb ~/rpmbuild/SPECS/hp-beiscsi.kmp.spec SLES: # rpmbuild -bb /usr/src/packages/SPECS/hp-beiscsi.kmp.spec If you get an error during the build process, refer to the "Build Environment Setup" section. NOTE: One can build binary RPM for a specfic kernel flavor as follows: # rpmbuild -bb SPECS/hp-beiscsi.kmp.spec --define "KVER <kver>" NOTE: RHEL 5 x86 installations require the "--target" switch when building on Intel compatible machines. Please see the "Caveats" section below for more details. # rpmbuild --target=i686 -bb /usr/src/redhat/SPECS/hp-beiscsi.kmp.spec 4. Check for the existence of a current version of the be2iscsi package as follows: RHEL # rpm -q kmod-hp-be2iscsi-<flavor> SLES # rpm -q hp-be2iscsi-kmp-<flavor> If an old version of the package exists, the RPM package should be removed. RHEL # rpm -e kmod-hp-be2iscsi-<flavor> SLES # rpm -e hp-be2iscsi-kmp-<flavor> Verify if the old hp-be2iscsi package has been removed as follows: RHEL # rpm -q kmod-hp-be2iscsi-<kernel flavor> SLES # rpm -q hp-be2iscsi-kmp-<kernel flavor> 5. If an older version of be2iscsi.ko is loaded into the kernel, remove it as follows. Note: If you are installing the package over network you may want to be careful. It is not absolutely necessary to remove the modules. This step is necessary if you are doing the upgrade on the physical console and you intend to see the new drivers taking over immediately # lsmod | grep be2iscsi Uninstall the existing active driver # modprobe -r be2iscsi 6. Install the new binary RPM package. RHEL 5 # rpm -ivh \ /usr/src/redhat/RPMS/<arch>/kmod-hp-be2iscsi-<flavor>-<version>.<arch>.rpm RHEL 6 # rpm -ivh \ ~/rpmbuild/RPMS/<arch>/kmod-hp-be2iscsi-<flavor>-<version>.<arch>.rpm The modules are installed in the following directory: /lib/modules/<kernel_version>/extra/hp-be2iscsi Note: The "--nodeps" switch is required when installing to RHEL 5.4 and RHEL 5.5. See the "Caveats" section below for more details. # rpm -ivh \ /usr/src/redhat/RPMS/<arch>/kmod-hp-be2iscsi-<flavor>-<version>.<arch>.rpm --nodeps SLES # rpm -ivh RPMS/<arch>/hp-be2iscsi-kmp-<version>-<flavor>.<arch>.rpm The modules are installed in the following directory: /lib/modules/<kernel_version>/updates/hp-be2iscsi 7. Run "modinfo be2iscsi | grep version" and verify that the driver version is latest 8. Run "modprobe be2iscsi" to install latest "be2iscsi" driver module 9. Ensure that the /etc/modprobe.conf file is configured similar to the example listed below. alias scsi_hostadpater1 be2iscsi For SLES, the configuration file is /etc/modprobe.conf.local Note: If the above entry does not exist, add it in the configuration file. 10. Reboot your server. Upon reboot the be2iscsi driver should be loaded. Verify if the driver is loaded by executing the below command. # lsmod You should find be2iscsi listed. Uninstalling the RPM Package ============================= The following command will uninstall the RPM. RHEL # rpm -e kmod-hp-be2iscsi-<kernel flavor> SLES # rpm -e hp-be2iscsi-kmp-<kernel flavor> Caveats ======== 1. The rpmbuild will fail the dependency check when building the non-base (xen,pae,etc) kernel when the kernel-devel package is not installed. Example: If the OS only included the PAE kernel then the user would need to install the kernel-pae-devel and kernel-devel packages. 2. The use of a "--target" switch is required so that rpmbuild does not try to find an i386 kernel on the system. If the "--target" switch is not used then the build will fail with bizarre messages stating that specific kernel packages are not installed on the machine yet these pacakges do not exist. 3. The rpmbuild will fail if the redhat-rpm-config package is not installed because it cannot resolve the %kernel_module_package_buildreqs macro. The error will be similar to the following: error: line xx: Dependency tokens must begin with alpha-numeric,'_'or'/': BuildRequires: %kernel_module_package_buildreqs 4. RPM uses KMP packaging dependency data to ensure the dependencies are met before installing the binary RPM. Red Hat maintains a whitelist of kernel symbols which RPM uses to validate against the KMP binaries. Some symbols may be in the kernel but not on the whitelist which results in a failed binary RPM install. The user will need to use the "--nodeps" switch when installing the binary. The be2iscsi packaged drivers uses the following symbols on RedHat EL5 Update 4 and Update 5 that are not on the whitelist: ksym(pci_enable_msi) ksym(pci_disable_msi) (C) Copyright 2011 Hewlett-Packard Development Company, L.P. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies.