4-21-03
Using the Qlogic EFI Configuration and Diagnostic Protocols
Table of Contents
Revision History
Introduction
CLI Overview
Changing the display mode
EFI Driver Configuration
Starting the Configuration Protocol
Command summary
NVRAM Parameter Menus
Risc parameters - 1
Extended RISC Parameters - 2
Firmware Special Options - 3
Host Parameter Block - 4
EFI Parameters - 5
WWN Database - 6
Information Commands
Display WWN database - d
Help - h
adapter Information - i
display Translation table - t
display raw nvram buffer - y
Operation Commands
Abandon nvram changes - a
Write changes to NVRAM - w
Quit - q
Specific Option Descriptions
EFI parameters - 5
WWN database - 6
SAN Environment Features
WWN Database Description
Selective Login
Selective LUN Login
Persistent Binding
Alternate Boot Device Selection
EFI Driver Diagnostics
Starting the Diagnostic Protocol
Standard Level Diagnostics
Extended Level Diagnostics
Manufacturing Level Diagnostics
Command summary
Command Details
Revision History
Date Rev Reason By Comments
9-6-02 1.0 Initial T. Leonard
10-7-02 1.1 Feature additions T. Leonard Added boot options to configuration protocol.
11-13-02 1.2 Feature additions T. Leonard Added Scsi options, selective boot description.
03-21-03 1.3 Major Additions and revision T. Leonard
07-17-03 1.4 Added Selective LUN login and T. Leonard
Memory mapped register access.
Introduction
The Qlogic EFI Driver Configuration Protocol provides display and
modification of configuration parameters stored in QLA23xx Host
Bus Adapter (HBA) NVRAM. The Qlogic EFI Driver Diagnostic Protocol
provides a minimal set of HBA diagnostics. Both protocols are provided
as part of the Qlogic EFI Scsi Pass Thru protocol driver. Either
protocol may be invoked from the EFI shell. The protocols use a
Command Line Interface (CLI) to allow an operator to display and modify
HBA configuration and diagnostic parameters.
CLI Overview
The general flavor of the CLI is a two level hierarchy. The highest
level consists of a category of commands. Each category is assigned
a number that is entered at the command prompt followed by pressing the Return key.
At the next level, each command has one or more displayable and possibly
modifiable parameters. Within a command, each parameter is displayed
along with the current value of the parameter. Where multiple choices are
possible, a menu of possible choices along with a number to be entered to
select the choice is displayed, The user may either change the current value,
or may keep the current value by pressing the Return key.
Unless otherwise noted, all commands display the current value in parenthesis
followed by a :. To keep the current value, press enter. Typographical errors
may be corrected by using the Backspace key to sequentially delete characters
preceding the current cursor. Once return is pressed, the current displayed
parameter is modified and the next available parameter of the command is displayed.
For numeric entries, the radix of the number is displayed in parenthesis.
The radix is either decimal or hexadecimal.
For example the line:
Frame Payload size (dec) (2048) ?
is prompting the user to enter a payload size. The current value is
2048 and the radix is decimal.
Changing the display mode
To make reading the EFI Shell information easier, change the number of lines
displayed to the maximum allowed on your machine. To do this, enter the command:
Mode <CR>
The command displays a list of available row/column modes. Select
the one that has the maximum number of rows/columns. As an example, the
maximum may be listed as
Col 80 row 50.
To select this mode, enter the following command:
Mode 80 50 <CR>
EFI Driver Configuration
During the configuration process, all changes are made to a local copy of
the Nvram. The actual modification of the Nvram takes place using the "w" command.
Up to the time that this command is used, changes to the local buffer may be abandoned
in mass using the "a" or "q" commands.
Starting the Configuration Protocol
For a more detailed description of the EFI commands used in this procedure, refer
to the EFI Shell documentation provided with your computer or the EFI project
documentation at http://www.intel.com/technology/efi/index.htm.
The Configuration protocol is started from the EFI Shell using the following procedure:
Enter the following command:
Drivers <CR>
A list of installed EFI drivers is displayed in tabular form. Under the DRIVER NAME heading,
find the driver with name QlcFC SCSI PASS Thru Driver. Find the corresponding driver
handle number for this driver in the DRV column of the table. Note that there may be
more than one instance of the driver listed or there may be a single instance of the
driver. In the former case, a driver is managing a subset of available QLA23xx adapters.
In the later case, a single driver is managing one or more QLA23xx drivers. Either case is correct.
For the rest of this procedure, DRVNUM will refer to the driver handle number obtained
in the previous step.
Enter the following command:
Drvcfg DRVNUM <CR>
A list of adapters being managed by this driver will be displayed. Select the one
you wish to configure and note its handle number. We will refer to this as CTRLNUM
from now on.
Enter the following command to start the configuration protocol on this adapter:
Drvcfg -s DRVNUM CTRLNUM <CR>
You should see a message containing version information followed by the
QlcConfig>
prompt. All CLI commands are single letter commands with no immediate parameters.
Entering a single letter followed by a return starts the command. A brief description
of each command if available using the h command. Where possible the letter of the
command corresponds to the first letter of the command mnemonic.
Command summary
The following is a list of available commands.
There are three major divisions of commands. NVRAM Parameters, Information, and Operation.
NVRAM Parameters:
1 - Risc parameters
2 - Extended risc parameters
3 - Firmware special options
4 - Host parameter block
5 - EFI parameter options
6 - WWN database
Information:
d - Display WWN database
h - help
i - adapter Information
t - display Translation table
y - display raw nvram buffer
Operation:
a - Abandon nvram changes
w - Write changes to nvram
q - Quit
NVRAM Parameter Menus
Risc parameters - 1
This sub-menu is used to display and modify the Risc Parameter Block Configuration
parameters.
Selection of this menu produces the following sequence:
RISC Parameter Block Configuration:
Enable Hard Loop Id (n): ?
Frame Payload size (dec) (2048) ?
Execution Throttle (dec) (16) ?
Login Retry Count (dec) (8) ?
Adapter Hard Loop Id (hex) (00) ?
Extended RISC Parameters - 2
This sub-menu is used to display and modify the Extended Risc parameters.
Selection of this menu produces the following sequence:
Extended RISC Parameters:
Operation Mode Bits:
Enable Zero Interrupt Operation (n): ?
Init Configuration Mode:
For Connection Type, enter:
0 for Loop Only
1 for Point-to-Point
2 for Loop or Point-to-Point
Return to keep current
Connection (Loop or Point-to-Point) ?
Enable FC Tape (n): ?
Interrupt Delay Timer (dec) (0) ?
Firmware Special Options - 3
This sub-menu is used to display and modify the Firmware Special Options parameters.
Selection of this menu produces the following sequence:
FW Special Options:
For Data Rate, enter:
0 for 1 Gbit
1 for 2 Gbit
2 for Auto
Return to keep current
Data Rate (1 GBit) ?
Host Parameter Block - 4
This sub-menu is used to display and modify the Host Parameter Block Configuration parameters.
Selection of this menu produces the following sequence:
Host Parameter Block Configuration:
Enable Extended Logging (n): ?
Enable LIP Reset (n): ?
Enable LIP full login (y): ?
Enable target reset (n): ?
Reset delay (dec) (5) ?
Port down retry count (dec) (8) ?
Max Luns per target (dec) (32) ?
EFI Parameters - 5
This sub-menu is used to display and modify the EFI parameters.
Selection of this menu produces the following sequence:
EFI parameters:
Enable Selective Login (n): ?
Enable Alternate Boot Device (n): ?
Report SCSI Device Path (n): ?
Enable Selective Lun logins (n): ?
Memory mapped registers (n): ?
Link Down timeout (dec) (0) ?
WWN Database - 6
This sub-menu is used to display and modify entries in the World Wide Name database.
Information Commands
Display WWN database - d
This command displays the contents of the WWN database in list form.
Use this command to examine all of the entries in the database at a single key stroke.
Help - h
This command displays a brief list of available CLI commands.
adapter Information - i
This command displays the following adapter information:
1. Adapter EFI Device Path
2. Adapter Port WWN
3. Adapter Serial Number
4. Adapter ID field from the NVRAM
The device path displayed by this command can be used to determine which adapter
configuration is being displayed.
display Translation table - t
This command displays the Scsi Target ID translation table. The display is a list of
Scsi TID Fibre Channel Loop Id pairs. Each entry in the list consists of the Scsi
ID (TID), FC Loop ID (LoopId), world wide port name (WWPN), and world wide node name
(WWNN) for a device. All numbers are hexadecimal. TID's from 0 to 0x05 are persistent
while TID's above 0x06 are assigned sequentially as devices are discovered. FC Loop ID's
above 0x80 are fabric devices while those below 0x7f are FCAL devices.
The Drive Table lists the SCSI Target ID, LUN, and LOOPID for each logged in drive. FC
devices appear in the Translation Table and FC LUN's that are presented to EFI appear
in the second table.
display raw nvram buffer - y
This command displays the contents of the configuration protocol local buffer in a 16
byte by 16 line hex display.
Operation Commands
Abandon nvram changes - a
This command restores the Configuration Protocol local nvram buffer with the contents
of the NVRAM.
Write changes to NVRAM - w
This command writes the current configuration protocol local buffer to the NVRAM. It may
be used any time a CLI command has been used to modify configuration data. When the NVRAM
has been successfully written, the NVRAM local buffer is reloaded with the NVRAM data
from the hardware.
Quit - q
Terminate the configuration and return to the EFI shell. Note, you must use the Write
changes command, w, to save any changes to NVRAM before exiting.
Specific Option Descriptions
EFI parameters - 5
This command displays and changes three boot options.
1. Selective Login
2. Alternate Boot Device
3. Scsi Device Path
4. Enable Selective Lun logins
5. Memory mapped registers
Selective Login uses the WWN database as a list of FC devices that the adapter is
permitted to log into. Enable this option to limit the adapter device discovery to
those devices in the database.
The Alternate Boot Device option uses the WWN database entries 0 and 1 as the
primary and alternated boot device entries. If this option is enabled, the device
with the WWPN and WWNN in database entry 1 will be reported to EFI as the primary
boot device if the device with WWPN and WWNN in database entry 0 is not found.
If the primary boot device is found, the secondary boot device is not presented to
EFI. When this option is not selected, entries 0 and 1 are both reported if found.
The normal device path reported to EFI is Fibre Channel WWN and Lun. Enable this
option to change the reported device path for ALL devices found by this adapter to
SCSI Target and Lun.
Two methods of limiting the number of LUNs per FC device presented to EFI are available.
They are:
1. the Max Luns per Target parameter (Host Parameter Block, menu 4)
2. Enable Selective Lun logins
The Max Luns per Target specifies the highest LUN number that will be scanned and
presented to EFI. This works for most cases. Using the Enable Selective Lun logins
allows the user to specify a specific LUN on a specific Port WWN to be presented. All
other LUN's are ignored on the device. Please refer to the section on SAN Environment
features in this document.
The driver uses I/O space to access the HBA registers by default. This is used to
select Memory Mapped register access.
WWN database - 6
This command displays and modifies a particular entry in the WWN database. The first
parameter is the number of the entry in the entry in the database to be displayed.
This is currently an integer between 0 and 8. The second parameter is the Port WWN
for the selected entry. This is a 16 digit Hex number with the current value displayed
in parenthesis. If database entries 0 or 1 are selected, a third parameter, the Node WWN
is displayed. As with the Port WWN, this is a 16 digit Hex number. Entering 0 for
the Node WWN causes the EFI SPT driver to treat this database entry like a Port WWN only entry.
SAN Environment Features
The Qlogic EFI driver provides several features to allow the system administrator
to tailor each adapter to the SAN environment. These features are Selective Login,
Persistent Binding, and Alternate Boot Device Selection. All of these features use the
HBA WWN database. The p configuration command is used to display and modify the database.
Use the b configuration command to enable Selective Login or Alternate Boot Device Selection.
Persistent Binding is always enabled. Any WWN in the database is automatically bound to
a persistent Scsi ID.
WWN Database Description
The EFI Driver Configuration protocol is used to create and maintain the WWN database
for each HBA. Each HBA reserves the first 6 SCSI Target Id's for use with persistent
binding. The default SCSI Target Id (TID) for the HBA is 0. The next 5 SCSI TID's are
bound to the entries in the WWN database.
Database entry 0 corresponds to SCSI TID 1, database entry 2 corresponds to TID 2, and so on.
Database entries 0 and 1 allow the user to specify Port and Node WWN's. In addition, an 8 bit
LUN field is available. Note that this LUN field is shared between these entries
Database entries 2 to 5 allow the user to specify a Port WWN and a 16 bit LUN.
Menu option 6 is used to display and modify any particular database entry.
The complete database may be displayed using option d.
Selective Login
Selective login allows the system administrator to select which fabric devices the
HBA will login to and present to the system. When this feature is enabled, up to 5
FC devices may be specified. At driver binding start time, the driver queries the
fabric Simple Name Server (SNS) for devices. Each WWN received from the SNS is compared
against the entries in the WWN database. The HBA will only log in to those WWN's that
are found in the database. This feature is enabled using Menu 5.
Selective LUN Login
Where as Selective login is used to select FC devices, Selective LUN
login is used to select a specific LUN on one of these devices. This option uses
the LUN fields of the WWN database to specify which LUN on a WWN should be presented to EFI.
Persistent Binding
Persistent Binding allows the system administrator to bind an FC device to a particular
Scsi ID. To use this feature, the system administrator places the WWPN of the device
to be bound in the WWN database of the adapter. At driver binding start time, the
driver searches for FC devices on both the fabric and loop. Each WWPN that is found
is compared to the WWN database and any match assigns the Scsi ID corresponding to the
slot in the database to the device.
Alternate Boot Device Selection
Alternate Boot Device Selection allows the system administrator to define and bind
a primary and an alternate FC device to a single Scsi ID. Both the port and node
WWN's of each device may be specified. At driver binding start time, the driver
looks for the primary device. If it is found, the device is bound to a fixed Scsi
ID and the alternate device is ignored. If the primary device is not found, the
driver searches for the alternate device. If found, the alternate device is bound
to the same fixed ID as the primary device. This feature is enable using menu option 5.
EFI Driver Diagnostics
Starting the Diagnostic Protocol
For a more detailed description of the EFI commands used in this procedure, refer
to the EFI Shell documentation provided with your computer or the EFI project
documentation at http://www.intel.com/technology/efi/index.htm. There are three
levels of diagnostics available:
Standard, extended, and manufacturing. The selection of the diagnostic level is
made using a command line switch.
The Diagnostic protocol is started from the EFI Shell using the following procedure:
Enter the following command:
Drivers <CR>
A list of installed EFI drivers is displayed in tabular form. Under the DRIVER NAME
heading, find the driver with name QlcFC SCSI PASS Thru Driver. Find the corresponding
driver handle number for this driver in the DRV column of the table. Note that there
may be more than one instance of the driver listed or there may be a single instance
of the driver. In the former case, a driver is managing a subset of available QLA23xx
adapters. In the later case, a single driver is managing one or more QLA23xx drivers.
Either case is correct.
For the rest of this procedure, DRVNUM will refer to the driver handle number obtained
in the previous step.
Enter the following command:
Drvdiag DRVNUM <CR>
A list of adapters being managed by this driver will be displayed. Select the one
you wish to configure and note its handle number. We will refer to this as CTRLNUM from now on.
Standard Level Diagnostics
Enter the following command to run the standard type diagnostic protocol on this adapter:
Drvdiag -s DRVNUM CTRLNUM <CR>
This diagnostic performs a Mailbox test on the HBA registers followed by a Loopback test
at the 10 bit interface. At the end of the test, the diagnostic performs and
disconnect / connect sequence for the adapter to restart the controller.
Extended Level Diagnostics
Enter the following command to start the extended type diagnostic protocol on this adapter:
Drvdiag -e DRVNUM CTRLNUM <CR>
This diagnostic performs a Mailbox test on the HBA registers followed by
loopback tests at the 10 bit interface and the 1 bit interface. At the end of the test,
the diagnostic performs and disconnect / connect sequence for the adapter to restart the controller.
Manufacturing Level Diagnostics
This menu is for manufacturing use only.
Enter the following command to start the interactive (manufacturing level)
diagnostic protocol on this adapter:
Drvdiag -m DRVNUM CTRLNUM <CR>
You should see a message containing version information followed by the QlcDiag>
prompt. All CLI commands are single letter commands with no immediate parameters.
Entering a single letter followed by a return starts the command. A brief description
of each command if available using the h command. Where possible the letter of the
command corresponds to the first letter of the command mnemonic.
Command summary
a - Adapter EFI Path
c - FC Connection state
h - Help
i - Iteration loop count for loopback tests
l - Loopback test
m - mailbox register test
p - loopback Point
q - Quit
Command Details
Adapter Path - a
This command displays the adapter EFI path. Use this to verify that the
diagnostics are running on the correct adapter.
FC Connection state - c
This command displays the state of the FibreChannel connection for the adapter.
There are two major states, UP and DOWN. If the connection is UP, then the type of
connection is displayed:
Help - h
This command displays a brief list of available CLI commands.
Iteration count - i
This command displays and modifies the number of passes the loopback test will
perform. The available range is 1 to 10000.
Loopback test - l
This command runs the loopback test. The loopback test builds a known 4096 byte
pattern in a transmit buffer, transmits, receives and compares the result. There
are a number of loopback test failures:
Loopdown indicates that loopback point was selected as external and the FC
loop connection is down. This state is detected before the loopback
test begins.
Failure due to loop errors. The CRC error count and the pass at which the
failure occurred is display.
Data miscompare. This is the part of the test occurs after the transmission
and reception of the data has been successfully completed.
Loopback Point selection - p
This command is used to display and modify the loopback point. The selections are:
1. 10 bit
2. 1 bit
3. external
Mailbox register test - m
This command performs a mailbox register test on the adapter hardware.
Using the EFI Configuration And Diagnostic Protocol Version 1.3 March 21, 2003
Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.