Tag: hba

HP-UX: Clearing and checking HBA statistics

Clearing statistics on HBA card

root@hp-ux:~ # /opt/fcms/bin/fcmsutil /dev/fclp0 clear_stat
Thu Oct 24 15:26:44 2013

Driver statistics cleared.

Checking HBA statistics

root@hp-ux:~ # /opt/fcms/bin/fcmsutil /dev/fclp0 stat -s

******************************************************************************
**** Driver Statistics ****
******************************************************************************

Fri Oct 25 14:30:43 2013

— Link Statistics ——————————————————

Link Failure count 0 Loss of Sync count 10
Loss of Signal count 0 Prim seq proto err count 0
Invalid Word count 34 Invalid CRC count 1
Prim seq Timeout count 0 Elstc Bufr Overrun count 0
FC-AL Arb Timeout count 0

Advertised Recv B2B cred 40 Current Recv B2B cred 40
Advertised Xmit B2B cred 8 Current Xmit B2B cred 8
Received EOFa count 0 Received EOFdti count 0
Received EOFni count 0 Received SOFf count 0

Querying HBA information under Linux

To check the HBA cards installed on your system, check lspci

root@linux:~ # lspci | grep -i fibre
13:01.0 Fibre Channel: Emulex Corporation Thor-X LightPulse Fibre Channel Host Adapter (rev 01)
13:02.0 Fibre Channel: Emulex Corporation Thor-X LightPulse Fibre Channel Host Adapter (rev 01)

You can query various information using systool

root@linux:~ # systool -av -c fc_host
Class = “fc_host”

Class Device = “host0”
Class Device path = “/sys/class/fc_host/host0”
active_fc4s = “0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ”
fabric_name = “0x100000051eecc200”
issue_lip =
maxframe_size = “2048 bytes”
node_name = “0x20000000c95e5ee1”
port_id = “0x0ab040”
port_name = “0x10000000c95e5ee1”
port_state = “Online”
port_type = “NPort (fabric via point-to-point)”
speed = “2 Gbit”
supported_classes = “Class 3”
supported_fc4s = “0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ”
supported_speeds = “1 Gbit, 2 Gbit”
tgtid_bind_type = “wwpn (World Wide Port Name)”
uevent =

Device = “host0”
Device path = “/sys/devices/pci0000:00/0000:00:04.0/0000:12:00.0/0000:13:01.0/host0”
uevent =

Class Device = “host1”
Class Device path = “/sys/class/fc_host/host1”
active_fc4s = “0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ”
fabric_name = “0x100000051ef63200”
issue_lip =
maxframe_size = “2048 bytes”
node_name = “0x20000000c95e93bd”
port_id = “0x14b040”
port_name = “0x10000000c95e93bd”
port_state = “Online”
port_type = “NPort (fabric via point-to-point)”
speed = “2 Gbit”
supported_classes = “Class 3”
supported_fc4s = “0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ”
supported_speeds = “1 Gbit, 2 Gbit”
tgtid_bind_type = “wwpn (World Wide Port Name)”
uevent =

Device = “host1”
Device path = “/sys/devices/pci0000:00/0000:00:04.0/0000:12:00.0/0000:13:02.0/host1”
uevent =

Checking numerous status. Example shown below is a different server

root@linux:~ # systool -c scsi_host -v -d host1
Class = “scsi_host”

Class Device = “host1”
Class Device path = “/sys/class/scsi_host/host1”
84xx_fw_version = “”
beacon = “Disabled”
cmd_per_lun = “3”
driver_version = “8.03.07.15.05.09-k”
eh_deadline = “0”
fabric_param = “1280”
flash_block_size = “0x8000”
fw_state = “0x3 0x2a8c 0x9100 0x5 0x0”
fw_version = “5.06.03 (9496)”
host_busy = “0”
isp_id = “0000 0000 0000 0000”
isp_name = “ISP2432”
max_npiv_vports = “127”
model_desc = “PCI-Express Dual Channel 4Gb Fibre Channel HBA”
model_name = “QLE2462”
mpi_version = “”
npiv_vports_inuse = “0”
optrom_bios_version = “1.08”
optrom_efi_version = “1.02”
optrom_fcode_version= “1.13”
optrom_fw_version = “4.00.12 2”
pci_info = “PCIe (2.5Gb/s x4)”
phy_version = “”
proc_name = “”
scan =
serial_num = “”
sg_tablesize = “255”
state = “Link Up – F_Port”
total_isp_aborts = “0”
uevent =
unchecked_isa_dma = “0”
unique_id = “0”
vlan_id = “”
vn_port_mac_address = “”
vport_create =
vport_delete =
zio_timer = “200 us”
zio = “Disabled”

Device = “host1”
Device path = “/sys/devices/pci0000:00/0000:00:04.0/0000:17:00.0/0000:18:02.0/0000:22:00.0/host1”
fw_dump =
nvram = “ISP ”
optrom_ctl =
optrom =
reset =
sfp = “”
uevent =
vpd = “▒.”

Or you can query each attribute issuing cat /sys/class/scsi_host/hostX/<attribute>

Model name

root@linux:~ # cat /sys/class/scsi_host/host0/model*name
LP10000

Model description

root@linux:~ # cat /sys/class/scsi_host/host0/model*desc
Emulex LP10000 2Gb PCI-X Fibre Channel Adapter

Check this link to see how to upgrade a Fibre Channel HBA on HP Proliant – Upgrading firmware on an Emulex Zephyr-X LightPulse Fibre Channel HBA

HBA ROM version

root@linux:~ # cat /sys/class/scsi_host/host0/opt*rom*
5.01a5

Firmware revision

root@linux:~ # cat /sys/class/scsi_host/host0/fwrev
1.91A1 (T2D1.91A1), sli-2

root@linux:~ # cat /sys/class/scsi_host/host0/fw_version
5.03.01 (496)

Driver version

root@linux:~ # lspci -v | grep -i fibre -A11 | grep driver
Kernel driver in use: lpfc
Kernel driver in use: lpfc

root@linux:~ # modinfo lpfc | egrep ‘filename|version|author|description’
filename: /lib/modules/2.6.18-238.9.1.el5/kernel/drivers/scsi/lpfc/lpfc.ko
version: 0:8.2.0.87.1p
author: Emulex Corporation – tech.support@emulex.com
description: Emulex LightPulse Fibre Channel SCSI driver 8.2.0.87.1p

View script to query HBA information

Check WWPN on HP-UX

Check how much fibre channel adapters you have in your system

root@hp-ux:~ # ioscan -fnC fc
Class I H/W Path Driver S/W State H/W Type Description
====================================================================
fc 0 0/2/0/0/0/0 fclp CLAIMED INTERFACE HP AH403A 8Gb PCIe 2-port Fibre Channel Adapter
/dev/fclp0
fc 1 0/2/0/0/0/1 fclp CLAIMED INTERFACE HP AH403A 8Gb PCIe 2-port Fibre Channel Adapter
/dev/fclp1
fc 2 0/4/0/0/0/0 fclp CLAIMED INTERFACE HP AH403A 8Gb PCIe 2-port Fibre Channel Adapter
/dev/fclp2
fc 3 0/4/0/0/0/1 fclp CLAIMED INTERFACE HP AH403A 8Gb PCIe 2-port Fibre Channel Adapter
/dev/fclp3

Then inquiry each adapter to get the WWPN

root@hp-ux:~ # /opt/fcms/bin/fcmsutil /dev/fclp0

Vendor ID is = 0x10df
Device ID is = 0xf100
PCI Sub-system Vendor ID is = 0x103c
PCI Sub-system ID is = 0x3282
Chip version = 3
Firmware Version = 2.00A4 SLI-3 (U3D2.00A4)
EFI Version = UU5.03A10
EFI Boot = ENABLED
Driver-Firmware Dump Available = NO
Driver-Firmware Dump Timestamp = N/A
Topology = PTTOPT_FABRIC
Link Speed = 8Gb
Local N_Port_id is = 0x010600
Previous N_Port_id is = None
N_Port Node World Wide Name = 0x20000000c9e79dba
N_Port Port World Wide Name = 0x10000000c9e79dba
Switch Port World Wide Name = 0x2006000533a00080
Switch Node World Wide Name = 0x1000000533a00080
Driver state = ONLINE
Hardware Path is = 0/2/0/0/0/0
Maximum Frame Size = 2048
TYPE = PFC
NPIV Supported = NO
Driver Version = @(#) FCLP: PCIe Fibre Channel driver (FibrChanl-02), B.11.31.1203, Nov 30 2011, FCLP_IFC (3,2)

root@hp-ux:~ # /opt/fcms/bin/fcmsutil /dev/fclp1

Vendor ID is = 0x10df
Device ID is = 0xf100
PCI Sub-system Vendor ID is = 0x103c
PCI Sub-system ID is = 0x3282
Chip version = 3
Firmware Version = 2.00A4 SLI-3 (U3D2.00A4)
EFI Version = UU5.03A10
EFI Boot = ENABLED
Driver-Firmware Dump Available = NO
Driver-Firmware Dump Timestamp = N/A
Topology = PTTOPT_FABRIC
Link Speed = 8Gb
Local N_Port_id is = 0x020600
Previous N_Port_id is = None
N_Port Node World Wide Name = 0x20000000c9e79dbb
N_Port Port World Wide Name = 0x10000000c9e79dbb
Switch Port World Wide Name = 0x20060005339e0080
Switch Node World Wide Name = 0x10000005339e0080
Driver state = ONLINE
Hardware Path is = 0/2/0/0/0/1
Maximum Frame Size = 2048
TYPE = PFC
NPIV Supported = NO
Driver Version = @(#) FCLP: PCIe Fibre Channel driver (FibrChanl-02), B.11.31.1203, Nov 30 2011, FCLP_IFC (3,2)

root@hp-ux:~ # /opt/fcms/bin/fcmsutil /dev/fclp2

Vendor ID is = 0x10df
Device ID is = 0xf100
PCI Sub-system Vendor ID is = 0x103c
PCI Sub-system ID is = 0x3282
Chip version = 3
Firmware Version = 2.00A4 SLI-3 (U3D2.00A4)
EFI Version = UU5.03A10
EFI Boot = ENABLED
Driver-Firmware Dump Available = NO
Driver-Firmware Dump Timestamp = N/A
Topology = PTTOPT_FABRIC
Link Speed = 8Gb
Local N_Port_id is = 0x010500
Previous N_Port_id is = None
N_Port Node World Wide Name = 0x20000000c9e7a072
N_Port Port World Wide Name = 0x10000000c9e7a072
Switch Port World Wide Name = 0x2005000533a00080
Switch Node World Wide Name = 0x1000000533a00080
Driver state = ONLINE
Hardware Path is = 0/4/0/0/0/0
Maximum Frame Size = 2048
TYPE = PFC
NPIV Supported = NO
Driver Version = @(#) FCLP: PCIe Fibre Channel driver (FibrChanl-02), B.11.31.1203, Nov 30 2011, FCLP_IFC (3,2)

root@hp-ux:~ # /opt/fcms/bin/fcmsutil /dev/fclp3

Vendor ID is = 0x10df
Device ID is = 0xf100
PCI Sub-system Vendor ID is = 0x103c
PCI Sub-system ID is = 0x3282
Chip version = 3
Firmware Version = 2.00A4 SLI-3 (U3D2.00A4)
EFI Version = UU5.03A10
EFI Boot = ENABLED
Driver-Firmware Dump Available = NO
Driver-Firmware Dump Timestamp = N/A
Topology = PTTOPT_FABRIC
Link Speed = 8Gb
Local N_Port_id is = 0x020500
Previous N_Port_id is = None
N_Port Node World Wide Name = 0x20000000c9e7a073
N_Port Port World Wide Name = 0x10000000c9e7a073
Switch Port World Wide Name = 0x20050005339e0080
Switch Node World Wide Name = 0x10000005339e0080
Driver state = ONLINE
Hardware Path is = 0/4/0/0/0/1
Maximum Frame Size = 2048
TYPE = PFC
NPIV Supported = NO
Driver Version = @(#) FCLP: PCIe Fibre Channel driver (FibrChanl-02), B.11.31.1203, Nov 30 2011, FCLP_IFC (3,2)

Discovering new disks in a Solaris server with QLogic HBA

This server is using the QLogic’s FC driver and not the usual Sun’s driver.

root@solaris9:~ # modinfo | grep ql
25  12beb8f  83803 281   1  qla2300 (QLogic FC Driver v4.18)
307 7876c000  17e6f 280   1  qlog (VxQLOG 4.1_REV-4.1B18_sol_GA_s1)

To discover the new LUNs attached, use the qlreconfig utility

root@solaris9:~ # /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig -d qla2300 -v

*****                     *****
*****    W A R N I N G    *****
*****                     *****

PLEASE READ THE DOCUMENTATION BEFORE USING THIS UTILITY

This utility updates the driver configuration parameters
on an live system.  Extreme care MUST be taken to insure
that the specified parameters are correct for this system.
Failure to do so may render this system unusable, and/or
panic the system.

This utility utilizes the devfsadm utility, which depending on
the system and the number of devices, may take some time to
complete.

Do you wish to continue (y/n)? y
Dec 16 14:50:47  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: starting execution
Dec 16 14:50:47  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: utility verson is: 1.01
Dec 16 14:50:47  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: driver version: 4.18
Dec 16 14:50:47  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: os level is: 9
Dec 16 14:50:47  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: system call checks done
Dec 16 14:50:47  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: Found qla2300 driver ioctl device path at: ‘/devices/pci@1e,600000/SUNW,qlc@2:devctl’
Dec 16 14:50:47  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: buffer allocated and populated
Dec 16 14:50:47  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: finished with /usr/bin/pkill call
Dec 16 14:50:47  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: calling driver ioctl
Dec 16 14:50:48  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: ioctl OK — status is: 0; detail status is 0
Dec 16 14:50:48  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: finished with driver call
Dec 16 14:50:48  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: starting /usr/sbin/devfsadm call
Dec 16 14:51:15  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: finished with /usr/sbin/devfsadm call
Dec 16 14:51:15  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: starting /usr/sbin/update_drv call
Dec 16 14:51:25  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: finished with /usr/sbin/update_drv call
Dec 16 14:51:25  /opt/QLogic_Corporation/drvutil/qla2300/qlreconfig: finished

HP-UX – fcmsutil – Error: FCP driver not loaded

I saw a message in syslog to check for an EMS Event Notification.

root@hp-ux:/ # cat /var/adm/syslog/syslog.log
Jul 23 11:33:07 hp-ux EMS [2596]: —— EMS Event Notification ——   Value: “SERIOUS (4)” for Resource: “/adapters/events/TL_adapter/0_2_1_0″     (Threshold:  >= ” 3″)    Execute the following command to obtain event details:   /opt/resmon/bin/resdata -R 170131458 -r /adapters/events/TL_adapter/0_2_1_0 -n 170131457 -a

root@hp-ux:/ # /opt/resmon/bin/resdata -R 170131458 -r /adapters/events/TL_adapter/0_2_1_0 -n 170131457 -a

CURRENT MONITOR DATA:

Event Time……….: Thu Jul 23 11:33:07 2009
Severity…………: SERIOUS
Monitor………….: dm_TL_adapter
Event #………….: 23
System…………..: hp-ux

Summary:
Adapter at hardware path 0/2/1/0 : Fibre Channel driver has gone into
non-participating mode
Description of Error:
lbolt value: 3207

The Fibre Channel Driver has gone into non-participating mode
Frame Manager Status Register =  0x200002ff
Probable Cause / Recommended Action:

A cable or hardware problem exists. This can also be caused due
to the Tachyon TL adapter changing its AL_PA across a LIP.
Do the following:
1. Verify that the fiber optic cable is functional and securely
attached to the Fibre Channel Mass Storage Adapter.
2. After checking the cabling, execute a loopback test using
fcmsutil.
Command syntax is as follows:
/opt/fcms/bin/fcmsutil <device_file> lb plm
If the problem persists after verifying fiber optic cabling,
replace the adapter

Additional Event Data:
System IP Address…: 10.122.100.24
Event Id…………: 0x4a6874a300000000
Monitor Version…..: B.01.00
Event Class………: I/O
Client Configuration File………..:
/var/stm/config/tools/monitor/default_dm_TL_adapter.clcfg
Client Configuration File Version…: A.01.00
Qualification criteria met.
Number of events..: 1
Associated OS error log entry id(s):
0x4a68739100000000
Additional System Data:
System Model Number………….: 9000/800/rp4440
OS Version………………….: B.11.11
EMS Version…………………: A.04.20
STM Version…………………: A.49.00
Latest information on this event:
http://docs.hp.com/hpux/content/hardware/ems/dm_TL_adapter.htm#23

v-v-v-v-v-v-v-v-v-v-v-v-v    D  E  T  A  I  L  S    v-v-v-v-v-v-v-v-v-v-v-v-v

Component Data:
Physical Device Path….: 0/2/1/0
Vendor Id……………: 0x0000103C
Serial Number(WWN)……: 50060B00005FCE46

I/O Log Event Data:

Driver Status Code………………: 0x00000017
Length of Logged Hardware Status….: 0 bytes.
Offset to Logged Manager Information: 0 bytes.
Length of Logged Manager Information: 61 bytes.

Manager-Specific Information:

Raw data from FCMS Adapter driver:
00000003 00000C87 00000001 00000001 200002FF 2F75782F 6B65726E 2F6B6973
752F544C 2F737263 2F636F6D 6D6F6E2F 7773696F 2F74645F 6973722E 63

Checking the device file.

root@hp-ux:/ # ioscan -fnC fc
Class     I  H/W Path  Driver S/W State   H/W Type     Description
=================================================================
fc        0  0/2/1/0   td   CLAIMED     INTERFACE    HP Tachyon XL2 Fibre Channel Mass Storage Adapter
/dev/td0
fc        1  0/6/1/0   td   CLAIMED     INTERFACE    HP Tachyon XL2 Fibre Channel Mass Storage Adapter
/dev/td1

I tried to pass td1 as argument but it needed the full path.

root@hp-ux:/ # /opt/fcms/bin/fcmsutil td1 lb plm
Error: FCP driver not loaded.

I passed the entire path and the fcmsutil worked:

root@hp-ux:/ # /opt/fcms/bin/fcmsutil /dev/td0 lb plm

WARNING: This is a DESTRUCTIVE test.
This might result in failure of current I/O requests.
Do you want to continue? (y/n) [n]…