Bug 296231 - iscli utility from qlogic cannot detect HBAs when using stock qla4xxx driver [NEEDINFO]
iscli utility from qlogic cannot detect HBAs when using stock qla4xxx driver
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel (Show other bugs)
5.0
All Linux
low Severity low
: ---
: ---
Assigned To: Red Hat Kernel Manager
Red Hat Kernel QE team
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-09-19 09:31 EDT by Tom Georgoulias
Modified: 2014-06-02 09:01 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-06-02 09:01:02 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
lwang: needinfo? (tomg)
pm-rhel: needinfo? (tomg)


Attachments (Terms of Use)

  None (edit)
Description Tom Georgoulias 2007-09-19 09:31:07 EDT
Description of problem:

The stock qla4xxx driver provided in the Red Hat kernel doesn't support iscli
HBA config from Qlogic, so the HBA can only be configured by rebooting the
server and making changes in the BIOS.  The qla4xxx driver provided on Qlogic's
download site doesn't have this deficiency, so an HBA can be configured and/or
trouble shot without taking the system offline with the use of the iscli utility.

Would like to request that the qla4xxx driver in the stock RHEL kernels be
improved so that it will support the iscli tool.

Version-Release number of selected component (if applicable):

All RHEL5 kernels.

How reproducible:

Every time.

Steps to Reproduce:

1. Install iscli utility from Qlogic:
http://support.qlogic.com/support/os_detail.asp?productid=964&osid=26

2. Run iscli command
  
Actual results:

No HBAs detected.

Expected results:

HBAs detected.

Additional info:

Using standard Red Hat driver:
 
[root@radm012p ~]# modinfo qla4xxx
filename:      
/lib/modules/2.6.18-8.1.10.el5/kernel/drivers/scsi/qla4xxx/qla4xxx.ko
version:        5.00.05b9-k
license:        GPL
description:    QLogic iSCSI HBA Driver
author:         QLogic Corporation
srcversion:     A09F7E989A86603A597DEA8
alias:          pci:v00001077d00004032sv*sd*bc*sc*i*
alias:          pci:v00001077d00004022sv*sd*bc*sc*i*
alias:          pci:v00001077d00004010sv*sd*bc*sc*i*
depends:        scsi_mod,scsi_transport_iscsi
vermagic:       2.6.18-8.1.10.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
parm:           ql4xdiscoverywait:Discovery wait time (int)
parm:           ql4xdontresethba:Dont reset the HBA when the driver gets 0x8002
AEN  default it will reset hba :0 set to 1 to avoid resetting HBA (int)
parm:           extended_error_logging:Option to enable extended error logging,
Default is 0 - no logging, 1 - debug logging (int)
 
[root@radm012p ~]# iscli -i
No HBAs Detected in system
 
Error: No HBAs detected.
Error: rc=172 (0xac)
[root@radm012p ~]#  
 
Using Qlogic driver qla4xxx-5.01.00.08-2:
 
[root@radm012p ~]# modinfo qla4xxx
filename:      
/lib/modules/2.6.18-8.1.10.el5/kernel/drivers/scsi/qla4xxx/qla4xxx.ko
license:        GPL
description:    QLogic ISP4XXX iSCSI Host Bus Adapter driver
author:         QLogic Corporation
srcversion:     233CFA1CB2787626F37BB07
alias:          pci:v00001077d00004032sv*sd*bc*sc*i*
alias:          pci:v00001077d00004022sv*sd*bc*sc*i*
alias:          pci:v00001077d00004010sv*sd*bc*sc*i*
depends:        scsi_mod
vermagic:       2.6.18-8.1.10.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
parm:           ql4xfailover:Driver failover support: 0 to disable; 1 to enable.
(int)
parm:           recoveryTime:Recovery time in seconds before a target device is
sent I/O after a failback is performed. (int)
parm:           failbackTime:Delay in seconds before a failback is performed. (int)
parm:           MaxPathsPerDevice:Maximum number of paths to a device.  Default
8. (int)
parm:           MaxRetriesPerPath:How many retries to perform on the current
path before failing over to the next path in the path list. (int)
parm:           MaxRetriesPerIo:How many total retries to do before failing the
command and returning to the OS with a DID_NO_CONNECT status. (int)
parm:           qlFailoverNotifyType:Failover notification mechanism to use when
a failover or failback occurs. (int)
parm:           ql4xdiscoverywait:Discovery wait time (int)
parm:           ql4xkeepalive:Keep Alive Timeout (int)
parm:           ql4xdontresethba:Dont reset the HBA when the driver gets 0x8002
AEN  default it will reset hba :0 set to 1 to avoid resetting HBA (int)
parm:           ql4xcmdretrycount:Maximum number of mid-layer retries allowed
for a command.  Default value in non-failover mode is 20, in failover mode, 30.
(int)
parm:           ql4xmaxqdepth:Maximum queue depth to report for target devices.
(int)
parm:           extended_error_logging:Option to enable extended error logging,
Default is 0 - no logging. 1 - log errors. 2 - debug logging (int)
parm:           displayConfig:If 1 then display the configuration used in
/etc/modules.conf. (int)
 
[root@radm012p ~]# iscli -i
 0. HBA: 0 Port: 0 HBA Port Instance: 0 HBA Model: QMC4052
    HBA Serial Number: (ZK125B63E15N) FW Version: 2.0.0.45 Type: Fibre
    IP Address: <snipped>
    Alias:  
    iSCSI Name: iqn.2000-04.com.qlogic:qmc4052.zk125b63e15n.1   
 1. HBA: 0 Port: 1 HBA Port Instance: 1 HBA Model: QMC4052
    HBA Serial Number: (ZK125B63E15N) FW Version: 2.0.0.45 Type: Fibre
    IP Address: <snipped>
    Alias:  
    iSCSI Name: iqn.2000-04.com.qlogic:sod0109a
Comment 1 David Somayajulu 2008-04-21 13:52:52 EDT
Could you please check if the module qisioctl.ko is loaded ?
Comment 2 Alex 2009-09-22 07:23:58 EDT
Hi,

Can confirm this behaviour in RHEL5.4, x86_64.

However, loading stock qisioctl.ko fixes the issue:

[root@gcisvxen011xb ~]# iscli -i
Using config file: /opt/QLogic_Corporation/SANsurferiCLI/iscli.cfg
No HBAs Detected in system

[root@gcisvxen011xb ~]# lsmod | grep -i qla4xxx
qla4xxx                94817  2 
scsi_transport_iscsi2    73945  8 ib_iser,iscsi_tcp,bnx2i,cxgb3i,libiscsi2,qla4xxx
scsi_mod              196697  16 sr_mod,usb_storage,ib_iser,iscsi_tcp,bnx2i,cxgb3i,libiscsi2,scsi_dh_rdac,scsi_dh,sg,qla4xxx,scsi_transport_iscsi2,mptsas,mptscsih,scsi_transport_sas,sd_mod
[root@gcisvxen011xb ~]# lsmod | grep -i qisi

[root@gcisvxen011xb ~]# insmod /lib/modules/2.6.18-164.el5/extra/qisioctl.ko

[root@gcisvxen011xb ~]# iscli -i
Using config file: /opt/QLogic_Corporation/SANsurferiCLI/iscli.cfg
 0. HBA: 0 Port: 0 HBA Port Instance: 0 HBA Model: QLE4062C
    HBA Serial Number: (YK10NY87FV0H) FW Version: 3.0.1.53 Type: Copper
    IP Address: 172.30.1.13
    Alias: 
    iSCSI Name: iqn.2000-04.com.partygaming:gcisvxen011xb-1  
 1. HBA: 0 Port: 1 HBA Port Instance: 1 HBA Model: QLE4062C
    HBA Serial Number: (YK10NY87FV0H) FW Version: 3.0.1.53 Type: Copper
    IP Address: 172.30.1.14
    Alias: 
    iSCSI Name: iqn.2000-04.com.partygaming.gcisvxen011xb-2
Comment 3 Dan 2012-02-17 16:28:39 EST
I am fighting this issue as I type here.
RHEL 5.7 x86_64 on an HP DL360-G7 with a QLE4062C-E card
/opt/QLogic_Corporation/SANsurfer/qisioctl/install.log says:

User Installation Directory=/opt/QLogic_Corporation/SANsurfer/qisioctl
OS Version 2.6? 2.6.18-274.17.1.el5
Preparing...                ##################################################
iSCSI IOCTL module not required for this version of qla4xxx module
Driver version = 5.02.04.01.05.07-d
Skipping installation of iSCSI IOCTL module...

and because of that, iscli "sees" no HBA ports.

Willing to actively participate on this bug 'cause I need to get this card working.
Comment 4 Dan 2012-02-21 11:30:12 EST
I found a reference in a document to a Red Hat Bug

The document is 

EMC® Host Connectivity with QLogic
Fibre Channel and iSCSI Host Bus Adapters
(HBAs) and Fibre Channel over Ethernet
Converged Network Adapters (CNAs)
for the Linux Environment
P/N 300-002-803
REV A16

http://filedownloads.qlogic.com/files/driver/78799/300-002-803-A16.pdf

On p 86, under Installation instructions for the in kernel QLogic driver in Linux 2.6.x kernels

It says:
--------------------------
CAUTION
The qla3xxx driver which is used by the QLogic iSCSI HBA to
perform TCP/IP traffic will automatically be enabled along with
the qla4xxx driver. If the qla3xxx driver is activated, it will take over
the HBA, no iSCSI traffic may be conducted through the HBA, and
the server will appear to hang on boot. This is a known issue (Red
Hat Bugzilla #249556).

In order for the qla4xxx driver to function properly, the qla3xxx
driver must be removed or renamed and the initrd image rebuilt
without it.
---------------------------

However, Bug #249556 is not publicly accessable.
Can this be changed ?  There could be something of use in that there bug.
Comment 5 Dan 2012-02-23 09:02:09 EST
I made the modifications detailed in the referenced document to exclude the qla3xxx driver.
SANsurfer still does not "see" the HBA's.

It still appears to require the qisioctl module.
I would try hand-installing it, but the installer comes with 17 versions and I have no guidance about which one to try.
Comment 6 Jon 2012-03-19 17:13:06 EDT
Workaround: 

# yum install redhat-lsb-graphics gcc

SANsurfer will require the qisioctl module.  

- Per the install script readme: 
    a) Installation:
                Check for supported QLogic driver module before
                installation.

So, you will have to install the qisioctl manually after installing SANsurfer. 

# less /opt/QLogic_Corporation/SANsurferiCLI/qisioctl/qisioctl-dkms-install.sh

- Look for reference for the correct qisioctl package in the QL_MODULE definitions: 

# VER5 is for RHEL5
QL_ISIOCTL_VER5="2.01.00b9-3"
QL_ISIOCTL_VER6="1.01.03_d0-2"


You can then install the corresponding qisioctl package based off the QL_ISIOCTL_VER variable from above.

- RHEL5
# rpm -Ivh /opt/QLogic_Corporation/SANsurfer/qisioctl/ql-rpms/qisioctl-2.01.00b9-3dkms.noarch.rpm
- RHEL6
# rpm -Ivh /opt/QLogic_Corporation/SANsurfer/qisioctl/ql-rpms/qisioctl-1.01.03_d0-2dkms.noarch.rpm  

• Rebuild initrd.  Reboot.  
• Launch SANsurfer (hostname must resolve prior)
Comment 7 Dan 2012-03-19 17:26:22 EDT
qisioctl-2.01.00b9-3dkms.noarch.rpm causes a kernel panic on reboot
Comment 8 Dan 2012-03-19 17:29:38 EDT
Jon,
Are you commenting from first hand experience, like I am,
or just quoting from the documentation ?

If the former, I would like to get a description of your hardware setup.
Comment 9 Jon 2012-03-19 18:01:03 EDT
Dan,

I had set this up for a reproducer for another customer and documented the steps I took for SANsurfer to function.  The steps I have outlined worked w/o issue for my setup.  The difference I see is that you installed the RHEL5 module and I setup for RHEL6.  I would have to reproduce this on RHEL5 to mimic your behavior.  Did you rebuild initrd prior to the reboot?
Comment 10 Dan 2012-03-19 21:23:04 EDT
Yes, I did rebuild initrd before rebooting.
The RPM causes kernel panic.  I got a different version source driver from QLOgic and had better luck with it, but I am still struggling to nail down the beginning-to-end workflow.

On a different subject, the original request at there top of this bug is to roll these qisioctl drivers into the Red Hat kernel so that we do not have to do all this painful custom kernel modification every time the kernel changes a sub-minor version.
Comment 11 RHEL Product and Program Management 2014-03-07 07:37:40 EST
This bug/component is not included in scope for RHEL-5.11.0 which is the last RHEL5 minor release. This Bugzilla will soon be CLOSED as WONTFIX (at the end of RHEL5.11 development phase (Apr 22, 2014)). Please contact your account manager or support representative in case you need to escalate this bug.
Comment 12 RHEL Product and Program Management 2014-06-02 09:01:02 EDT
Thank you for submitting this request for inclusion in Red Hat Enterprise Linux 5. We've carefully evaluated the request, but are unable to include it in RHEL5 stream. If the issue is critical for your business, please provide additional business justification through the appropriate support channels (https://access.redhat.com/site/support).

Note You need to log in before you can comment on or make changes to this bug.