C H A P T E R  47

Qlogic Host Bus Adapter Test (qlctest)


qlctest Description

qlctest is made up of several subtests that test the functions of Qlogic ISP22xx, ISP2300, ISP2312, ISP24xx, and ISP6322 based host bus adapters. This includes all Amber and Amber2, Crystal and Crystal2, Pyramid, and Summit cards.

For qlctest to perform properly, you must have Version 4.4.5 or later of the San Foundation Kit (SFK) installed which allows HBAAPI support. To install the latest SFK, go to http://sunsolve.sun.com and download and install the software (SAN_4.4.5_install_it.tar.gz).

You must reboot the system for driver changes to take effect. Older 1 GB Fiber Channel Host Bus Adapters (FC HBAs) typically do not use the latest SFK. If you wish to test HBAs without the latest SFK installed, use the previous version of SunVTS (5.1 PS9). 2 GB FC HBAs are not displayed in qlctest without the latest SFK installed.

This test is not scalable.



Note - Do not run customer data while running qlctest, as the test takes priority over customer data requests. You cannot access data while qlctest is running.





Note - Do not run other tests while qlctest is running. qlctest might cause other tests to fail.




qlctest Subtests

There are nine supported subtests:

The Fcode, Firmware, and Board revision checks run when any other subtest is selected, and are not manually selected. The external loopback test is an intervention test. To test the Fibre loop, the QLC port must be attached to a loopback connector or to storage.



Note - A Fibre-channel loopback connector or cable is required when running internal loopback tests to prevent intermittent test failures. Refer to CR 6331949 in the release notes for additional information.



For subtest descriptions, see the qlctest Options table.


qlctest Options

To reach the following dialog box, right-click on the test name in the System Map and select Test Parameter Options. If you do not see this test in the System Map, you might need to expand the collapsed groups, or your system might not include the device appropriate to this test. Refer to the SunVTS User's Guide for more details.


FIGURE 47-1 qlctest Test Parameter Options Dialog Box

Screenshot of the qlctest Test Parameter Options dialog box


 


TABLE 47-1 qlctest Options

qlctest Options

Description

Fcode revision check

Retrieves the fcode revision string. This core subtest is always run but not shown in the options dialog box.

Firmware revision check

Retrieves the firmware revision string. This core subtest is always run but not shown in the options dialog box.

Board revision check

Retrieves the board revision levels. This core subtest is always run but not shown in the options dialog box.

Selftest

Evaluates the functionality of ISP hardware by performing the following tests:

  • Transmit FIFO test
  • Receive FIFO test
  • SRAM test
  • Misc. Register tests

Enabled by default, but can be deselected.

Mailbox Loopback subtest

Loads a series of registers into the input mailboxes on the card and then reads the output mailboxes and compares results. This verifies that the system side of the card is operating correctly, and that the internal data paths are correct. Enabled by default, but can be deselected.

Firmware Checksum subtest

Runs an internal checksum test on the installed firmware. This verifies that the RISC RAM on the card is fully functional and that the installed firmware is still intact. This test also serves as a quick RAM check of the RISC RAM. Enabled by default, but can be deselected.

Internal 10-bit Loopback subtest

Performs internal loopback test within the host adapter ISP hardware at the 10-bit interface. This test is done with data sourcing from the system memory and going to the system memory. The desired data pattern, transfer length, and iteration count can be selected via the test parameters menu. Enabled by default, but can be deselected.

Internal 1-bit Loopback subtest

Performs internal loopback test within the host adapter ISP hardware at the 1-bit interface. This test is done with data sourcing from the system memory and going to the system memory. The desired data pattern, transfer length, and iteration count can be selected via the test parameters menu. Enabled by default, but can be deselected.

External Loopback subtest

Performs an external loopback test. This test is performed with data sourcing from the system memory and going to the system memory. The desired data pattern, transfer length, and iteration count can be selected via the test parameters menu. This is an intervention test, because a loopback cable is needed from the transceiver to the receiver of the QLC port when testing this port by itself. This subtest can also test the entire fibre channel loop when the loop is connected to the storage to be tested. Not enabled by default, but can be selected.

Loopback Transfer Count

Controls the packet size used in the internal 10-bit, internal 1-bit, and external loopback tests. Default value is 0x10000.

Loopback Iteration Count

Sets the number of times to loop the internal 10-bit, internal 1-bit, and external loopback tests. Default value is 10.

Loopback Data Pattern

Selects the data pattern to loop for the internal 10-bit, internal 1-bit, and external loopback tests. Default value is 0x7e7e7e7e.



qlctest Test Modes


TABLE 47-2 qlctest Supported Test Modes

Test Mode

Description

Connection

Opens and closes the QLC port.

Exclusive

Supported.



qlctest Command-Line Syntax

/opt/SUNWvts/bin/qlctest vts-system-options -o dev=device-name,selftest=Enable|Disable,mbox=Enable|Disable,checksum=Enable|Disable, ilb-10=Enable|Disable,ilb=Enable|Disable,elb=Enable|Disable,xcnt=0xtransfer-count,icnt=iteration-count,lbfpattern=0xpattern


TABLE 47-3 qlctest Command-Line Syntax

Argument

Description

dev

The name of the device to test.

selftest= Enable|Disable

Enables or disables the selftest command. Evaluates the functionality of the ISP hardware. Enabled by default.

mbox=Enable|Disable

Enables or disables the mailbox loopback command. This test writes data patterns into the mailboxes and then reads them back from the output mailboxes and verifies that the data is correct. Enabled by default.

checksum= Enable|Disable

Enables or disables the checksum command. Runs an internal checksum test on the installed firmware. This verifies that the RISC RAM on the card is fully functional and that the installed firmware is still intact. This test also serves as a quick RAM check of the RISC RAM. Enabled by default.

ilb-10=Enable|Disable

Enables or disables the internal 10-bit test. Performs internal loopback test within the host adapter ISP hardware at the 10-bit interface. Enabled by default.

ilb=Enable|Disable

Enables or disables the internal 1-bit test. Performs internal loopback test within the host adapter ISP hardware at the 1-bit interface. Enabled by default.

elb=Enable|Disable

Enables or disables the external loopback test. The desired data pattern, transfer length, and iteration count can be selected on the test parameters menu. Requires a cable for this intervention test. Disabled by default.

xcnt=0xtransfer-count

Controls the packet size to be transferred, for example, 0x1000. Default value is 0x10000.

icnt=iteration-count

Controls the number of times the loopback test will run, for example, 100. Default value is 10.

lbfpattern=0xpattern

Lists the data pattern to loop, for example, 0x7E7E7E7E. Default value is 0x7E7E7E7E.