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