QLA2300 FC HBA Driver and Linux Kernel 2.6.9
Yesterday, I tried to upgrade one of my servers from Linux Kernel 2.4.26
to Kernel 2.6.9. The server has two Qlogic QLA2310F FC HBA PCI adapters [EN]
plugged in that are connected to two EMC CLARiiON CX600 [EN]
One has two opportunities to manage the appropriated LUNs:
- Establish a software raid to mirror the duplicated LUNs manually
- Let the FC HBAs manage failover situations and MPIO (multipath I/O)
Of course, using the second way is much more beautiful but that requires specific
driver support for MPIO. With 2.4.26, there's no Qlogic FC support at all shipped
with the kernel. So I had to use the qlogic driver that is certified for use with
EMC SANs. 2.6.9 has qlogic support builtin, but since 2.6.1, the MPIO and Failover
support was silently removed and also other changes have been made to this driver,
concerning timeouts etc.
Rebooting the machine lead up to having no disks at all. Building the qla2xxx driver
as kernel module resolved that problem if you're willing to load the module two times.
With the new driver, it takes longer to set up the FC loop and therefore the
initalization of the HBAs fail. Reloading the driver fixes the problem. But then I ran
into the next problem. The FC Adapters showed me all LUNs associated to my WWNs instead
of displaying only half the devices (you know, MPIO). So I googled quite a while to
find out, that the MPIO support has been removed. On the Qlogic website I mentioned
above are also not supported drivers available for download, e.g. from IBM, Hitachi, EMC,...
I gave the IBM driver a try (v8.00.00 [TGZ]
), because it has support for driver-side MPIO.
Extracting the tar.gz-ball and replacing the qla2xxx Directory in my kernel source tree
ended up in many compiler-errors. Naivley as I am, I tried to fix the errors with
the help of $MY_FAVOURITE_VIM^H^H^HEDITOR. That seemed to work, but then other compiler-
errors showed up and so I stopped coding due to lack of time.
So what to do now? Numerous of incomplete non-working drivers on my hard disk and also numerous
of users who wanted to continue working...
Being in total forlornness, I ftp'ed to download.qlogic.com and tried a recursive
file search (ls */*qla2xxx*) that finally saved my day (or night, whatever...).
In a directory not accessible from the webpage I found the 8.00.01 version [TGZ]
of the driver
which worked flawlessly, even with MPIO.
tuxx@vi-edv003:~$ ftp download.qlogic.com
ftp> cd drivers
250 CWD command successful.
ftp> ls */*qla2xxx*
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
-rwxrwxrwx 1 webmaster cod 1016041 Nov 11 23:51 24092/qla2xxx-v8.00.00-dist.tgz
-rwxrwxrwx 1 webmaster cod 1016041 Nov 12 22:30 24132/qla2xxx-v8.00.00-dist.tgz
-rwxrwxrwx 1 webmaster cod 1016041 Dec 13 22:19 24911/qla2xxx-v8.00.00-dist.tgz
-rwxrwxrwx 1 webmaster cod 1057279 Dec 14 19:23 24998/qla2xxx-v8.00.01-dist.tgz
-rwxrwxrwx 1 webmaster cod 1057279 Dec 14 19:28 25000/qla2xxx-v8.00.01-dist.tgz
226 Transfer complete.
If for any reason this driver will be removed from their site and you - the reader - are
not able to find it anymore, I'll keep it in cool place