Qlogic | QLA 2342 | Fibre Channel QLA Driver for Solaris SPARC and x86

Fibre Channel QLA Driver
for Solaris SPARC and x86 Platforms
This software license applies only to QLogic customers.
QLogic Corporation.
All rights reserved.
Table of Contents
1. OS Support
2. Software Requirements
2.1 QLogic HBA Device Driver Package
2.2 Optional QLogic Software Packages
3. Supported Features
4. Installing the Driver
4.1 Installing the Driver for the First Time on the System
4.2 Updating the Driver on the System
4.3 QLogic FC-IP Driver
5. Removing the Driver
5.1 Package Pre-Removal
5.2 Files to be Backed Up
5.3 Package Removal
6. Driver Parameters
6.1 Driver Parameter Descriptions
6.2 Persistent Name Binding
6.3 Target Masking
6.4 LUN Masking
6.5 Failover
6.6 FC-SP Security (QLA2300 Only)
7. Frequently Asked Questions
8. Contacting Support
1. OS Support
The QLogic Solaris driver packages contain drivers that support the following versions of Solaris:
●
●
SPARC platform package (qla2300.sparc_pkg.Z):
❍
Solaris 2.6
❍
Solaris 7
❍
Solaris 8
❍
Solaris 9
❍
Solaris 10
x86 platform package (qla2300.i386_pkg.Z):
❍
Solaris 9
❍
Solaris 10
2. Software Requirements
Sun SPARC Platform:
Sun Solaris operating system (2.6, 7, 8, 9, or 10).
The appropriate OS version SPARC Solaris cluster patch set, available from Sun at: http://www.sunsolve.sun.com
For Solaris 8 and 9, the Solaris SAN Foundation patches, available from Sun at: http://www.sun.com/storage/san
(follow the download link, and download the file:
SAN_x.y_install_it.tar.Z
where x.y is the Sun version number, i.e., "4.4".
The latest QLogic HBA driver package (i.e., qla2300.sparc_pkg.Z), available from http://qlogic.com/support/
drivers_software.asp.
Sun x86 Platform:
●
Sun Solaris 9 or 10 operating system for x86 platform.
●
The appropriate x86 Solaris cluster patch set, available from Sun at: http://www.sunsolve.sun.com
●
The latest QLogic HBA driver package (i.e., qla2300.i386_pkg.Z), available from http://qlogic.com/support/
drivers_software.asp.
2.1 QLogic HBA Device Driver Package
It is highly recommended that you obtain the latest QLogic HBA Device driver package from the QLogic web site
(www.QLogic.com) before proceeding with the installation of the driver. It is also recommended that you obtain the
latest readme.txt (this file) for any updates.
The qla2300.<platform>_pkg.Z (where <platform> is either sparc or i386.
NOTE: This package supports all 2-Gb and 4-Gb HBAs stated in the release notes. The QLogic QLA200 adapter is
only supported on the Sun Solaris x86 platform.
Each driver package is a compressed package format file which contains:
●
The QLA2300 Solaris driver and utilities.
●
The Solaris SNIA 1.0 libraries.
You may choose to install just the driver, or libraries, or both depending on your requirements. Note that the SNIA
libraries, depending on the platform, may have more that one version you may install.
2.2 Optional QLogic Software Packages
QLogic provides optional software which assists the user in configuring and monitoring their local HBA's and HBA's
within the SAN:
QLogic SANsurfer HBA Manager, or the QLogic SANsurfer Command Line Interface utility.
For further information, please see the QLogic website (www.QLogic.com).
3. Supported Features
The QLA2300 driver supports the following features:
●
Extended LUN support
●
Point-To-Point F port, FL port, N port and Arbitrated Loop configurations
●
Fibre Channel Tape support
●
Enhanced Loop ID support (2048 Loop IDs) in F port configuration (ISP6312 only supports 8 loop ID's)
●
Full-duplex operation in loop configuration
●
Persistent Name Binding support
●
SNIA 1.0 support
●
●
2 Gigabit per second data rate (QLA2310, QLA2340, QLA2342, QLA2344, QCP2340, QCP2342, QSB2340, and
QSB2342)
4 Gigabit per second data rate (QLA2440, QLA2460, QLA2462, QLE2440, QLE2460, QLE2462, QEM2462,
QLE2464, and QLE220)
●
Failover support
●
Beacon support (except QLA200 and QLA210)
●
ECHO support
●
Dynamic Update of driver parameters
●
Driver update without reboot
●
HBA bus architectures: PCI, PCI-E, cPCI, and Sbus
●
Chipsets: ISP2300, ISP2310, ISP2312, ISP2322, ISP2422, ISP2432 (SPARC & x86)
●
Chipsets: SP212, SP222, SP232 (x86 only)
NOTE: Documentation for the driver utilities, which includes the command line dynamic update utility, qlreconfig,
is included with the driver and is installed into the directory specified during installation (the default directory is: /
opt/QLogic_Corporation/drvutil).
4. Installing the Driver
This section is divided into several subsections, please review each of them and decide which section applies to your
installation.
4.1 Installing the Driver for the First Time on the System
Theses installation procedures assume that you have downloaded the correct driver package into an installation
directory on the machine where the driver is to be installed, and that you are logged on and have superuser
privileges.
4.1.1 New SPARC Platform Installation
NOTE: When installing the HBA and driver for the first time you should install the driver FIRST, and then install the
HBA into the system. This allows Solaris to correctly bind the qla2300 driver to the QLogic HBA. Failure to do so will
require an additional system reboot after the driver is loaded.
If there are QLogic HBAs already installed in the system, an additional reboot will be required if the system has the
native Solaris driver (qlc) already installed on the system. The native Solaris driver (qlc) detects and attaches to the
QLogic HBA. A reboot allows the QLogic driver to attach to the adapter first, thus preventing the native Solaris driver
from attaching to the adapter.
1. Uncompress the driver package:
uncompress qla2300.sparc_pkg.Z
2. Package add the driver:
pkgadd -d ./qla2300.sparc_pkg
3. Select the QLA2300 driver package (option 1).
4. Answer the pkgadd queries. You may relocate the driver utilities and conf file backup directories when
prompted to suit your system requirements.
5. Depending on the system configuration and HBA installation,
one of the following will apply:
❍
If the QLogic HBA(s) have not yet been installed, the driver will load but fail to attach. Shutdown the
system and install the QLogic HBA(s). When the system is rebooted, the driver attaches to the QLogic
HBA's, and the storage is then available for use. Check the /var/adm/messages file for more detailed
device and adapter information.
❍
❍
If the QLogic HBA's were installed before the driver installation AND the native Solaris driver has
already attached to the QLogic HBA's, then a reboot of the system is required to allow the QLogic
driver to attach to the HBA.
If the QLogic HBA's were installed before the driver installation and the native Solaris driver is NOT
installed on the system, then the driver will dynamically attach and a reboot of the machine is not
required for the driver attachment.
6. Please refer to the driver configuration parameters for any further customization (i.e. persistent binding), or
install the QLogic SANblade Manager, or the QLogic SANblade command line utility for configuration
assistance and HBA monitoring functionality.
4.1.2 New x86 Platform Installation
1. Uncompress the driver package:
uncompress qla2300.i386_pkg.Z
2. Package add the driver:
pkgadd -d ./qla2300.i386_pkg
3. Select the QLA2300 driver package (option 1).
4. Answer the pkgadd queries. You may relocate the driver utilities and conf file backup directories from their
default locations when prompted to better suit your system requirements.
NOTE: If you created a x86 boot device using the QLA2300 driver, a conflicting message is displayed for
several driver files -- this is expected and it is safe to accept the conflicting files to be reloaded.
5. As the QLogic HBA has not yet been installed, the driver will load but fail to attach. Shutdown the system and
install the QLogic HBA(s). When the system is rebooted, the driver attaches to the QLogic HBA's, and the
storage is available for use. You may check the /var/adm/messages file for more detailed device and adapter
information.
6. Please refer to the driver configuration parameters for any further customization (i.e., persistent binding), or
install the QLogic SANsurfer HBA Manager, or the QLogic SANsurfer command line utility for HBA
configuration and HBA monitoring functionality.
4.2 Updating the Driver on the System
This section assumes that you currently have a previous QLA2300 driver package installed your machine. In order to
install the new driver package you must first uninstall the currently installed QLA2300 driver package -- see section
5. After completing section 5, you can return here to continue with the installation of the new driver.
The updating driver sections assume that you have downloaded the correct driver package into an installation
directory on the machine where the driver is to be installed, and that you are logged on and have superuser
privileges.
4.2.1 Updating the SPARC Platform Driver
1. Uninstall the current QLA2300 driver (see section 5).
2. Uncompress the driver package:
uncompress qla2300.sparc_pkg.Z
3. Package add the driver:
pkgadd -d ./qla2300.sparc_pkg
4. Select the QLA2300 driver package (option 1).
5. Answer the pkgadd queries. You may relocate the driver utilities and conf file backup directories from their
default locations when prompted to better suit your system requirements.
6. The driver is then dynamically attached and loaded. The devices are available for use. You may check the /
var/adm/messages file for more detailed device and adapter information.
NOTE: As discussed in section 5, if you uninstalled the 4.14 driver (or earlier), you must reboot your system
to install the 4.15 driver (or later). After installing the 4.15 driver (or later), the install script dynamically
unloads and reloads the drivers.
7. Please refer to the driver configuration parameters for any further customization (i.e., persistent binding), or
install the QLogic SANsurfer HBA Manager, or the QLogic SANsurfer command line utility for HBA
configuration and adapter monitoring functionality.
4.2.2 Updating the x86 Platform Driver
1. Uninstall the current QLA2300 driver (see section 5).
2. Uncompress the driver package:
uncompress qla2300.i386_pkg.Z
3. Package add the driver:
pkgadd -d ./qla2300.i386_pkg
4. Select the QLA2300 driver package (option 1).
5. Answer the pkgadd queries. You may relocate the driver utilities and conf file backup directories from their
default locations when prompted to better suit your system requirements.
6. The driver is then dynamically attached and loaded. The devices are available for use. You may check the /
var/adm/messages file for more detailed device and adapter information.
NOTE: As discussed in section 5, if you uninstalled the 4.14 driver (or earlier), you must reboot your system
to install the 4.15 driver (or later). After installing the 4.15 driver (or later), the install script dynamically
unloads and reloads the drivers.
7. Please refer to the driver configuration parameters for any further customization (i.e. persistent binding), or
install the QLogic SANsurfer HBA Manager, or the QLogic SANsurfer command line utility for HBA
configuration and HBA monitoring functionality.
4.3 QLogic FC-IP Driver
4.3.1 Installing the QLogic FC-IP Driver
1. Login to your Solaris system as root.
2. Locate the first instance number of the qla2300 driver used for FC-IP installed. If the instance number is
other than zero, then FC-IP driver configuration file needs to be changed from the default. Change the
instance number to match that of the qla2300 driver.
File: q3ip.conf
name="q3ip" parent="pseudo" instance=0;
3. Type the following command to add the driver to Solaris:
add_drv q3ip
This completes the FC-IP Driver Installation.
4.3.2 Configuring the QLogic FC-IP Driver
Decide which instance number of the QLogic HBA adapter driver you want to run IP on. This is used to plumb the IP.
In the following examples adapter HBA instance 0 is used.
1. Type the following commands to plumb the IP:
devfsadm
ifconfig q3ip0 plumb
NOTE: You can create a hostname file in the /etc directory for the QLogic FC-IP driver. It contains the
hostname given to the host that the QLogic FC-IP is connected to. This name must have a corresponding IP
address in the /etc/hosts file that is a different subnet than other ethernet adapters on the system. For
example:
hostname.q3ip0
2. Restart the system -- reboot with the -r option.
5. Removing the Driver
The driver's "Dynamic Unload" (or "no-reboot driver") functionality was introduced with the 4.15 driver, which allows
the driver to be unloaded from the system without requiring a system reboot. Previous driver versions (i.e., 4.14 and
earlier), still require a reboot in order to remove them from the system memory.
5.1 Package Pre-Removal
Before installing the new driver, you must remove previous versions of the driver. To remove the QLogic HBA driver
package, run the pkgrm command as follows:
1. Login as root.
2. Determine driver package name. The qla2300 pre 4.12 driver package names are as follows:
OS
Pkg name
Solaris 2.6
QLA2300-1
Solaris 7
QLA2300-2
Solaris 8-9
QLA2300-3
The qla2300 4.12 and later driver package names are as follows:
OS
Pkg name
All Solaris versions
QLA2300
NOTE: An old driver package is considered "conflicting" with the new driver package (e.g., the old driver
package QLA2300-3 "conflicts" with new driver package name QLA2300 -- the old package must be removed
prior to installing the new package).
3. To confirm the installation of the current driver, use the pkginfo command:
pkginfo <package name>
For example:
pkginfo QLA2300-3
OR
pkginfo QLA2300
4. Stop any utilities which are using the QLogic QLA2300 driver, (i.e., any 3rd party applications which use the
QLogic SNIA APIs).
5. Unmount any partitions which use the QLogic QLA2300 driver.
6. Stop any IO going to raw partitions.
5.2 Files to be Backed Up
Starting with Solaris driver version 4.07 a backup of the qla2300.conf file is automatically generated during the
package removal. If you are uninstalling an earlier version of the driver it is highly recommended that you manually
make a backup copy of the /kernel/drv/qla2300.conf file for future reference.
For driver versions between 4.07 and 4.14 the backup file is created in the /kernel/drv directory. For driver
versions 4.15 and later, the backup file is created in the /opt/QLogic_Corporation/confbkup directory, (unless the
default directory is overridden during the driver installation).
The format of the backup file is:
qla2x00.conf_yymmddhhmmss
where:
yy = year (00 - 99)
mm = month (01 - 12)
dd = day (01 - 31)
hh = hour (00 - 23)
mm = minutes (00 - 59)
ss = seconds (00 - 59)
and the yymmddhhmmss is the timestamp denoting when the backup qla2300.conf file was created.
NOTE: A backup qla2300.conf is NOT created if the current qla2300.conf file is the same as the previous backup
qla2300.conf file. If a qla2300.conf backup file does not exist, then a backup file is created.
5.3 Package Removal
Once the correct package name has been determined, the driver package can then be removed from the system.
1. Type the following command:
pkgrm <driver package name>
2. Answer the pkgrm queries. One of the following applies to the package removal:
❍
When uninstalling the 4.15 driver (or later), the driver binary is dynamically removed from system
memory. You must stop all IO, unmount partitions, stop all applications that use the QLogic SNIA
api's, and if FC-IP is configured, (i.e., plumbed), it must be unconfigured.
NOTE: If the driver uninstall process is unable to remove the driver for some reason (i.e., partitions
still mounted, SNIA API's being used, IO is active, or IP is active, etc.), a warning is displayed saying
that the dynamic unload cannot be completed. You have 15 seconds to type a control-c (^c) to
terminate the pkgrm (which is safe to do). You can then correct the problem and re-run the pkgrm. If
you do NOT type control-c (^c) within the 15 seconds, the pkgrm continues the
uninstall process; however, it prevents you from loading a new driver dynamically if the old driver
binary is still running. To workaround this, you must reboot your system.
❍
When removing a 4.14 (or earlier) driver, one of the following applies:
■
If you are planning to install (or update) the QLogic driver, you may postpone the reboot
which will remove the 4.14 (or earlier) driver binary, until after the installation of the updated
QLogic driver (as instructed during the installation section). You may now return to the
installation section of this readme.
■
If you are not planning to install (or update) the QLogic driver, then in order to remove the
driver binary a reboot is required. To properly shutdown processes and reboot the system,
see the appropriate Solaris documentation. If you are sure it is safe to reboot the system,
type:
reboot -- -r
After the reboot, if there is NOT a QLogic driver present to attach to the QLogic HBA, the
native Solaris driver (qlc) (if installed on the system), will attach and bind to the HBA. Note
that this possible configuration is not supported by either QLogic or Sun.
6. Driver Parameters
It is possible to specify parameter values on a per instance basis for the QLogic driver. The configuration file
containing these parameters is /kernel/drv/qla2300.conf file. At system initialization time, the driver outputs to
the console its ID banner which includes its version number and instance number. The drivers ID banner is also
preserved in the file /var/adm/messages. The parameter values are applied on a per instance basis using the driver
instance number specified in the "hba" field of the parameter.
The general format of a driver parameter entry is:
hba<instance number>-<parameter name>=<parameter value>;
There should be no leading spaces for the actual parameter entries.
To specify the link-down-timeout value for driver instance 3, the parameter entry would be the following without the
leading spaces:
hba3-link-down-timeout=60;
On systems containing multiple adapter instances, the value of any specific parameter for instance 0 is applied to an
instance if no entry has been made for that instance. In other words, the parameter value specified for instance 0 is
also used as the default value. Persistent name binding entries are exempt from this rule.
NOTE: In a system configured with a single HBA, the instance number may not be 0 (zero), as the instance number
depends on the other configured bus adapter(s) and the kernel's bus scanning procedure.
6.1 Driver Parameter Descriptions
Name:
Type:
Default:
Usage:
Maximum frame length
Integer, bytes; Range: 512, 1024, 2048
2048 (QLA23xx)
This field specifies the frame payload length (in bytes) used by the
ISP23xx firmware.
NOTE: The minimum value is 512 bytes; if this variable is not equal to
512, 1024 or 2048, the ISP23xx defaults to values specified above.
Entry:
hba0-max-frame-length=2048;
Name:
Execution throttle
Type:
Usage:
Integer, commands; Range: 1 - 65535; Default: 16
This field specifies the maximum number of commands sent per LUN by
the ISP23xx firmware.
NOTE: Exceeding device capabilities causes unneeded command retries
that impact performance.
Entry:
hba0-execution-throttle=16;
Name:
Type:
Usage:
Login retry count
Integer, count; Range: 0 - 255; Default: 1
This field specifies the maximum number of retry attempts for the
firmware when the login into a device fails.
NOTE: Large values may cause long delays during initialization and
device reconfiguration.
Entry:
hba0-login-retry-count=8;
Name:
Enable adapter hard loop ID
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
This field allows the setting of adapters hard loop ID on the fibre
channel bus.
NOTE: May be necessary on some bus configurations where devices fail
to
appear.
Entry:
hba0-enable-adapter-hard-loop-ID=0;
Name:
Adapter hard loop ID
Type:
Usage:
Integer, ID; Range: 0-125; Default: 0
This field specifies the adapters hard loop ID to be used on the Fibre
Channel bus.
NOTE: This field takes effect only when adapter hard loop ID is enabled
Entry:
hba0-adapter-hard-loop-ID=0;
Name:
Enable LIP reset
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
This field enables the adapter to issue a LIP reset during Fibre
Channel reset.
Entry:
hba0-enable-LIP-reset=0;
Name:
Type:
Usage:
Enable LIP full login
Integer, flag; Range: 0 (disable), 1 (enable); Default: 1
This field enables the adapter to issue a LIP full login reset during Fibre
Channel reset.
Entry:
hba0-enable-LIP-full-login=1
Name:
Enable LIP target reset
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
This field enables the adapter to issue a LIP target reset during Fibre
Channel reset.
Entry:
hba0-enable-target-reset=0;
Name:
Reset delay
Type:
Usage:
Integer, seconds; Range: 0 - 255; Default: 5
This field specifies the delay after a reset before sending commands to
the devices on the Fibre Channel bus.
Entry:
hba0-reset-delay=5;
Name:
Port down retry count
Type:
Usage:
Integer, count; Range: 0 - 255; Default: 8
This field specifies the amount of command retries to be done when
devices are not responding on the Fibre Channel bus.
NOTE: Large values may cause long delays for failover software to
detect a failing device.
Entry:
hba0-port-down-retry-count=8;
Name:
Port down retry delay
Type:
Integer, count; Range 0 - 255; Default: 0
Usage:
Amount of time to delay between port down retries.
NOTE: Large values may cause long delays for failover software to
detect a failing device. May also cause upper layer driver or applications
to timeout the IO's.
Entry:
hba0-port-down-retry-delay=0;
Name:
Maximum LUNs per Target
Type:
Usage:
Integer, count; Range: 1 - 256; Default: 8
Maximum number of LUNs to scan for, if the target does not
support SCSI Report LUNs command.
NOTE: Large values may cause long delays during boot.
Entry:
hba0-maximum-luns-per-target=8;
Name:
Connection options
Type:
Usage:
Integer, mode; Range: 0 - 2; Default: 2
0 = loop only
1 = point-to-point only
2 = loop preferred, else point-to-point
This field specifies the connection mode the driver firmware uses. When
connecting the HBA to a switch port with auto- mode sensing capability
(a G port), it is recommended that this parameter be set to either 0 or
1, not 2. Setting this parameter to 2 when connected to a G port on a
switch may result in device lost or system hang.
Entry:
hba0-connection-options=2;
Name:
FC tape support
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 1
This field enables/disables the Fibre Channel tape support.
Entry:
hba0-fc-tape=1;
Name:
Fibre Channel Data Rate Option (QLA2300 only)
Integer, mode; Range: 0-2; Default: 2
0 = 1 gigabit/second
Type:
1 = 2 gigabit/second
2 = Auto-negotiate
3 = 4 gigabit/second
Usage:
This field specifies the data rate which the driver uses.
Entry:
hba0-fc-data-rate=2;
Name:
PCI latency timer
Type:
Usage:
Integer, bytes; Range: 0x8 - 0xF8; Default: 0x40
This register specifies the minimum number of PCI clocks that the
adapter has on the PCI bus when bursting data.
In multiples of 8 bytes.
Entry:
hba0-pci-latency-timer=0x40;
Name:
PCI-X Maximum Memory Read Byte Count
Type:
Usage:
Integer, bytes; Range: 0, 128, 256, 512, 1024, 2048, 4096
Default: 0 system default
This register specifies the maximum byte count that the
adapter can specify in the attribute phase of a
initiated burst memory read commands.
Entry:
hba0-pci-x-max-memory-read-byte-count=0;
Name:
Link down error
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 1
This field disables the driver error reporting during link down
conditions.
Entry:
hba0-link-down-error=1;
Name:
Link down timeout
Type:
Integer, seconds; Range: 0 - 240; Default: 60
Usage:
This field specifies the amount of time the driver waits for a Fibre
Channel loop to come up before reporting the failure.
NOTE: Small values may report transient errors that should be ignored.
Entry:
hba0-link-down-timeout=60;
Name:
Dynamic device support
Type:
Usage:
Entry:
Integer, flags; Range: 0, 1, 2, 4, 8
Default: 0 -- Dynamic device support enabled.
This field enables and/or disables the driver from dynamically adding
and dynamically configuring new devices.
hba0-disable-dynamic-device-support=0;
NOTE: The field is composed of the following values:
0 --> Dynamic device support enabled for all types of devices.
1 --> Dynamic device support disabled for all types of devices.
2 --> Dynamic device support disabled for disk devices only.
4 --> Dynamic device support disabled for tape devices only.
8 --> Dynamic device support disabled for ses devices only.
User also needs to remove the driver's entry in the corresponding sd.
conf, st.conf, and ses.conf file (i.e., parent="qla2x00"...), and populate
the file (i.e., sd.conf) with the appropriate entries -- the machine needs
to be rebooted to take effect. If disabling specific device types, the
values 2, 4, and 8 can be combined (e.g., to disable tape and ses, the
value would be 12 (8+4)). Note that if any of the device specific flag
values are used, it is invalid to combine them with the "disable all
types" value.
Name:
Persistent binding only option
Integer, mode; Range: 0-1; Default: 0
Type:
0 = Reports to OS discovery of binded and non-binded devices
1 = Reports to OS discovery of persistent binded devices only
NOTE: This entry is ignored when qla-mpconfig parameter is found.
Entry:
hba0-persistent-binding-configuration=0;
Name:
Persistent binding by port ID
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables binding by port ID instead of node/port names. When
enabled, a target can be replaced with a new device, and the new
device appears to the OS as the same target id.
NOTE: Use this option with caution. Enabling this feature prevents the
driver from rebinding devices which may have been swapped, removed,
etc., on the fabric switch. If this option is enabled and devices on the
switch are inadvertently switched (i.e., cables are swapped), the
incorrect data is sent to the devices.
Entry:
hba0-persistent-binding-by-port-ID=0;
Name:
Fast Error Reporting
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
This field enables fast driver error reporting to Solaris.
Entry:
hba0-fast-error-reporting=0;
Name:
Enable SBUS initialization for Xilink download
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
This field enables SBUS board initialization by the driver for
use with the Xilink emulator.
Entry:
hba0-xilinx-mode=0;
Name:
Enable extended logging
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
This field enables logging of driver detected events occurring either in
the driver or fibre channel bus. Events are logged in Solaris /var/adm/
messages file.
Entry:
hba0-extended-logging=0;
Name:
Queue full retry count
Type:
Usage:
Integer, count. Range: 0 - 255. Default: 16
This field specified the number of times to retry a SCSI queue full error.
Entry:
hba0-queue-full-retry-count=16;
Name:
Queue Full Retry Delay
Type:
Usage:
Integer, seconds. Range: 0 - 255 seconds. Default: 2
This field specifies the amount of time to delay after a SCSI queue full
error before starting any new I/O commands.
Entry:
hba0-queue-full-retry-delay=2;
Name:
Enable DH-CHAP security protocols (QLA2300 only)
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
This field enables Fibre Channel security protocol DH-CHAP.
Entry:
hba0-security-protocols=0;
Name:
Fabric-Device Management Interface (FDMI) support.
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
This field enables/disables the FDMI support.
Entry:
hba0-FDMI-support=0;
Name:
SCSI targets
Type:
Usage:
Integer, comma separated list; Range: 0-255
To limit the target scan and speed up the boot process this list specifies
the targets that are contained in the SANsurfer HBA Manager.
Entry:
SCSI-targets="88,2,92,72";
Name:
Last multi-path ID
Type:
Integer, count. Range: 0 - 255
Usage:
To limit the target multi-path ID scan and speed up the boot process
this specifies the last multi-path ID contained in the SANsurfer HBA
manager configuration.
Entry:
last-mp-id=255;
Name:
VPD support
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Uses the device VPD data in failover configurations to help identify
devices.
Entry:
hba0-VPD-support=0;
Name:
Enable Flash Load
Type:
Usage:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
This field enables the loading of RISC firmware from the flash chip
instead of from the driver. Only ISP24xx
Entry:
hba0-enable-flash-load=0;
Name:
Advance Interrupt Framework support
Type:
Usage:
Entry:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Enables the use of AIF for OS levels that have support.
hba0-AIF-support=0;
6.1.1 Q2IP/Q3IP Parameter Description
Maximum number of receive buffers.
Type: Integer, count; Range: 64 - 65535; Default: 256
Usage:
This field specifies the number of receive buffers available for incoming
IP packets.
Entry: hba0-ip-buffers=256;
Maximum Transfer Unit (MTU)/ receive buffer size.
Type: Integer, bytes; Range: 1500 - 65256; Default: 1500
Usage:
This field specifies the maximum size of IP packets.
Entry: hba0-ip-mtu-size=1500;
Enable extended logging.
Type: Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables logging of driver detected events occurring either in
the driver or fibre channel bus. Events are logged in Solaris /var/adm/
messages file.
Entry: hba0-extended-logging=0;
Hard-coded NVRAM values
The following firmware option values are hard-coded in the driver:
●
Enabled Node Name option
●
Enabled Full Login after LIP
●
Disabled Stop PortQ on Full Status
●
Enabled PDBC notify
●
Enabled Target Inquiry Data for disabled LUNs
●
Enabled ADISC
●
Disabled Disable Initiator Mode
●
Disabled Enable Target Mode
●
Enabled Fairness in loop arbitration
6.2 Persistent Name Binding
Persistent Name Binding support is available for target devices. This support is provided for users to associate a
specified device World Wide Port Name (WWPN) to a specified SCSI target ID.
For driver version earlier than 4.15, it is implemented through both the /kernel/drv/sd.conf and /kernel/drv/
qla2300.conf files. The matching between the target device port, the SCSI target ID, and the adapter driver
instance happens inside /kernel/drv/qla2300.conf.
For driver versions 4.15 and later, the driver dynamically discovers targets, so no entries in the sd.conf or st.conf
files are required. Note that if you disable dynamic discovery of devices (via the hbaX-disable-dynamic-devicesupport parameter), you must populate the sd.conf and st.conf files as noted above for pre-4.15 drivers.
The Persistent Name Binding support for target devices associates a SCSI target ID to a specified device World Wide
Port Name or port ID. If port ID binding is specified it takes precedent over World Wide Port Name binding. In other
words, this entry changes the target ID of the specified device to the number specified in the entry.
To enable persistent binding by WWPN, lines of the following format should be added in the qla2300.conf file for
each target device:
hba<#>-SCSI-target-id-<#>-fibre-channel-port-name="<device WWPN>";
For example, to associate the following WWPN with target ID 2 on adapter instance 1, the entry is:
hba1-SCSI-target-id-2-fibre-channel-port-name="2100002037004ac9";
To enable persistent binding by port ID, lines of the following format should be added in the qla2300.conf file:
hba<#>-SCSI-target-id-<#>-port-id="<device port ID>";
For example, to associate the following port ID with target ID 2 on adapter instance 1, the entry is:
hba1-SCSI-target-id-2-port-id="10031e";
The current effective mapping between device WWPN or port ID and SCSI ID of the target devices detected by a
particular adapter instance can be found in the /var/adm/messages file. The information looks similar to this:
qla2300:
qla2300:
qla2300:
qla2300:
qla2300:
hba1-SCSI-target-id-2-fibre-channel-node-name="2000002037004ac9";
hba1-SCSI-target-id-2-fibre-channel-port-name="2000002037004ac9";
hba1-SCSI-target-id-2-port- id="10031e";
hba1-SCSI-target-id-3-fibre-channel-node-name="2000002037004ac7";
hba1-SCSI-target-id-3-fibre-channel-port-name="2000002037004ac7";
qla2300: hba1-SCSI-target-id-3-port-id="10031f";
IMPORTANT
●
Unlike other parameter entries in the qla2300.conf file, values indicated in persistent name binding
entries for instance 0 do not apply to other instances when there are no entries for the other instances.
●
Persistent Name Binding entries are optional entries in the qla2300.conf file. These entries do not
dictate which devices are scanned by the driver, and do not perform any device masking. Absence of this
entry for any given device name or SCSI ID does not direct the driver to perform any type of device
masking.
●
For target devices, if no Persistent Name Binding entries are specified, the default SCSI target IDs
assigned are the loop ID of the devices. Please refer to the FAQ section for which default SCSI target IDs
are assigned to fabric devices.
●
Note that the types of persistent binding entries listed above are not used when persistent binding
information has been entered via the QLogic GUI or CLI utilities. To verify this in the qla2300.conf,
search for the string qla-mp-config-required. If this string exists, then the previous persistent binding
entries will be ignored.
CAUTION: Use extreme caution when the devices are shared among multiple adapters. It is strongly recommended
that all target devices be bound with all adapter instances so that the devices show up in a pre-determinable way. A
shared device which is bound on one adapter instance but unbound on another adapter instance may show up at a
SCSI target ID which is unexpected by the user for the unbound adapter instance, which may lead to possible data
corruption on the device if the user unknowingly writes to the unexpected device.
6.3 Target Masking
The Persistent Binding Configuration option is used to allow only the targets that are persistent bound to be seen by
the OS. See section 6.1 on how to persistent bind a target and persistent bind all targets that are to be seen by the
OS. Then enable the Persistent Binding Configuration option to mask off the targets that are not to be seen. This
parameter takes effect upon reboot or on a dynamic update (see utility readme file in the /opt/QLogic_Corporation/
drvutil directory).
6.4 LUN Masking
The driver reports in the /var/adm/messages file the LUNs that are enabled. The text in the messages look similar to
this:
Jul 23 12:01:38 qla2300: qla2300-hba0-SCSI-target-id-0-lun-0-enable;
To mask a LUN just copy the following portion of the text to the configuration file:
hba0-SCSI-target-id-0-lun-0-enable;
Then change the enable word to disable, resulting in the following string:
hba0-SCSI-target-id-0-lun-0-disable;
This parameter takes effect upon reboot or on a dynamic update (see utility readme file in the /opt/
QLogic_Corporation/drvutil directory).
6.5 Failover
Use the QLogic SANsurfer Manager application to enable and control the driver's ability to perform failover. Persistent
binding are enforced only when the driver has not been configured by QLogic SANsurfer Manager application;
otherwise, the configuration that QLogic SANsurfer Manager sets is used.
6.6 FC-SP Security
You can use the hbaN-security-protocols parameter to enable the driver's ability to perform DH-CHAP security
protocols on a per adapter. The security protocol used is DH-CHAP (Diffie Hellman - Challenge Handshake
Authentication Protocol). DH-CHAP with a NULL DH exchange is currently support for bidirectional authentication.
Hashing algorithm used is MD5, which has been ported from "RSA Data Security, Inc. MD5 Message-Digest
Algorithm". User must set the security keys for the HBA and device (ex. switch). Security keys must be 128 bits long,
which is the size of the hashing algorithm used. User must also associate the device node name with the security key
for the driver. This is done through the driver configuration file as a string containing the node name and security key
for a device. At minimum there would be at least two keys one for the adapter and one for the device. If there were a
switch between the device and the adapter there would have to be a key for it also. Boot is not currently supported
with security paths.
Security Key string = "WorldWideNodeName,SecurityKey";
Security Key Parameter Example:
Device-0-security-key="200000c0dd00c6be,88776655443322118877665544332211";
Device-1-security-key="200000e08b05a164,11223344556677881122334455667788";
7. Frequently Asked Questions
Q:
I installed an additional QLogic adapter in a system with a preexisting QLogic adapter, which is controlled by
the SUN qlc (leadville) driver. Why is the second adapter failing to attach?
A:
If you installed the additional adapter before installing the QLogic driver, initially both adapters are controlled
by Sun's qlc driver. When the QLogic driver is installed it indicates that driver has installed but failed to attach.
This is OK, since the second QLogic adapter is being temporarily controlled by Sun's qlc driver. The QLogic
adapter attaches itself to the second adapter after another reboot is done with the reconfigure (-r) option.
Q:
How are SCSI target ID's assigned for fabric devices?
A:
For devices on switches, if the adapter connection is F_Port then the target ID's start at zero, but if the
connection is FL_Port then the target ID's start at 129 and go up to 254.
Q:
Why do some of the devices connected to a switch fail to show up and how can I fix this?
A:
Some switches have known firmware problems that prevent the driver from detecting devices on the first try.
To work around this problem, you should add Persistent Name Binding entries for the devices connected to the
switch. This forces the driver to perform retries when the specified devices are not found during the fabric
configuration process.
Q:
The Persistent Name Binding entries are not working. Why does the driver see devices that I did not specify?
A:
Persistent Name Binding entries do not direct the driver to perform any type of device masking. For detailed
information on how to perform device masking, please contact QLogic technical support directly.
Q:
The Persistent Name Binding entries are not working. Why does the driver still assign other IDs to the devices
I specified?
A:
For Persistent Name Binding entries to work properly, there must not be any conflict between the device
names specified in the entries and the boot device name stored in the NVRAM. If there are still problems after
the conflicts are resolved, please contact QLogic technical support.
8. Contacting Support
Please feel free to contact your QLogic approved reseller or QLogic Technical Support at any phase of integration for
assistance. QLogic Technical Support can be reached by the following methods:
Web: http://support.qlogic.com
North America Contact Information
Email: support@qlogic.com
Phone: (952) 932-4040
Support contact information for other regions of the world is available at the QLogic website:
http://support.qlogic.com
Go to Top
© Copyright 2006. All rights reserved worldwide. QLogic, the QLogic logo, and the Powered by QLogic logo are
registered trademarks of QLogic Corporation. All other brand and product names are trademarks or registered
trademarks of their respective owners.
Download PDF