From d3a4387b6df191d710b155a09f23fef061dad459 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Fri, 1 May 2015 09:23:25 +0200 Subject: [PATCH] qla2x00t: Update how-to with instructions for 16 Gb HBA Add instructions for how to download and install the 16 Gb/s FC HBA driver. Remove the "optional step" since this step should not be needed after various recent fixes in the SCST makefiles. Recommend to blacklist the distro QLA initiator driver even if the kernel is not being rebuilt. Signed-off-by: Bart Van Assche --- qla2x00t/doc/qla2x00t-howto.html | 105 ++++++++++++++++++++----------- 1 file changed, 68 insertions(+), 37 deletions(-) diff --git a/qla2x00t/doc/qla2x00t-howto.html b/qla2x00t/doc/qla2x00t-howto.html index 4ed582fd4..2f3195e53 100644 --- a/qla2x00t/doc/qla2x00t-howto.html +++ b/qla2x00t/doc/qla2x00t-howto.html @@ -4,7 +4,7 @@ -How to configure QLogic target driver for 22xx/23xx/24xx/25xx adapters +QLogic FC Target Driver How-to for 22xx/23xx/24xx/25xx/26xx Adapters -
How to configure QLogic target driver for 22xx/23xx/24xx/25xx adapters. Step by step guide.

+
How to Configure the FC QLogic Target Driver for 22xx/23xx/24xx/25xx/26xx Adapters

-
ON TARGET


+
TARGET SYSTEM


  1. - Download the appropriate firmware for your QLogic card from - http://ldriver.qlogic.com/firmware/ and save it in the /lib/firmware directory. + Look up the model numbers of the FC HBA and of the FC HBA RISC controller. If + it is not easy to access the label printed on the HBA, one way to look up + these model numbers is as follows: +
    [root@proj ]# dmesg -c >/dev/null
    +[root@proj ]# rmmod qla2xxx
    +[root@proj ]# modprobe qla2xxx
    +[root@proj ]# dmesg | grep -E 'qla2xxx .* QLogic | Found an ISP'
    +qla2xxx [0000:01:00.0]-001d: Found an ISP2532 irq 16 iobase 0xffffc9000413e000.
    +qla2xxx [0000:01:00.0]-00fb:164: QLogic QLE2562 - PCI-Express Dual Channel 8Gb Fibre Channel HBA.
    +qla2xxx [0000:01:00.1]-001d: Found an ISP2532 irq 17 iobase 0xffffc9000417c000.
    +qla2xxx [0000:01:00.1]-00fb:165: QLogic QLE2562 - PCI-Express Dual Channel 8Gb Fibre Channel HBA.
    + The above information not only contains the HBA model number (QLE2562) but + also the RISC controller ID (ISP2532). +
  2. +
  3. Download the Linux version of the QConvergeConsoleCLI software package + from http://driverdownloads.qlogic.com/ + and install that software package. +
  4. +
  5. + Download the appropriate firmware for your QLogic card from + http://driverdownloads.qlogic.com/. It is strongly recommended to use firmware version 5.x or higher for 24xx/25xx adapters. More information about this subject can be found in - the following thread on the scst-devel mailing list: - FC - session gets closed with qla2x00t. + the following e-mail thread: Vladislav Bolkhovitin and Artur Piechocki, + FC + session gets closed with qla2x00t, scst-devel mailing list, January 2010.

    If no firmware image is available when the QLogic kernel module is loaded, - the following error message will appear in the kernel log - (/var/log/messages): + the following error message will appear in the system log + (/var/log/messages or /var/log/syslog):
    qla2xxx 0000:13:00.0: Firmware image unavailable.
     qla2xxx 0000:13:00.0: Failed to initialize adapter
    - - In this case I had to download ql2500_fw.bin.
  6. +
  7. + Copy the firmware image (.BIN) file to the /lib/firmware directory and + rename it such that the kernel driver can find it. The file name that should + be used for the firmware file depends on the RISC controller ID: + + + + + + + + + + +
    ISP ModelFirmware file
    name
    ISP 21XXql2100_fw.bin
    ISP 22XXql2200_fw.bin
    ISP 2300ql2300_fw.bin
    ISP 2322ql2322_fw.bin
    ISP 24XXql2400_fw.bin
    ISP 25XXql2500_fw.bin
    ISP 2031ql2600_fw.bin
    ISP 27XXql2700_fw.bin
    +
  8. +
  9. + Update the firmware image in the HBA. Although the QLogic kernel driver is + able to load the firmware from /lib/firmware, QLogic recommends to update + the firmware image that resides in the HBA (see also Quinn Tran, + Re: + [ANNOUNCE]: qla2x00t QLogic git integration into the SCST build + tree, scst-devel mailing list, September 5, 2014). An example: +
    [root@proj ]# /opt/QLogic_Corporation/QConvergeConsoleCLI/qaucli -fc -b all /lib/firmware/ql2500_fw.bin
    +
  10. Install the necessary kernel development packages. On a Debian system these packages can be installed as follows:
    [root@proj ]# apt-get install gcc libncurses5-dev linux-headers-`uname -r` lsscsi patch subversion
    @@ -47,6 +89,11 @@ And on SUSE systems these packages can be installed by running the following com
    [root@proj ]# zypper install gcc ncurses-devel kernel-devel lsscsi patch subversion
  11. +
  12. + Download the latest QLogic SCST target driver: +
    [root@proj ]# git clone git://git.qlogic.com/scst-qla2xxx.git
    +
  13. +
  14. Download the SCST source code. That source code can be downloaded either from the SCST @@ -65,10 +112,16 @@ And on SUSE systems these packages can be installed by running the following com created in the current directory, which is /root in this how-to.
  15. +
  16. + In the SCST directory, create a soft link to the QLogic driver: +
    [root@proj ]# cd scst
    +[root@proj scst]# ln -s ../scst-qla2xxx/drivers/scsi/qla2xxx qla2x00t_git
    +
  17. +
  18. Find out whether you will need SCSI pass-through and/or the iSCSI zero-copy optimization. If not, skip the kernel download, patch, rebuild -and reboot steps and continue with the SCST build step. +and reboot steps and continue with the SCST build step.
  19. Decide whether you want to start from a vanilla Linux kernel source tree @@ -104,34 +157,12 @@ CONFIG_NOHIGHMEM=y Reboot the system and during boot select the freshly built kernel to boot from.
  20. -
  21. +
  22. Unload the qla2xxx kernel module provided by your Linux distribution and blacklist it:
    [root@proj ]# echo blacklist qla2xxx >/etc/modprobe.d/blacklist-qla2xxx.conf
     [root@proj ]# rmmod qla2xxx
  23. -
  24. - OPTIONAL step: clean up the kernel modules directory before building the - SCST kernel modules.
    This is only necessary if you encounter the - following error message: "scst: disagrees about version of symbol - struct_module".

    - - That error message indicates that a kernel module was compiled against - kernel headers that did not match the running kernel. Doing a clean rebuild - of the kernel and SCST should make the above error go away. To make sure - nothing of the old kernel is left, do a clean rebuild of the Linux kernel - and SCST as follows: - -
    [root@proj linux ]# pwd
    -/usr/src/linux
    -[root@proj linux ]# make oldconfig
    -[root@proj linux ]# make clean
    -[root@proj linux ]# rm -rf /lib/modules/`uname -r`
    -[root@proj linux ]# make -j$(ls -1d /sys/devices/system/cpu/cpu[0-9]* | wc -l) bzImage modules
    -[root@proj linux ]# make modules_install install
    -[root@proj linux ]# reboot
    -
  25. -
  26. Select a build mode that suits your needs, e.g. optimal performance or debugging SCST. The default mode is debug mode. Here is how to switch to @@ -318,7 +349,7 @@ The same can be done directly via the sysfs interface of SCST:

-
ON INITIATOR
+
INITIATOR SYSTEM