Fibre Channel Multi-protocol Port Driver for Windows 2000/2003 on x86 platform
Emulex Corporation
Release v2.23a6 Oct 19, 2004
The contents of this kit are listed below. This kit contains release notes and
necessary files to install the Fibre Channel Multi-protocol Port Driver.
This release includes the following files:
README.TXT This file
emulex.sli A tag file
elxscsi.inf The setup file used by the SCSI Adapter install program
oemsetup.inf The setup file used by the Network Add Adapter program
txtsetup.oem The setup file used when installing Windows NT
elxnet.sys The network driver for Intel platforms
elxsli2.sys The base and SCSI driver for Intel platforms
elxsli2.cat Included only with the digitally signed driver
elxsli2.dll The setup co-installer file for driver installation
Compatibility
* Emulex Fibre Channel adapters LP10000DC and LP10000
(minimum firmware version 1.80a2)
* Emulex Fibre Channel adapters LP9802DC, LP9802 and LP982
(minimum firmware version 1.00a2)
* Emulex Fibre Channel adapter LP101 with firmware version 1.82 or higher
IP protocol is not supported in LP101. Network files may not be included
in the above file list.
* The LP8000, LP8000DC, LP850 HBA's with firmware version 3.03 or
higher, however to support all current driver features we recommend
version 3.20
* The LP9000, LP9002, LP9002DC, LP9402DC, LP952 HBA's with firmware version 3.81
or higher
* The LP7000E HBA with minimum firmware version 3.21a0
* All BootBIOS versions, however we recommend 1.60 or higher.
* Supports arbitrated loop, point-to-point and fabric topologies.
Prerequisites:
* Windows 2000/2003 running on an x86 platform
* Windows 2000 Service Pack 1 (recommended when supporting 126 LUNs or more)
* Installed LP7000E, LP8000, LP8000DC, LP9000, LP9002, LP9002DC, LP9402DC,
LP9802, LP9802DC, LP850, LP952, LP982, LP101, LP10000DC or LP10000.
INSTALLATION INSTRUCTIONS:
To install the Multi-protocol Port Driver on an installed Windows 2000/2003 system:
To install the Fibre Channel (SCSI) protocol stack:
1. Select "Start Menu"
2. Select "Settings" Program Group
3. Select "Control Panel" Program Group
4. Select "System" Icon
5. Select "Hardware" Tab
6. Open SCSI and Raid controllers item in list.
7. Double click on Emulex host bus adapter.
8. Select drivers tab.
9. Select Update Driver
10. Select specify location to search for drivers and indicate path to the
driver kit
11. Select the appropriate driver from the list of other drivers.
12. Repeat for each adapter in the system.
After installing the Emulex HBA Multi-Protocol port driver, Fibre Channel SCSI disk
devices will be automatically detected by Windows if the Automap SCSI Devices
option was selected. If the Automap SCSI devices option was not selected, launch
elxcfg.exe and map the devices as instructed below.
To install the IP (LAN) protocol stack:
The Emulex Configuration Tool and the SCSI protocol stack must be installed
before installing the IP protocol stack. The Emulex Configuration Tool is
installed through the emlxapps installation kit.
1. Reboot the system.
2. Select "Start Menu"
3. Select "Programs"
4. Select the Emulex Configuration Tool
5. In the Emulex Configuration Tool, select a host bus adapter.
6. Press the Network button.
7. Select Enable Networking.
8. Change any other options.
9. Press OK.
10. Press Apply.
11. If enabling networking on more than 1 adapter, repeat steps 2-7.
12. The system should prompt for new hardware. If it does not, reboot the
system.
13. If the system rebooted, login and the system will prompt for new hardware.
14. Select Specify location to search for drivers and indicate path to the
driver distribution.
15. If the network driver does not start, use the Device Manager to disable
and then re-enable the network driver. This will cause the driver to
start.
Installation Options
NOTE: The default installation options, when installing or updating a driver, will
apply for every adapter in the system. The default settings include Auto-Topology
(Loop then Point-to-Point) and Auto Mapping of SCSI Devices set to enabled. To
change any driver parameters after installation, install the configuration tool.
If there are multiple adapters in the system requiring separate options, it is
IMPERATIVE to install each one with the same installation option and then modify
as needed using the Configuration Tool. After modification with the Configuration
Tool, the system will require a reboot.
******* WARNING ********
If updating the SCSI portion of the driver and the network portion of the driver
is installed, it is recommended to remove the network portion of the driver before
beginning the updating procedure.
Registry Options
The options for the device may be set in the SERVICES section of the registry under
the elxsli2 key. Options set under the elxsli2 key are global, meaning they apply as
the default for each adapter installed. The options listed as installation options
are the only globally supported options. The associated value names for each of the
options are listed below:
AllowAck0
If 1, and the device supports class 2, allow the use of ACK_0 for sequence
acknowledgment. If 0, do not allow ACK_0.
Default value: 0
Type: REG_DWORD
ALTOV
Value in milliseconds to be used for the Arbitrated Loop Timeout Value.
Default value: 15
Type: REG_DWORD
ARBTOV
Value in milliseconds to be used for the Arbitration Timeout Value.
Default value: 1000
Type: REG_DWORD
AttemptReEstablish
If 0, when a target disappears and then "quietly" reappears, it will not be detected.
A target has quietly reappeared when no LIP occurs for a device on a loop or no
RSCN is issued for a device on a switch. If 1, after a device disappears, the driver
will poll the Fibre Channel address of the device periodically to see if it has
reappeared.
Default value: 0
Type: REG_DWORD
AutoMap
Value 1 or 0, corresponding to the checked or not checked state of the Automatically
map SCSI devices check box.
Default value: 1
Type: REG_DWORD
BusResetForBreakRes
If 1, it will issue a bus reset instead of a target reset when receiving an
IOCTL_STORAGE_BREAK_RESERVATION IOCTL. The default is 0, where is will issue
a target reset to a given target ID.
Default value: 0
Type: REG_DWORD
DriverTraceMask
Bit mask of available trace options. Trace data is written into the system
event log and if the debugger is connected, to the debugger window.
Default value: 0
Type: REG_DWORD
Following is a list of trace types and the mask values. It is possible to
bitwise OR two or more trace types.
Trace Type Mask Value
SLI_TRACE_MAILBOX 0x00000001
SLI_TRACE_SCSI_ERR 0x00000002
SLI_TRACE_IOTAGS 0x00000004
SLI_TRACE_IOCB 0x00000008
SLI_TRACE_FABRIC 0x00000010
SLI_TRACE_SCSI_MAPPING 0x00000020
SLI_TRACE_INIT 0x00000040
SLI_TRACE_IOCTL 0x00000080
SLI_TRACE_SCSI_RESET 0x00000100
SLI_TRACE_LOGIN 0x00000200
SLI_TRACE_NET_XMIT 0x00000400
SLI_TRACE_NET_RECV 0x00000800
SLI_TRACE_WAIT_READY 0x00001000
SLI_TRACE_RECV_ELS 0x00002000
SLI_TRACE_DOWNLOAD 0x00004000
SLI_TRACE_PRLI 0x00008000
SLI_TRACE_REPORT_LUNS 0x00010000
SLI_TRACE_ENTRIES 0x00020000
SLI_TRACE_ELS_ERRORS 0x00040000
SLI_TRACE_PNP 0x00080000
SLI_TRACE_POWER 0x00100000
SLI_TRACE_SCSI_EXC 0x00200000
SLI_TRACE_UNSUPPORTED 0x00400000
SLI_TRACE_LOGO 0x00800000
SLI_TRACE_FARP 0x01000000
SLI_TRACE_PASS_THROUGH 0x02000000
SLI_TRACE_RNID 0x04000000
SLI_TRACE_NSAPI 0x08000000
EDTOV
Value in milliseconds to be used for the Error Detect Timeout Value.
Default value: 1000
Type: REG_DWORD
FcTape
This value enables the FCP-2 sequence level error recovery. If FcTape is set
to 1, then the firmware is enabled to perform FCP-2 recovery if the target is
capable and requests recovery. If FcTape is set to 0, then the firmware will
not perform FCP-2 recovery. In order to maximize the value of setting FcTape
to 1, ForcePlogi should be set to 0.
Default value: 1
Type: REG_DWORD
EnableFDMI
This value enables the Fibre Device Management Interface(FDMI). If EnableFDMI
is set to 1, this feature will be enable. The default value is set to 0.
Default value: 0
Type: REG_DWORD
ForcePlogi
If this value is non-zero, then the driver will cause implicit logouts with
all devices on a link failure and will rediscover using PLOGI. If this value
is zero, then the driver will not cause implicit logouts and will rediscover
using PDISC where applicable.
Default value: 1
Type REG_DWORD
InitLinkFlags
The InitLinkFlags is divided into several fields. Starting from bit 0,
bits 0-2 are the initialization type. If bits 0-2 are 000, the link will be
initialized as Arbitrated Loop. If bits 0-2 are 010, the link will be
initialized as Point to Point. The presence of a fabric is automatically
detected in either case.
Bit 23, if set, indicates the adapter should attempt the other topology type
if the first selection fails to initialize. This option is only available with
firmware that supports this option.
Bits 24 to 31 are the encoded speed value. If bits 24-31 are 0x00, the link speed
is discovered automatically. If bits 24-31 are 0x01, the link speed is forced to
1 Gigabit per second. If bits 24-31 are 0x02, the link speed is forced to
2 Gigabits per second. This option is only available with adapters that support
more than one link speed.
Default value: 0
Type: REG_DWORD
InterruptCoalesce
The InterruptCoalesce value is a combination of fields. The first field is bits
0 to 7, which is the number of I/Os that should complete before an interrupt
occurs. Bits 8 to 14 are the number of milliseconds that will expire before an
interrupt will be generated if some I/Os complete, but less than the number of
I/Os specified in bits 0 to 7. This option is only meaningful with firmware
version 3.0 or later.
Default value: 0
Type: REG_DWORD
IosPerInterrupt
This is the maximum number of I/Os the driver will complete in a single interrupt.
This value may be modified to achieve an overall system fairness.
Default value: 128
Type: REG_DWORD
LinkDownTimer
LinkDownTimer is the number of seconds the driver will wait after detecting a
link down condition before I/O will be returned with an error. If the link is
restored before the LinkDownTimer expires, the I/O will continue with no error
indication.
Default value: 30 seconds
Type: REG_DWORD
MapLuns
If 0, the driver will operate as before, each LUN will be addressed without any
address translation. If the value is 1, LUN mapping is enabled, and each NT LUN
number will be translated to a 64 bit Fibre Channel LUN number. For new LUNs, this
mapping will be done automatically by the driver. If the report LUNs command is
supported by the target, the first 256 LUNs reported may be used by NT. If the
value is 2, LUN mapping is enabled, but the driver will not automatically map LUNs.
Default value: 0
Type: REG_DWORD
MaximumLun
The Maximum Number of LUNs to probe for during device discovery.
Default value: 32
Type: REG_DWORD
MaximumQueueDepth
The maximum number of SCSI commands that may be issued to a single LUN before
one of the commands must complete.
Default value: 8
Type: REG_DWORD
MultipleScsiClaims
If 1, report each SCSI device for every port by which it is connected. If 0,
report the SCSI device only on the first port by which it is connected.
Default value: 0
Type: REG_DWORD
Network
This value is comprised of two single bit bit fields and one 16 bit integer. Bit 31
is the Network enable for the port. If Network Enable bit is set, then the network
driver can bind to this port. If the Network Enable bit is not set, then the network
driver will not be able to bind to this port. Bit 30 is the Class of Service bit.
If the Class of Service bit is set, network traffic will use Class 2. If the Class
of Service bit is not set, network traffic will use Class 3. Bits 15 - 0 are the
MTU to use for this network connection.
Default value: 1514 (Network Disabled, Class 3, MTU = 1514 bytes)
Type: REG_DWORD
NodeId
The NodeId is a 32 bit quantity that is used with a fixed 32 bit value to create
a World Wide Node name for the entire system. The created World Wide Node name has
the value of 0x50000c90xxxxxxxx, where xxxxxxxx is the 32 bit value contained by
the NodeId value. It is up to the assignor of NodeId to ensure the uniqueness on
a single Fibre channel fabric. If the value is 0, or the value is not present in
the registry, the Node World Wide name is derived from NVRAM on the adapter.
Default value: 0
Type: REG_DWORD
NsQueryAll
If 1, request all N-Ports connected to the Fabric from the name server. If 0,
request only registered SCSI FCP devices.
Default value: 1
Type: REG_DWORD
QuickFail
QuickFail is useful in redundant path setups. When QuickFail is nonzero, then
I/O is returned with an error as soon as the WaitReadyTimeVal expires the first
time. Also, if a node is not present in the Name Server response after an RSCN,
the node is immediately marked off-line and I/O is returned. If set to 0, the
driver will send a PLOGI after the initial WaitReadyTimeVal expiration and
wait one additional WaitReadyTimeVal before returning I/O with an error.
Default value: 0
Type: REG_DWORD
RATOV
Value in seconds to be used for the Resource Allocation Timeout Value.
Default value: 2
Type: REG_DWORD
RegisterForStateChange
If 1, the driver will register for RSCN state change notifications if a
fabric is present. If 0, the driver will not register for the RSCN state
change notifications.
Default value: 1
Type: REG_DWORD
RetryAttempts
The number of times the driver will retry a command completing with a retryable status
before returning the status to the caller.
Default value: 64
Type: REG_DWORD
RetryPlogiOpenFailures
If non-zero, the driver will retry PLOGIs that fail with an open failure up to
3 times. If zero, the driver will assume a PLOGI that fails with an open failure
is an indication no device is present. This only has meaning for private loop
and local loop devices.
Default value: 0
Type: REG_DWORD
RetryTimer
The time in milliseconds the driver will wait before retrying a command.
Default value: 2000
Type: REG_DWORD
RetryUnitAttention
If 1, the driver will retry commands that complete with Unit Attention status. If 0,
the driver will complete the command with appropriate status.
Default value: 0
Type: REG_DWORD
ScanDeviceIdOrder
If 0, then the local loop is scanned from ALPA 0x01 to ALPA 0xEF. If 1, then the
local loop is scanned from 0xEF to 0. Also, if 1, the NT ID for automapped SCSI
devices is the same as the device's Device ID.
Default value: 1
Type: REG_DWORD
ShowUnknowns
If 0, only LUNs with a Peripheral Qualifier of 0 will be reported in the Inquiry
buffer. If 1, then LUNs with a Peripheral Qualifier of 0 or 1 will be reported in
the Inquiry buffer.
Default value: 0
Type: REG_DWORD
TranslateQueueFull
If 1, the driver will translate SCSI Queue Full status to SCSI Busy status to work
around a behavior of the disk class driver. If 0, then the driver will not translate
the status.
Default value: 0
Type: REG_DWORD
TapeResetMask
If 1, the driver will not send Target Reset command to tape drives and media
changers in response to our driver receiving a SCSI Bus Reset command. If 0,
Target Reset command will be sent.
Default value: 0
Type: REG_DWORD
UseReportLuns
If 1, the driver will use the SCSI Report LUNs command to determine the
presence of LUNs on SCSI devices. If 0, the driver will poll up to the
number of LUNs configured with the MaximumLun configuration option.
Default value: 0
Type: REG_DWORD
UseResetForRetry
If 0, the driver will retry commands internally. If 1, then the driver will retry
commands by completing them with a status of SRB_STATUS_BUS_RESET.
Default value: 0
Type: REG_DWORD
UseTargetReset
If 1, use the task management function target reset to emulate a SCSI bus reset.
If 0, use TPRLO.
Default value: 1
Type: REG_DWORD
UniqueNodeWwns
If non-zero, the driver will use the Node World Wide name stored in the NVRAM of
each adapter. If zero, the driver will use the Node World Wide name of the first
adapter found for the Node World Wide name of all adapters. If NodeId is non-zero,
this value has no meaning.
Default value: 1
Type: REG_DWORD
WaitReadyTimeVal
The time in seconds the driver will wait for a device to become available before
commands to the device are returned with SCSI selection timeout errors. If the value
is -1, then the timer value used is 2 * R_A_TOV. If the timer value is 0, then the
driver will wait forever for the target to become available.
Default value: 45
Type: REG_DWORD
Below the elxsli2 key are keys for each adapter installed in the system. Currently,
the keys are the electrical PCI bus number and slot number of the adapter. Note that
the electrical slot number may not match the mechanical slot number. Each of the global
values may be overridden by using the same value name under the per adapter key. Also,
the following values are available under the adapter key:
DidPollList
A list of DWORDs representing a list of 3 byte fibre channel addresses to be checked
during polling. Using the binary editor in the registry editor, these DWORDs must be
entered in Little-Endian mode, i.e.. address 11 22 33 must be entered as 33 22 11 00.
Default value: <empty>
Type: REG_BINARY
ffTraceMask
Value 0 - 0xffffffff. This sets the trace mask on the FireFly. If the PCI Print
option is selected, then the resulting messages will be printed using KdPrint
from inside the driver.
Default value: 0
Type: REG_DWORD
NameServerDelay
Value 0-0xffffffff. This is the number of milliseconds the driver will wait before
sending a name server request. This delay takes effect after a link failure/FLOGI,
or the receipt of an RSCN.
Default value: 0
Type: REG_DWORD
QuickFail
Value 0 or 1. If QuickFail is 1, the wait ready timer will only have to expire
once before I/Os are returned to the upper levels. Also, when QuickFail is 1,
any devices not present in the name server data obtained after an RSCN will be
immediately marked as failed. This causes fail-over to occur more quickly.
If QuickFail is 1 and the adapter is connected to a multi-switch fabric, the
NameServerDelay value, see above, should be set to at least 800 milliseconds.
ScsiMap
A key that contains the map of World Wide Port names to SCSI IDs. Each value under
this key binds one World Wide Port name to a single SCSI ID. Each value uses the
16 digit hex representation of the World Wide Port name as the value name. The value
is the SCSI ID to which the World Wide Port name is mapped. Each value is of
type REG_DWORD.
Also contained in ScsiMap is the LUN mapping if LUN mapping is enabled. The value name
for each LUN map is created from the World Wide Port name of the device. The value
name is LunMappingXXXXXXXXXXXXXXXX, where XXXXXXXXXXXXXXXX is the 16 digit hex World
Wide Port name of the target. The LunMapping value is of type REG_BINARY and is an
array of SCSI LUN Mapping structures. The structure is defined as follows:
typedef sliLunMap {
LARGE_INTEGER FibreChannelLUN;
ULONG NtLUN: 8;
ULONG Disabled: 1;
ULONG Present: 1;
ULONG Pad: 22;
} SLI_LUN_MAP, *PSLI_LUN_MAP;
Configuration Utility
The configuration utility is contained in elxcfg.exe. To execute the utility,
use the browse function of the run command selection from the start menu. Find
the file elxcfg.exe. Select run command.
Available Adapters
The configuration utility will probe the registry for configured adapters. If
the adapter is configured, it will be listed in the Available Adapters list
box. If the adapter is also present in the system, the type of adapter and the
firmware revision will appear in the listing of the adapter.
All of the other options will be inactive until an adapter is selected. To
select an adapter, click on the appropriate entry in the Available Adapters
list box. This will activate all of the options, as well as set the values
to the current configuration of the adapter.
Dialog Menu
The menu bar at the top of the dialog, under the title bar, has the submenus
for File, Configuration, Tuning, and Tools. The File submenu allows the user to
apply changes, delete the settings for a removed adapter, or exit the program.
The Configuration submenu allows the user to select a number of default
configurations. The Tuning submenu allows the user to manipulate settings that
change the way the adapter behaves. And, the Tools submenu are some tools that
are available to the user for debugging, downloading firmware to the adapter, etc.
File Menu
Apply
This option is used to apply any changes that have been made to the current
adapters configuration or SCSI mappings.
Remove
This option is only available for an adapter that is not currently present in
the system. This option will remove the adapter configuration and SCSI mappings
for the selected adapter. All of the configuration information will be completely
removed. It will not be possible to restore this information.
Exit
This option will exit the program. If the configuration or SCSI mappings for the
current adapter have been changed, a dialog will appear asking if the user would
like to apply the current changes, or continue, which will cause the changes to be
discarded.
Configuration Menu
Set
This option will bring up a list of default configurations that are equivalent to
the options available when the driver is installed. If the current configuration
of the current adapter matches one of the options, the option will be already
selected. If the current configuration does not match any of available preset
configurations, none of the configurations will be selected.
The user can select one of the default configurations and the when the OK button
is pressed, the current adapters configuration will be modified to match the
selected configuration. In most cases, a reboot will be required to cause the
adapter to start using the new configuration.
Tuning Menu
Performance
Selecting the Performance option will bring up the Performance Parameters
dialog. In the Performance Parameters dialog, the user may select values
for the Maximum Interrupt Latency, the Minimum and Maximum I/Os handled per
interrupt, and whether Host Get and Put pointers are in SLIM or system
memory.
The Max Interrupt Latency, Min I/O Completions per Interrupt, and Max I/O
Completions per Interrupt work together to tune the system performance. An
interrupt is generated by the adapter when: at least one command has completed
and the timer controlling the interrupt latency expires, the number of commands
completed equals the Min I/O Completions per Interrupt, or the Max I/O
Completions per Interrupt was reached on the previous interrupt and there are
still completed commands waiting to be processed. These options are only
available with adapter firmware version 3.00 and later.
Host Pointers in SLIM, if checked, cause the driver to initialize the host
written queue pointers to be located in memory on the adapter. This has the
benefit that the adapter does not need to access system memory to read the
pointers.
Link Control
Selecting the Link Control option will bring up the Link Control Parameters
dialog box. Select one of Arbitrated Loop or Point to Point for the topology.
If the Automatic Topology Detection flags is checked, the adapter will first
attempt the selected topology type. If initialization fails, the adapter will
try the other topology. This option is only available if it is supported by
the adapter firmware.
The Link Speed box is used to select the link speed. The default choice is
AUTO. This option is only available if the adapter supports multiple link
speeds.
Timers
The Wait Ready Timer is used to return commands to unavailable devices. When a
command is received for a device that is not currently present, the driver will
wait for the Wait Ready Timer length for the device to become available. If it
does not become available in the time period, then the driver will return the command
and all subsequent commands for the device with SCSI selection timeout errors.
If the timer values is set to -1, then the driver will use 2 * R_A_TOV as the
timer value. If the timer is set to 0, then the driver will wait indefinitely for
devices to become available.
The Retry Timer and Retries boxes allow the user to configure the retry behavior of
the driver. The Retry Timer is the number in milliseconds the driver will wait before
retrying a command. The retries box is the number of times the driver will retry a
command completing with a retryable error before returning the command to the caller
with an error status.
The next set of controls allow the modification of some of the Fibre Channel
timers controlled by the adapter.
Tools Menu
Download Firmware
Selecting the Download Firmware option will allow the download of adapter
firmware. When this option is selected, a file open browser dialog is created.
Find the appropriate firmware image file and select open. The firmware
will be verified, downloaded, and the adapter restarted. When the firmware
download is complete, click the OK button in the status dialog.
If the selected adapter is not present, this option will be inactive and
unavailable.
Dump Memory
Selecting the Dump Memory option will launch the Adapter Memory Dump dialog.
To display adapter memory, enter the desired starting address in the Memory
Offset edit box, and the length in bytes of the memory to dump in the Count
edit box. Then click on the Reload button. The memory contents will be
displayed in the memory dump window. To close the window, click on the Done
button.
If the selected adapter is not present, this option will be inactive and
unavailable.
Reset SCSI Bus
Selecting the Reset Bus button option will cause a SCSI bus reset to be emulated
by the selected adapter.
If the selected adapter is not present, this option will be inactive and
unavailable.
Networking
Selecting the Networking option will bring up the Network Parameters dialog.
The Network Parameters dialog has a Network Enable check box used to enable or
disable networking on the particular adapter. The class of service is selected
by use of the Class 2 and Class 3 radio buttons. Only one of the two Class of
Service buttons may be selected. If a device does not handle Class 2, indicated
in the PLOGI, the adapter will use Class 3.
The MTU is selected by entering the appropriate value in decimal in the MTU edit
box. Clicking the OK button will update the current adapter configuration with
the changes made in the Network Parameters dialog. Clicking the Cancel button will
ignore any changes made in the Network Parameters dialog.
Adapter Controls
Under Adapter Controls, the first set of controls are used for general
configuration of the adapter.
Automatically Map SCSI Devices, if checked, tells the driver to automatically
map new SCSI devices as they are discovered. If the devices have already been
mapped, either by discovery or manually, this check box has no effect.
Query name server for all N-Ports, if checked, tells the driver to ask the name
server for all connected N-Ports. If the box is not checked, the driver will
ask for all registered SCSI FCP devices.
Allow Multiple paths to SCSI Targets, if checked, causes mapped SCSI devices to
be reported on each port by which it is connected. If not checked, mapped SCSI
devices are reported only on the first port by which it is connected.
If the Register for State Change box is checked and a fabric is present, the driver
will register with the fabric to receive Registered State Change Notification
(RSCN) ELS requests from the fabric. If the box is not checked, the driver will not
register with the fabric, even if it is present.
If the Use Report LUNs for SCSI-3 Devices box is checked and a target indicates that
it is SCSI-3, the driver will use the report LUNs SCSI command to determine the
LUNs that are present. If the target is not SCSI-3 or this box is not checked, the
LUNs are polled starting at 0 and incrementing until the maximum LUN value is
reached.
If the Use Name Server after RSCN is checked, the driver will ignore the payload
of the RSCN and query the name server for the latest list of devices. If the box
is not checked, the driver relies on the data in the RSCN payload to update the
view of the fabric.
If the LUN Mapping box is checked, all LUNs behind all targets are mapped. Since
Fibre Channel targets support a LUN number 64 bits long and the port driver under
NT only supports 8 bits, some sort of mapping is required. If the LUN Mapping box
is checked, unmapped LUNs are not accessible by NT. If the LUN Mapping box is not
checked, there is a one to one correspondence of Fibre Channel LUNs to NT LUNs.
In the case where LUN Mapping is not used, the Fibre Channel LUN is created as
follows:
00xx00000000
where the xx is the NT LUN number.
If the Automatic LUN Mapping box is checked, LUNs are automatically mapped by the
driver as they are discovered. Note that this may cause LUN numbers to "change".
For example, the LUN indicated by the SCSI Applet on the control panel may be
different from the actual LUN number on the device. The mapping can be viewed by
clicking on the LUN Mapping button described below.
The Enable Class 2 for SCSI Devices check box, if checked and the target device
indicates Class 2 capability in the PLOGI Accept, the driver will use Class 2
for communicating with the device. If the check box is clear, the driver will use
Class 3 for communicating will all SCSI devices.
Use PLOGI instead of PDISC after LIP, if checked, causes the driver to use PLOGI
for device discovery. If not checked, the driver will use PDISC.
The Scan in Device ID Order option, if not checked, causes the driver to scan the
local loop from ALPA 0x01 to ALPA 0xEF. If the option is checked, the driver will
scan the local loop from ALPA 0xEF to 0x01. Also, if the option is checked, the
driver will use the device's Device ID for its NT SCSI ID if the SCSI Automap
feature is used.
The Report Unknown SCSI Devices, if checked, causes the driver to make available
to upper level drivers all devices that have a Peripheral Qualifier value of
0 or 1. If not checked, only devices with a Peripheral Qualifier of 0 will
be made available to upper level drivers. Please see the SCSI 3 SPC document for
more detail on the Peripheral Qualifier value.
The Look For Disappearing Devices option, if checked, causes the driver to
try and find devices that have silently disappeared. An example might be a
smart hub has put a port on bypass without generating a LIP. If the device
encounters an error which causes it to be removed from the available devices
list in the driver and then the hub removes the bypass, then the device will
be rediscovered only with this option being checked. If the option is not
checked, a device will only 'reappear' if a LIP, a link failure and restoration,
or an RSCN is received.
The Translate Queue Full to Busy option allows the translation of SCSI Queue Full
status to SCSI Busy status. This is a work around for a behavior of the disk class
driver. If the box is checked, the translation is enabled. If the box is not checked,
the translation is disabled.
The Use Bus Reset for Retries, if checked, enables a mode where the driver does not
retry commands internally. Instead commands to be retried are returned to the caller
with SRB_STATUS_BUS_RESET status. This will normally result in a command retry.
The Retry Unit Attention box, if checked enables the port driver to retry Unit
Attention errors.
The Retry PLOGI Open Errors is a work around for some loops with targets that do
not respond to OPN(x,y) soon after loop initialization is complete. If the option
is checked, the driver will retry PLOGIs that fail with an open failure error,
the device did not respond to OPN(x,y).
The Enable FCP-2 Error Recovery option, when checked, will allow the use of the FCP-2
exchange error recovery protocol with SCSI targets that support the protocol. For this
option to be most effective, the Use PLOGI instead of PDISC after LIP option should be
unchecked.
Maximum Number of LUNs is the number of LUNs the driver will poll for during
device discovery. The minimum value is 1, the maximum value is 255.
Maximum Queue Depth is the number of outstanding commands to a single LUN.
The Static Poll Destination Address list is a list of 24 bit Fibre Channel
addresses that will be polled for devices when the adapter boots. To add an
entry, enter the 6 hex digits of the Fibre Channel address in the Address
Edit box. Then click the Add Address button. To delete an address from the
list, select the address in the list box by clicking on it and then clock
on the Delete Address button.
SCSI Targets
The SCSI Targets list box shows the current SCSI ID to Fibre Channel World
Wide Port name assignments. To add a new mapping, click on the Add Mapping
button. This will bring up a SCSI device selection dialog. If the adapter is
present, a list box with the currently available and unmapped Fibre Channel
devices will appear. Select the appropriate device and click the OK button.
This will bring up the SCSI ID selection dialog. This dialog has a list box
that contains all of the available SCSI IDs. Select the appropriate SCSI ID
from the list box and click on the OK button.
To modify an existing mapping entry, select the entry by clicking on it and
click the Modify button. This will raise the SCSI ID selection dialog.
Follow the above directions to complete the modification.
To delete an existing mapping entry, select the entry by clicking on it and
click the Delete Mapping button.
To access the LUN mapping for a target, select the Target in the Targets list
box and press the LUN Mapping button. The LUN Mapping button will only be
enabled if the LUN Mapping check box is checked for the adapter.
Clicking on the LUN Mapping button will bring up the LUN Mapping dialog for the
selected target. The LUN Mapping dialog will show the SCSI ID being used by the
target and the Port World Wide Name of the target. The current LUN map will be
displayed in the large box.
If LUN Mapping is disabled for this target, instead of displaying a list of mapped
LUNs, the message "LUN Map Disabled" is displayed. To Disable LUN Mapping for a
single target, select the "Disable LUN Mapping" button from the LUN Mapping dialog
for the target. This target will behave as if LUN mapping was not enabled for the
target.
To enable LUN Mapping on a target that has LUN Mapping disabled, select Enable LUN
Mapping from the LUN Mapping dialog for the target.
The Add, Modify, and Delete buttons in the LUN Mapping dialog are disabled when LUN
Mapping is disabled for a target.
To add a LUN mapping, click on the Add button. This will bring up the MAP LUN dialog.
In the MAP LUN dialog, the unmapped and available Fibre Channel LUNs for the target
will be displayed in a list box. The Fibre Channel LUN must be selected from this
list. The NT LUN may be selected from the drop down list box. The first available
LUN number will be selected as the default. When done, press the OK button. To exit
without making any changes, press the Cancel button.
To delete a LUN mapping, select the mapping to delete and press the Delete button.
This will delete the mapping, however, if the Automatic LUN Mapping check box is
checked, the LUN will be mapped again next time Disk Administrator is started.
To change the NT LUN portion of a mapped LUN, select the mapping to be modified and
click on the Modify button. This will bring up the MAP LUN dialog, but only the NT
LUN drop down list box will be enabled. Change the NT LUN and press the OK button.
To quit without making a change, press the Cancel button.
Multi-protocol Port Driver Event Log:
The Port Driver logs all events/errors in the event log. Serious errors
will always be logged, while all other informational events will only
be logged if the registry parameter "DriverTraceMask" is set with the
appropriate flag.
There are 2 types of event logging mechanism(Trace and Event ID messages)
available in this driver. Trace message is mainly used for debugging
whereas Event ID message is an informational notification. Trace message
will only show up in event log if the appropriate "DriverTraceMask" is set.
Most Event ID messages does not required "DriverTraceMask" setting except
for a few of them listed(**)(***) in the Event ID description table.
Below is a list of message type available for the "DriverTraceMask" flag.
Each event is generated with a brief description of the status, which
may include multiple values. The explanation for each message type is
commented below.
The default "DriverTraceMask" flag is set to 0. With the default
setting, only messages of significant importance will be displayed.
These messages include: memory problems, creating device errors, login/
logout warnings, failed tasks, etc...
To set the appropriate DriverTraceMask flag, select the message type(s)
from the table below. For example: To capture all the PNP messages, the
following may be of interest:
SLI_TRACE_PNP 0x00080000
SLI_TRACE_POWER 0x00100000
----------
Hex addition 0x00180000
The DriverTraceMask in the registry will look something like this, where
the X in BusXSlotX will be replaced by number:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\elxsli2\BusXSlotX]
"DriverTraceMask"=dword:00180000
Message Type Masking
----------------------------------
SLI_TRACE_MAILBOX 0x00000001
- Internal Emulex trace messages for mailbox status to HBA card
SLI_TRACE_SCSI_ERR 0x00000002 // W/E
- All SCSI informational status. Most of the string ends with multiple
values in the following order: TargetId, Lun, SrbStatus and ScsiStatus
SLI_TRACE_IOTAGS 0x00000004
- Internal Emulex trace messages for I/Os.
SLI_TRACE_IOCB 0x00000008
- Internal Emulex trace messages for Input/Output Control Block (IOCB).
SLI_TRACE_FABRIC 0x00000010
- Trace message between the fabric and the node. Messages include
login/out, Name server, etc...
SLI_TRACE_SCSI_MAPPING 0x00000020
- Scsi mapping status includes Scsi Lun mapping
SLI_TRACE_INIT 0x00000040
- Trace messages during startup and initialization
SLI_TRACE_IOCTL 0x00000080
- Trace messages for the I/O Control(IOCTL)
SLI_TRACE_SCSI_RESET 0x00000100
- Trace messages when a SCSI reset occurs
SLI_TRACE_LOGIN 0x00000200
- Trace messages during a logon process
SLI_TRACE_NET_XMIT 0x00000400
- Trace messages for startup and transmitting of IP protocol
SLI_TRACE_NET_RECV 0x00000800
- Trace messages for receiving IP protocol
SLI_TRACE_WAIT_READY 0x00001000
- Status for wait queue including timeout and resetting
SLI_TRACE_RECV_ELS 0x00002000
- Internal information on Els receive status
SLI_TRACE_DOWNLOAD 0x00004000
- Status and information on firmware download to HBA card
SLI_TRACE_PRLI 0x00008000
- Trace messages for port login
SLI_TRACE_REPORT_LUNS 0x00010000
- Status on Scsi Lun reporting
SLI_TRACE_ENTRIES 0x00020000
- Information on nodes entries includes create, close, cleanup,
etc...
SLI_TRACE_ELS_ERRORS 0x00040000
- Internal information and status on Els command
SLI_TRACE_PNP 0x00080000
- Trace messages on PNP includes BusRelations, QUERY_CAPABILITES,
etc...
SLI_TRACE_POWER 0x00100000
- Trace messages on system power status
SLI_TRACE_SCSI_EXC 0x00200000
- Status on SRB exception with the following values in this order:
TargetId, Lun, SrbStatus and ScsiStatus
SLI_TRACE_UNSUPPORTED 0x00400000
- Information on unsupported IRP and PNP requests
SLI_TRACE_LOGO 0x00800000
- Information on Port Logon
SLI_TRACE_FARP 0x01000000
- Trace messages on FARP
SLI_TRACE_PASS_THROUGH 0x02000000
- Information and status on Scsi pass through
SLI_TRACE_RNID 0x04000000
- Information on sending RNID
SLI_TRACE_NSAPI 0x08000000
- Information and status NSAPI
Below are the descriptions for the Event IDs shown in the event log.
Several event ids listed below are used for Emulex technical support
and may not be meaningful to end-user.
Event Event Description More Information
ID Type Offset 0x10 - 0x13
---------------------------------------------------------------------------------
01 Infor Informational message of driver status None
02 Warning Warning message of driver status None
03 Error Error message of driver status None
04 Error Could not map register space in I/O space None
05 Error Could not map register space in memory None
06 Error Could not map onboard SLIM space in memory None
07 Error Could not connect interrupt because of %x 0x10 = NTSTATUS
08 Warning Mailbox command failed None
09 Error Could not create device object because of %x 0x10 = NTSTATUS
10 Error Assembling IOCB_CONTINUE and got a new command None
11 Error Link is unstable and/or unusable None
12 Error MBATT is set, but Mailbox is owned by adapter None
13 Error Could not allocate IRP for SCSI Inquiry command None
14 Warning Device is an unsupported SCSI device type None
15 Error Could not allocate IRP for SCSI Pass Through IOCTL None
16 Error Unsupported SRB Function code: %x 0x10 = SRB_FUNCTION_xx
17 Warning SRB completed with an error, SrbStatus: %x 0x10 = SRB_STATUS_xx
18 Error Error Attention Interrupt: %x, resetting board 0x10 = Host Status(*)
19 Warning Received an FC-AL PORT BYPASS primitive None
20 Error Interrupt occured for invalid mailbox command: %x 0x10 = MailBox Cmd(*)
21 Error Mailbox Error Occurred: %x 0x10 = MailBox Status(*)
22 Error Unknown Image Header Type in Rel Download None
23 Error Reading Load List header failed None
24 Error Getting Load Entry failed None
25 Error Unknown Image Type: %x 0x10-0x13 = Rev/Ver/ID(*)
26 Infor SLI Adapter %d Mode (**) 0x10 = SLI mode 1 or 2(*)
27 Error Unknown Adapter Found: %x (**) 0x10-0x13 = JEDEC ID
28 Error Slot Resources Assignment Failed: %x 0x10 = NTSTATUS
29 Error Port registers not in I/O Space None
30 Error Port registers must be in 32 bit address space None
31 Error Memory registers must be in memory space None
32 Error Could not map memory registers None
33 Error SLIM must be in memory space None
34 Error Could not map onboard SLIM None
35 Infor Found point to point topology (**) None
36 Infor Loop topology (**) None
37 Warning PLOGI Timeout with node DID: %x (***) 0x10-0x12 = Node DID
38 Error Firmware Trap None
39 Error Link never up at boot None
40 Infor Link speed not supported. Enable auto detection None
41 Infor Link speed not available. Enable auto detection None
42 Infor Auto topology not available. Disable auto detection None
43 Error Fail allocating IRP for SCSI Request Sense command None
44 Error User SNS logon completed with no request pending None
(*) Emulex Internal Status
(**) Event ID 26,27 35 and 36 need SLI_TRACE_INIT mask enable
(***) Event ID 37 needs SLI_TRACE_ELS_ERRORS mask enable
Errata
It is not expected that current NT utilities for the LP 6000 Miniport driver
will work with this driver.
Using the Emulex Configuration Tool to change the adapter firmware to an earlier
version may cause the system to lock or devices connected via the adapter to
become unavailable, requiring a reboot.
Upgrading the driver from version 2.20a2 and earlier will require a reboot.
Release 2.21a0 changes from driver version 2.20a12
A fix is added for the unnecessary repetitive rescanning for devices that may
cause the system to becoming unresponsive.
(CR#7653)
Added a feature to support real-time debug message tracing. This DriverTraceMask
setting is retrieved from Elxcfg configuration tool.
(CR#7557)
In a Boot-from-SAN system, hibernation may cause a BSOD during restarting. A
fix is in this release to prevent the BSOD.
(CR#7619)
Some tape devices are not correctly detected during a device rescanned. This
is fix in this release.
(CR#7739)
When there are multiple HBAs in the same system, HBAnyware only displays Node
Symbolic Name for one HBA. This is fixed in this release.
(CR#7390)
Port driver doesn't provide correct Node Symbolic Name for LP850. This is fixed
in this release.
(CR#7389)
When the Port Driver is operating under low memory condition, it may BSOD. A fix
is added to prevent this from occurring.
(CR#7742)
A fix is added to return the correct listing of dual channel HBA to the ElxCfg
configuration tool.
(CR#7558)
Firmware download to latest version of dual-channel HBA is not working correctly.
This is fixed in this release.
(CR#7741)
Release 2.21a1 changes from driver version 2.21a0
LP9802DC string is not displayed correctly in HBAnyware and other utility that
calls the emulexhbaapi.dll. This is fixed in this release.
(CR#7911)
Volume Shadow Services(VSS) is now supported in this release. VSS is available
in Windows XP and Windows 2003 server.
(CR#7912)
When incorrect version of firmware is downloaded to the HBA, some warning messages
are too long and truncated. This is fixed in this release.
(CR#7914)
The driver version 2.21a0 does not display the correct firmware version of LP8XXX
and earlier HBAs. This is fixed in this release.
(CR#7860)
While running heavy IO with HBAnyware, terminating the HBAnyware Service or resetting
the HBA may cause BSOD. This is fixed in this release.
(CR#7913)
Release 2.21a2 changes from driver version 2.21a1
The Hardware Version is displayed as 0s on some HBAs. A fix is added where the
Hardware Version number is now displayed correctly on all HBAs.
(CR#8587)
The support for IOCTL_STORAGE_BREAK_RESERVATION is added to this driver version.
This IOCTL will send a target reset to the given target ID.
(CR#8257)
A fix is added to retry SCSI commands for non-disk devices when the returned SCSI
status is either busy or queue full.
(CR#8597)
A fix is added to resolve a problem for device removal where the device PDO is not
created when the device is reconnected. This is more reproducible with filter driver
attached to the Port Driver.
(CR#8588)
When a device is removed from the target end during heavy I/O, it may cause the
system to be unstable. A fix is added to resolved this problem.
(CR#8589)
During SCSI inquiry, the device type for PROCESSOR_DEVICE(0x03) was generating an
event in the eventlog. This is fixed in the release.
(CR#8580)
Release 2.21a3 changes from driver version 2.21a2
During the device rescanning process, devices are incorrectly displayed in the Device
Manager. This problem was introduced in 2.21a2 and it is fixed in this release.
(CR#8622)
Release 2.21a4 changes from driver version 2.21a3
The system may become unstable when a remote HBAnyware host repeatedly sending
firmware download to the system.
(CR#8935)
A fix has been added in the HBAnyware IRP cancellation routine to meet the
requirements of the HCT driver verifier test.
(CR#8936)
A fix is added to correct a problem with the SCSI busy and queue full retry
mechanism for non-disk device.
(CR#8937)
When a link failure occurs during an I/O operation to a device, the system may
become unstable and crashed with a "0xFFFFFFFF STOP" error.
(CR#8885)
An enhancement is added in the device inquiry process where device object is
created only on a successful inquiry.
(CR#8938)
In a Boot-from-SAN system, a fix is added in the crash dump operation to working
correctly with LP98xx and newer HBAs
(CR#8831)
The PCI sub-system IDs for Emulex OEM HBAs are added into the installation .inf
and .oem files
(CR#8939)
An registry option is added to issue a bus reset when the IOCTL_STORAGE_BREAK_
RESERVATION is received. This option is called "BusResetForBreakRes". When this
option is 1, it will issue bus reset instead of target reset on receiving this
IOCTL. The default is 0.
(CR#8941)
The BrokenRscn registry setting is no longer a user option. It will always query
the Name Server for information on any RSCN payload.
(CR#8970)
A fix is added in the discovery routine to prevent SCSI command from sending to the
device too early.
(CR#8953)
Release 2.21a5 changes from driver version 2.21a4
After a PRLI to an Initiator host, it will now stay log-in until a LOGO is requested
or the Initiator is no longer exists.
(CR#9039)
Some version of HBAs are not registering with the FDMI interface correctly. This is
resolved in the release.
(CR#8910)
When a target device is unavailable and the host cable is disconnected, the
system may become unstable if the device resources is not released immediately by
the upper driver or application. A fix is added to prevent the system from
becoming unstable.
(CR#9029)
The repetitive HBAnyware firmware download in very short interval is not fully
addressed in the initial fix in previous release. A fix is added to resolve this
problem.
(CR#8935)
Release 2.21a6 changes from driver version 2.21a5
Port Driver may not detect device that does not support Report LUN. A fix is
added to resolve this problem.
(CR#9154)
When an IOCTL_STORAGE_BREAK_RESERVATION is issued to a device that is just removed
and it has not completed the PNP removal process yet, the driver may not return
the IOCTL IRP timingly.
(CR#9153)
Release 2.21a7 changes from driver version 2.21a5
A fix has been added to release a memory structure during driver unloading. This
is required to meet the requirements of the HCT driver verifier test.
(CR#9205)
Release 2.21a8 changes from driver version 2.21a6
A fix has been added to release a memory structure during driver unloading. This
is required to meet the requirements of the HCT driver verifier test.
(CR#9263)
A crash may occur during heavy load of multi-thread SCSI pass-through IOCTL calls.
A fix is added to resolve this problem.
(CR#9265)
When a LOGO is received from a target while the driver is still doing a SCSI inquiry,
the driver may hang. A fix is added to resolve this problem.
(CR#9268)
Release 2.22a0 changes from driver version 2.21a8
A fix is added in this release to resolve a system crash during a specific sequence
of events during the target reconfiguration process.
(CR#9893)
A feature to detect hardware failure is added in this release. When the failure
occurs, this feature will return all the active I/Os and will try several attempts
to reset and restart the HBA.
(CR#9895)
A crash may occur during heavy load of multi-thread SCSI pass-through IOCTL calls.
A fix is added to resolve this problem.
(CR#9897)
A fix is added in this release to resolve a Tape device problem during a hardware
failure. When a hardware failure occurs during tape I/O operations, the I/O may not
returned to the application and that may cause the application to become unresponsive.
(CR#9898)
Some values returned from the IOCTL_STORAGE_QUERY_PROPERTY call is fixed to return the
correct values. This fixed will resolve problems found in Volume Shadow Services(VSS)
or other applications that have dependency on this call.
(CR#9805)
Several driver parameters have been updated and the descriptions were re-worded for
HBAnyware. All the driver names and default values remained the same.
(CR#9604)(CR#9606)(CR#9631)
The support for the HBAAPIv2 HBA_GetFC4Statistics() is added to this release. This
API call will return the FC4 I/O statistics.
(CR#9900)
The release provides support for the Emulex Fibre Channel adapter LP101. This is a FC
SCSI only and will not support IP.
(CR#9901)
In a Boot-from-SAN system, it may cause a BSOD at the initial stage of the hibernation.
A fix is in this release to prevent the BSOD.
(CR#9902)
HBAnyware dynamic discovery of HBAs may not work correctly during discovering. A fix
is added in the release.
(CR#9447)
The driver may become unresponsive while running with HBAnyware(RMserver) when the
cable is pulled. A fix is added in the release.
(CR#9281)
Release 2.22a1 changes from driver version 2.22a0
When devices are repeatedly removed and added under stress conditions, it may cause
the system to crash. This is caused by a PNP sync problem in the removal process.
A fixed is added to resolve this problem in this release.
(CR#10311)
During device discovery or rediscovery, aborting commands are not correctly handled
which may result in a BSOD. A fixed is added to resolve this problem in this
release.
(CR#10312)
PLOGI retry delay is changed to 2*RATOV instead of RATOV seconds. This is changed
in accordance to the Fibre Channel specifications.
(CR#10313)
Hardware failure feature detecting I/O state is not correctly tested when device
is re-discovered repeatedly. A fixed is added to resolve this problem in this
release.
(CR#10314)
Release 2.22a2 changes from driver version 2.22a1
Emulex installation AutoPilot Manager v1.0a5 did not detect some remote hosts
connected with a switch with Port driver v2.22a1. A fixed is added to resolve
this problem in this release.
(CR#10430)
Updating the FC Port driver multiple times without rebooting may hit a bug in
the hardware failure detection code that may cause the system to become unstable.
A fixed is added to resolve this problem in this release.
(CR#10052)
The string size of the device property is not correctly set in some instances which
may prevent the device from starting up. A fixed is added to resolve this problem
in this release.
(CR#10816)
During a link up, the driver will no longer retry FLOGI in point-to-point topology.
(CR#10854)
The response frame to ADISC is not placing the DID in the correct format. A fix is
added to swap the 4 bytes.
(CR#10853)
In a Boot-from-SAN system, a fix is added to resolve hibernation and memory crash
dump in large memory system.
(CR#10106)
Release 2.22a3 changes from driver version 2.22a2
In a Boot-from-SAN system, the crash dump may not get created in the SAN device while
there is active I/O at the time of crash. A fix is added into the crash dump routine.
(CR#11343)
Release 2.22a4 changes from driver version 2.22a3
A fix has been added to resolve the command ring full problem. This problem may occur
on very fast CPU system with older HBAs where I/Os are filling up the entire command
ring. This may cause the system to hang when this condition occurs.
(CR#11469)
The command retry for timed out command to unavailable device is not handled properly.
This may, in some case, cause the system to appear hang since the driver is retrying
the command too many times. A fix is added to retry up to 2 times in this case.
(CR#11480)
A fix is added to delete a symbolic name, \Device\ScsiPortX, during the Port Driver
removal process. This symbolic name is created during Port Driver installation.
(CR#11483)
Release 2.22a5 changes from driver version 2.22a4
On a multi-HBAs system, updating the FC Port Driver multiple times may result in
a BSOD. This is uncommon in normal driver updating process.
(CR#11586)
Resuming a system from hibernation with heavy I/O may cause the system to BSOD. This
was found during the WHQL ACPI test.
(CR#11640)
Release 2.22a8 changes from driver version 2.22a5
A fix is added to prevent a BSOD during discovery where LUNs are re-mapped.
(CR#11718)
Emulex installation AutoPilot Manager did not detect some remote hosts
connected with a switch when a RSCN is received. A fixed is added to resolve
this problem in this release.
(CR#11715)
In a Boot-from-SAN system, hibernation may cause a BSOD during restarting. A
fix is in this release to prevent the BSOD.
(CR#11716)
Release 2.23a0 changes from driver version 2.22a8
Upgrade Device Driver Wizard shows %9002% and %952% in device name. This is corrected
to display the correct description.
(CR#11978)
During system hibernation, some system may not resume properly after the hibernation.
(CR#11813)
A fix to correct a system crash when VPD Inquiry is send to an unmapped LUN.
(CR#11941)
System may become unresponsive when sending I/O to deleting devices where the device
PDO is not completely deleted yet.
(CR#11804)
SLI_TRACE_ENTRIES tracemask may caused a BSOD during device re-configuration.
(CR#11745)
During a driver upgrade, the slot number may not be correctly displayed in the Device
Manager. A fix is added to the installation DLL to correct the slot number.
(CR#12968)
During a driver upgrade, if the ELXNET key is in the registry, it may prompt for reboot.
A fix is added to the installation DLL to prevent the unnecessary reboot.
(CR#12822)
The IOCTL_STORAGE_QUERY_PROPERTY call to retrieve the StorageDeviceIdProperty is fixed
to return the correct info. This fix will prevent BSOD in MPIO and other upper drivers
that uses this call.
(CR#12962)
The discovery process will take a longer time to complete if SCSI VPD and PSN Inquiries
are not supported in target devices. This is resolved by reducing the retry and timeout
to these devices.
(CR#11030)
The correct status of SRB_STATUS_SELECTION_TIMEOUT will be returned during a Bus or Target
reset.
(CR#12581)
HCT Driver Verifier test complains Port Driver call IoMarkIrpPending but did not return
STATUS_PENDING on that Irp dispatch routine.
(CR#12582)
The PNP IRP_MN_SURPRISE_REMOVAL for HBA adapter is corrected to prevent the system from
becoming unresponsive after the HBA is re-enabled.
(CR#13069)
Obsolete driver function calls are removed to meet the HCT Driver test requirements.
(CR#13071)
During startup and Port Driver reset, internal Emulex initializing IOCTL calls may BSOD
when the Port is not completely initialized.
(CR#12841)(CR#11736)
Resetting the PortDriver with HBAnyware under heavy I/O stress condition may BSOD the
system.
(CR#11883)
Emulex HBA LP101 is not correctly displayed in the FC switch Name Server table. The proper
string description is added to the nameserver response.
(CR#11635)
An improvement is made to the CR11469 fix in 2.22a4 release for the ring full handling
algorithm.
(CR#12969)
The support for FDMI hostname registration is added to this driver version.
(CR#12974)
The support for Name Server RNN_ID registration is added to this driver version.
(CR#12975)
Hardware failure detection may return active I/O earlier than the I/O timeout value.
This will cause an unnecessary adapter reset. A fix is added to resolve this problem.
(CR#12970)
Multiple device rescan may cause a failure to return an I/O and may result in an
unresponsive system. This is caused by the incorrect login counter and it's fixed in
this release.
(CR#12971)
After a PDISC response is received from target device, it will invalidate the current
device list if needed. This will ensure all found devices are make available.
(CR#12976)
The Port Driver will no longer logout from unmapped target devices. This will allow
SCSI pass through command to be sent to unmapped devices.
(CR#12977)
The device type for 0xc(ArrayPeripheral) and 0xd(EnclosurePeripheral) in SCSI Inquiry
response is updated to display correctly.
(CR#11845)
Release 2.23a1 changes from driver version 2.23a0
Obsolete driver function call is re-worked to meet the HCT Driver test requirements.
(CR#13072)
Device re-discovery process causes redundant rescan resulting in unnecessary device
deletion and re-creation
(CR#13135)
Release 2.23a2 changes from driver version 2.23a1
Implemented the HBA Vital Product Data(VPD) support. This will retrieve the product
information from the HBA.
(CR#13642)
The WaitReadyTimeVal registry option with the value of -1 will cause a longer than
expected delay in returning the status. This is resolved in this release to work as
documented.
(CR#13391)
The number of discovered Ports returned in GetAdapterPortAttributes is more than
the total number of Ports returned in the list of discovered ports.
(CR#13343)
Release 2.23a3 changes from driver version 2.23a2
The support for HBA Vital Product Data (VPD) doesn't return correct information.
(CR#13642)
Release 2.23a4 changes from driver version 2.23a3
Port driver doesn't report NodeSymbolicName
(CR#13871)
Release 2.23a5 changes from driver version 2.23a4
Release 2.23a5 changes applied to ia64 and x64 Windows Server 2003 only
Release 2.23a6 changes from driver version 2.23a5 [10/19/04]
Changes added to 2.23a5 may cause failure in 32-bit Windows during HCT hibernation
and ACPI testings.
(CR#13977)
Release 1.41a11 changes from configuration utility version 1.41a10
The latest version of dual-channel HBA is not displaying correcting in the adapter
listing. This is fixed in this release.
(CR#7558)
Added a feature to support real-time debug message tracing. The DriverTraceMask
setting is now an option in this version.
(CR#7557)
Release 1.41a12 change from configuration utility version 1.41a11
When the Automap is enabled, only non-present target can be deleted from the SCSI
Target list. Selecting a "Present" target with Automap enabled, the "Delete Mapping"
will be disabled.
(CR#8603)
Release 1.41a13 change from configuration utility version 1.41a12
The BrokenRscn registry setting is no longer a user option. It will always query
the Name Server for information on any RSCN payload.
(CR#8970)
Release 1.41a14 change from configuration utility version 1.41a13
The TranslateQueueFull registry setting is set to 1 for some OEM
configuration.
(CR#9644)
The configuration tool is updated to support the new HBA model.
(CR#10316)
Changes from HBA API Library version 1.3
The OSDeviceName is now reported properly.
Changes from HBA API Library version 1.4
The Library now expects the length word in the RNID payload.
(CR#4280)
Issues and Information
Note about Device Mapping
Targets and LUNs may be added dynamically by scanning for new devices with
the Windows 2000 device manager after the mapping parameters have been changed
via the Emulex Configuration Utility.
If devices are unmapped with the Emulex Configuration Utility, the devices are
immediately removed from the system.
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.