VMwareLSI
Contributor
Contributor

How to change qllink_down_timeout in ESX4.0 for Qlogic

Hi,

I need to set the timeout linkdown on the ESX 4.0 that has qlogic card to 10 seconds, I used the commands below, but It seems didn't work:

  1. esxcfg-module -s qllink_down_timeout=10 qla2300_707_vmw

  2. esxcfg-boot -b

  3. reboot

The qllink_down_timeout value is still set to default 30.

# cat /proc/scsi/qla2xxx/4

QLogic PCI to Fibre Channel Host Adapter for QLE2562:

Firmware version 4.04.09 , Driver version 8.02.01-k1-vmw43

BIOS version 2.02

FCODE version 2.00

EFI version 2.00

Flash FW version 4.03.01

ISP: ISP2532

Request Queue = 0xbc013000, Response Queue = 0xbc094000

Request Queue count = 4096, Response Queue count = 512

Total number of interrupts = 5306

Device queue depth = 0x20

Number of free request entries = 3179

Number of mailbox timeouts = 0

Number of ISP aborts = 0

Number of loop resyncs = 1

Host adapter:loop state = , flags = 0x105ac3

Dpc flags = 0x0

MBX flags = 0x0

Link down Timeout = 030

Port down retry = 005

Login retry count = 008

Execution throttle = 2048

ZIO mode = 0x6, ZIO timer = 1

Commands retried with dropped frame(s) = 0

Product ID = 0000 0000 0000 0000

NPIV Supported : Yes

Max Virtual Ports = 255

SCSI Device Information:

scsi-qla0-adapter-node=2000001b320e3c69:040800:0;

scsi-qla0-adapter-port=2100001b320e3c69:040800:0;

FC Target-Port List:

scsi-qla0-target-0=203600a0b8475d42;

scsi-qla0-target-1=203700a0b8475d42;

scsi-qla0-target-2=20420080e51b08b6;

scsi-qla0-target-3=20430080e51b08b6;

FC Port Information:

scsi-qla0-port-0=20000000c9745994:10000000c9745994:040700:81;

scsi-qla0-port-1=200600a0b8475d42:203600a0b8475d42:060000:82;

scsi-qla0-port-2=200600a0b8475d42:203700a0b8475d42:060100:83;

scsi-qla0-port-3=20020080e51b08b6:20420080e51b08b6:020400:84;

scsi-qla0-port-4=20020080e51b08b6:20430080e51b08b6:020500:85;

I used the same commands for ESX3.5 and It works fine. Do we have to use different commands for ESX4.0?

Thanks,

Janey

0 Kudos
9 Replies
VMwareLSI
Contributor
Contributor

Hi VMware expert,

Does anyone has a solution for this? I really need to get this setting to change, otherwise, the failover won't work correctly....

Thanks,

Janey

0 Kudos
notorious_bdg
Enthusiast
Enthusiast

esxcfg-module -s 'qllink_down_timeout=10' qla2xxx

0 Kudos
VMwareLSI
Contributor
Contributor

I tried the suggested command and now I am not able to see my qla2xxx adapter driver

# cd /proc/scsi/

# ls

ata_piix device_info megaraid_sas scsi sg

#

Thanks,

Janey

0 Kudos
kastlr
Expert
Expert

Hi,

first clear the incorrect entry by providing an esxcfg-module -s '' qla2xxx.

Then you should check if the named parameter is really valid.

vmkload_mod -s qla2xxx will generate a list of all parameters the module could handle.

I.e., my environment running on older QLogic HBA's couldn't handle the parameter qllink_down_timeout.

Hope this helps a bit.

Greetings from Germany. (CET)



Hope this helps a bit.
Greetings from Germany. (CET)
0 Kudos
VMwareLSI
Contributor
Contributor

Hi,

I tried to run the command you suggested and it seems qllink_down-timeout is not a valid parameter. I don't see it listed in the output below. The Qlogic HBA that I have is QLE2562 (8Gb). Can you please let me know what would be the parameter and command to change the link down timeout of QLE2562?

# vmkload_mod -s qla2xxx

vmkload_mod module information

input file: /usr/lib/vmware/vmkmod/qla2xxx.o

Version: Version 8.02.01-k1-vmw43, Build: 208167, Interface: 9.0, Built on: Nov 8 2009

Parameters:

heap_max: int

Maximum attainable heap size for the driver.

heap_initial: int

Initial heap size allocated for the driver.

ql2xcmdtimermin: int

Minimum command timeout value. Default is 30 seconds.

ql2xmaxsgs: int

Maximum scatter/gather entries per request,Default is the Max the OS Supports.

ql2xexecution_throttle: int

IOCB exchange count for HBA.Default is 0, set intended value to override Firmware defaults.

ql2xcmdtimeout: int

Timeout value in seconds for scsi command, default is 20

ql2xusedrivernaming: int

Enables Consistent Device Naming feature Default is 0, set 1 to enable.

ql2xintrdelaytimer: int

ZIO: Waiting time for Firmware before it generates an interrupt to the host to notify completion of request.

ql2xoperationmode: int

Option to disable ZIO mode for ISP24XX: Default is 1, set 0 to disable

ql2xenablemsi: int

Enables MSI-X/MSI interrupt scheme Default is 0 - disable MSI-X/MSI. 1 - enable MSI-X/MSI.

usedefmaxrdreq: (null)

Default is 0 - adjust PCIe Maximum Read Request Size. 1 - use system default.

ql2xusedefmaxrdreq: int

(null)

ql2xiidmaenable: int

Enables iIDMA settings Default is 1 - perform iIDMA. 0 - no iIDMA.

ql2xqfullrampup: int

Number of seconds to wait to begin to ramp-up the queue depth for a device after a queue-full condition has been detected. Default is 120 seconds.

ql2xmaxqdepth: int

Maximum queue depth to report for target devices.

ql2xfdmienable: int

Enables FDMI registratons Default is 0 - no FDMI. 1 - perfom FDMI.

ql2xextended_error_logging: int

Option to enable extended error logging, Default is 0 - no logging. 1 - log errors.

ql2xioctltimeout: int

IOCTL timeout value in seconds for pass-thur commands. Default is 66 seconds.

ql2xallocfwdump: int

Option to enable allocation of memory for a firmware dump during HBA initialization. Memory allocation requirements vary by ISP type. Default is 1 - allocate memory.

ql2xloginretrycount: int

Specify an alternate value for the NVRAM login retry count.

ql2xplogiabsentdevice: int

Option to enable PLOGI to devices that are not present after a Fabric scan. This is needed for several broken switches. Default is 0 - no PLOGI. 1 - perfom PLOGI.

qlport_down_retry: int

Maximum number of command retries to a port that returns a PORT-DOWN status.

ql2xlogintimeout: int

Login timeout value in seconds.

#

Below is the output of the QLE2562 card that I have in the ESX4.0 host:

# cat /proc/scsi/qla2xxx/4

QLogic PCI to Fibre Channel Host Adapter for QLE2562:

Firmware version 4.04.09 , Driver version 8.02.01-k1-vmw43

BIOS version 2.02

FCODE version 2.00

EFI version 2.00

Flash FW version 4.03.01

ISP: ISP2532

Request Queue = 0xbc013000, Response Queue = 0xbc094000

Request Queue count = 4096, Response Queue count = 512

Total number of interrupts = 9789

Device queue depth = 0x20

Number of free request entries = 3618

Number of mailbox timeouts = 0

Number of ISP aborts = 0

Number of loop resyncs = 1

Host adapter:loop state = , flags = 0x105ac3

Dpc flags = 0x0

MBX flags = 0x0

Link down Timeout = 030

Port down retry = 005

Login retry count = 008

Execution throttle = 2048

ZIO mode = 0x6, ZIO timer = 1

Commands retried with dropped frame(s) = 0

Product ID = 0000 0000 0000 0000

NPIV Supported : Yes

Max Virtual Ports = 255

SCSI Device Information:

scsi-qla0-adapter-node=2000001b320e3c69:040800:0;

scsi-qla0-adapter-port=2100001b320e3c69:040800:0;

FC Target-Port List:

scsi-qla0-target-0=203600a0b8475d42;

scsi-qla0-target-1=203700a0b8475d42;

scsi-qla0-target-2=20420080e51b08b6;

scsi-qla0-target-3=20430080e51b08b6;

FC Port Information:

scsi-qla0-port-0=20000000c9745994:10000000c9745994:040700:81;

scsi-qla0-port-1=200600a0b8475d42:203600a0b8475d42:060000:82;

scsi-qla0-port-2=200600a0b8475d42:203700a0b8475d42:060100:83;

scsi-qla0-port-3=20020080e51b08b6:20420080e51b08b6:020400:84;

scsi-qla0-port-4=20020080e51b08b6:20430080e51b08b6:020500:85;

#

Thanks a lot for your help.

Janey

0 Kudos
kastlr
Expert
Expert

Hi,

looks for me that this option couldn't be controlled by the driver.

Therefor you should check the following document which does describe the process in general.

Multi-boot Image for 8Gb FC HBAs Readme File

Hope this helps a bit.

Greetings from Germany. (CET)

Message was edited by: Ghost



Hope this helps a bit.
Greetings from Germany. (CET)
0 Kudos
VMwareLSI
Contributor
Contributor

Hi,

I looked over the doc from the link you sent and it seems the procedure is for Solaris, I believe ESX doesn't have ok prompt. If I am wrong, can you please show me how to go to ok promt in the ESX4.0 host. I tried surfing on the web but couldn't find any clue. Below is what it showed in the doc.

4.3.7 Setting and Viewing link-down-timeout

FCode uses the link-down-timeout NVRAM parameter to determine the number of seconds to wait for the link to come up. The default value is 30. Use the set-link-timeout command to change this parameter. For example:

ok set-link-timeout

Current link-down-timeout: 1e(30) seconds

Do you want to change it? (y/n) y

link-down-timeout: in Secs. Enter 2-ff hex: 14

Current link-down-timeout: 14(20) seconds

Thanks,

Janey

0 Kudos
kastlr
Expert
Expert

Hi Janey,

isn't it possible to change this parameter directly in the HBA BIOS?

Or using a boot disk and run the FastUtil tool once and make the changes persistent?

I don't have such HBA's so I couldn't test this scenario.

Hope this helps a bit.

Greetings from Germany. (CET)



Hope this helps a bit.
Greetings from Germany. (CET)
0 Kudos
VMwareLSI
Contributor
Contributor

Hi,

I go to qlogic website, downloaded SANsurfer_CLI tool and installed it into ESX, it is saved under /opt/Qlogic_Corporation/SANSurferCLI

cd /opt/Qlogic_Corporation/SANSurferCLI

./scli

Select option 3) HBA Parameter

Choose 1st port, -> Configure Parameter.....

Note: need to do the same for 2nd port

And now my link down time out is change to 10 seconds as I wanted.

Thanks a lot for your consistent help.

Janey

0 Kudos