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
-
- 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).
+
+- Download the Linux version of the QConvergeConsoleCLI software package
+ from http://driverdownloads.qlogic.com/
+ and install that software package.
+
+-
+ 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.
+-
+ 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 Model | Firmware file name |
+ | ISP 21XX | ql2100_fw.bin |
+ | ISP 22XX | ql2200_fw.bin |
+ | ISP 2300 | ql2300_fw.bin |
+ | ISP 2322 | ql2322_fw.bin |
+ | ISP 24XX | ql2400_fw.bin |
+ | ISP 25XX | ql2500_fw.bin |
+ | ISP 2031 | ql2600_fw.bin |
+ | ISP 27XX | ql2700_fw.bin |
+
+
+-
+ 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
+
- 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
+-
+ Download the latest QLogic SCST target driver:
+
[root@proj ]# git clone git://git.qlogic.com/scst-qla2xxx.git
+
+
-
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.
+-
+ 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
+
+
-
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.
- 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.
--
+
-
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
--
- 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
-
-
-
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