QLogic SAN & Device Management Library for Windows
Version 1.27.13
12/19/02
Contents
========
OS Support
Driver Requirement
Features
Library File
HBAAPI v1.0 Support Matrix
Release History
--------------------------------------------------------------------------------
OS Support
==========
SAN & Device Management library works with Microsoft Windows operating systems
that are supported by the QLogic PCI Fibre Channel Scsi Miniport drivers.
--------------------------------------------------------------------------------
Driver Requirement
==================
SAN & Device Management library requries QLogic PCI Fibre Channel Scsi Miniport
drivers of version v7.05.02 or higher.
--------------------------------------------------------------------------------
Feature
=======
* SAN & Device Management library supports SNIA HBAAPI v1.0.
--------------------------------------------------------------------------------
Library File
============
* HKLM\Software\SNIA\HBA\ql2x00
contains the full path of the library file "%SystemRoot%\system32\qlsdm.dll"
--------------------------------------------------------------------------------
HBAAPI v1.0 Support Matrix
==========================
API Support Notes
--- ------- -----
HBA_GetVersion Yes
HBA_LoadLibrary Yes
HBA_FreeLibrary Yes
HBA_RegisterLibrary Yes
HBA_GetNumberOfAdapters Yes
HBA_GetAdapterName Yes
HBA_OpenAdapter Yes
HBA_CloseAdapter Yes
HBA_GetAdapterAttributes Yes
HBA_GetAdapterPortAttributes Yes
HBA_GetPortStatistics Yes
HBA_GetDiscoveredPortAttributes Yes
HBA_GetPortAttributesByWWN Yes
HBA_SendCTPassThru Yes
HBA_RefreshInformation Yes
HBA_ResetStatistics Yes
HBA_GetFcpTargetMapping Yes
HBA_GetFcpPersistentBinding No
HBA_GetEventBuffer Yes Link up/down, lip & rscn
HBA_SetRNIDMgmtInfo Yes
HBA_GetRNIDMgmtInfo Yes
HBA_SendRNID Yes Only data format DF is supported
HBA_SendScsiInquiry Yes
HBA_SendReportLUNs Yes
HBA_SendReadCapacity Yes
AdapterAttributes Support Notes
----------------- ------- -----
Manufacturer Yes
Serial Number Yes
Model Yes
Model Description Yes
Node WWN Yes
Node Symbolic Name No
Hardware Version No Vendor specific
Driver Version Yes
Option ROM Version Yes
Firmware Version Yes
Vendor Specific ID No
Number Of Ports Yes
Driver Name Yes
AdapterPortAttributes Support Notes
--------------------- ------- -----
Node WWN Yes
Port WWN Yes
Port Symbolic Name No
Port FcId Yes
Port Type Yes
Port State Yes
Supported Class of Service Yes
Supported Fc4Types Yes
Active Fc4Types Yes
Port Supported Speed Yes
Port Speed Yes
Port Max Frame Size Yes
OS Device Name Yes
Number of Discovered Ports Yes
Fabric Name No
DiscoveredPortAttributes Support Notes
------------------------ ------- -----
Node WWN Yes
Port WWN Yes
Port Symbolic Name No
Port FcId Yes
Port Type No
Port State No
Supported Class of Service No
Port Supported Fc4Types No
Port Active Fc4Types No
Port Supported Speed No Not applicable
Port Speed No Not applicable
Port Max Frame Size No Not applicable
OS Device Name Yes
Number of Discovered Ports No Not applicable
Fabric Name No Not applicable
PortStatistics Support Notes
-------------- ------- -----
Seconds Since Statistics Reset No No OS support
TxFrames No
RxFrames No
TxWords No
RxWords No
LIPCount No
NOSCount No
ErrorFrames No
DumpedFrames No
LinkFailureCount Yes
LossOfSyncCount Yes
LossOfSignalCount Yes
PrimitiveSeqProtocolErrCount Yes
InvalidTxWordCount Yes
InvalidCRCCount Yes
--------------------------------------------------------------------------------
Release History
===============
1.00 Beta - 2/17/2000
This is an initial beta release of the SAN & Device Management SDK.
1.01 Beta - 2/28/2000
Added SDSendScsiReadCapacityCmd().
1.02 Beta - 3/09/2000
Modified SDSendScsiInquiryCmd() to return standard INQUIRY data format.
1.03 Beta - 3/13/2000
Modified SDSendScsiInquiryCmd() to return the complete 256 bytes INQUIRY data.
Added SDSendCTPassThru() for Management Server and Simple Name Server.
1.04 Beta - 3/22/2000
Added pSenseBuffer and SenseBufferSize arguments to SDSendScsiInquiryCmd()
and SDSendScsiReadCapacityCmd(). These two arguments have been added for
future enhancements.
Added SDSendElsRnid(), SDSetMgmtAddress(), SDGetMgmtAddress(). These routines
require version 7.4.5 or above driver.
Changes variable names to not follow Hungarian notation.
Removed the letter Q in front of macros for not being QLogic's specific.
1.05 Beta - 4/6/2000
Changed PortId field in mutiple structures from being 4 bytes to 3 bytes.
Fixed SDGetHbaDevicePortProperty() to report correct number of devices upon
configuration changes.
Changed documentation to mention that RNID/RTIN/MS/NS is not supported by ISP2100.
Added SDSendScsiPassThru().
1.06 Beta - 4/20/2000
Added SDEnableAen(), SDDisableAen(), SDGetAen(). These routines
require version 7.4.5 or above driver.
1.07 Beta - 6/16/2000
Fixed SDSendScsiPassThru() to return complete sense data.
Added SDEnableDebugTrace() for debugging purposes.
Added platform support.
Added SDMAPI.doc.
Added SDSendScsiReportLunsCmd().
1.08 Beta - 8/11/2000
Changed library data types (i.e. UINT8 to SD_UINT8), applications need to be recompiled.
Added SDMapScsiTargetToVolumes() and SDMapVolumeToScsiTarget().
Added SDMSGetPlatformNameList().
Added HBA Common API support.
Added Fabric Zone support.
Removed QSDMGT.DOC.
1.09 Beta - 8/31/2000
Changed library name from QSDMGT.DLL and QSDMGT.LIB to QLSDM.DLL and QLSDM.LIB.
Added HBALoadLibrary() and HBAFreeLibrary() according to SNIA HBA API 1.0A.
Modified SDSendScsiReportLunsCmd() to return correct information when using JBOD.
Added copyright notice to sample source.
1.10 Beta - 9/20/2000
Changed BusNumber, TargetID and LUN in TARGETINFORMATION structure to 16 bits,
applications need to be recompiled.
Changed HBASendScsiInquiry() to support SNIA HBA API 1.0.
1.13 Beta - 10/19/2000
Added support for some minor driver's changes.
Changed HBA API's OSDeviceName from \\.\scsiX: to \Device\ScsiPortX.
SDSendScsiReportLunsCmd() will return SDMGT_API_BUILT_DATA if
the actual ReportLuns command failed. The API simulates the
actual ReportLuns command by query all connected devices.
Added DeviceName to DEVICEPORTPROPERTY.
Fixed problem with not returning Sense Data information on check condition.
1.14 Beta - 12/13/2000
Changed BusNumber and TargetID in DISCPORTPROPERTY and DISCTARGETPROPERTY structure
to 16 bits, applications need to be recompiled.
Changed HBA Common API's PortType, PortState and PortSpeed to Unknown for
discovered port attributes.
Changed HBA Common API's PortFcId to use the lower 24 bits instead of upper 24 bits.
Set HBA Common API's invalid statistic fields to unsigned integer of all 1 according
to the documentation.
1.15 Beta - 2/2/2001
Changed HBA Common API:
HBAGetAdapterPortAttributes() to return correct PortType.
HBAGetAdapterPortAttributes() to return OSDeviceName in format "\\.\scsiX".
HBAGetAdapterPortAttributes() to return different value for DeviceNodeProp
and DevicePortProp.
HBAGetDiscoveredPortAttributes() to return "" for OSDeviceName.
HBAGetFcpTargetMapping() and HBAGetFcpPersistentBinding() to return "" for OSDeviceName.
Fixed GetIEWWNAttachedPortNameList() to accommodate 0 for the number of attached port
entries.
1.16 - 3/12/2001
Added in thread-safe protection for opening devices.
Changed HBA Common API:
Changed all PortFcId fields to use the lower 24 bits. Byte 0 is reserved
and the last 3 bytes is the Fibre Channel Port ID.
1.17 - 3/19/2001
Added DLL version resource.
1.18 - 3/21/2001
Changed HBA Common API:
Modified HBAGetAdapterPortAttributes() to return mode as HBA_PORTTYPE_NPORT
or HBA_PORTTYPE_NLPORT.
1.19 - 3/28/2001
The FC ID bits were swapped to little endian format.
1.20 - 4/09/2001
Added support for some minor driver's changes.
1.21 - 4/27/2001
Not disable the event collection until all registered applications deregister.
Fixed test program for not crashing on "Device Update" event.
1.22 - 5/04/2001
Change algorithm for finding serial number; not to display 'X' as
the first letter on 2202 (2 ports board).
Do bytes swapping in HBASetRNIDMgmtInfo() and HBAGetRNIDMgmtInfo() for fields
in HBA_MGMTINFO data structure.
Fix HBAGetRNIDMgmtInfo() to work with HBA_MGMTINFO data structure. The first field
of this data structure is currently 8 bytes and the standard format is 16 bytes.
1.23 - 7/27/2001
Removed Management Server/Simple Name Server/Fabric Zone routines.
Simplify sample code.
Modified script file to copy the DLL to the system directory.
Compiling option modified to enable _QLBUILD.
1.25Beta1 -10/8/2001
Modified code to intepret FCLun in proper format for SCSI calls.
Removed Hardware type checking in OpenAdapter
Modified hbaapi.h to conditionally add a new API HBA_GetVendorLibraryAttributes()
1.25Beta2 -10/25/2001
Fixed problem with display of version information.Avoided multiple references of
the version number.
Modified Code to incorporate mapping information for all LUNs in the function
GetFCPTargetMapping ().
Obtained the OS device name in the function GetFCPTargetMapping().
Modified the code to incorporate RSCN information in the function GetEventBuffer().
Replaced hardcoded values in the functions HBAGetAdapterPortAttributes()
and DiscoverPortAttributes ().Some values are obtained from the driver which
were previously hardcoded.
1.26Beta2 -10/25/2001
Conditional compilation to include new API GetVendorLibraryAttributes().
1.25Beta3 -11/02/2001
Modified Function HBAGetAdapterAttributes() to get Hardware Version information.
1.26Beta3 -11/02/2001
Conditional compilation to include new API GetVendorLibraryAttributes().
1.25Beta4 -11/07/2001
Modified the Install shield script files to copy the DLL in the Windows system32
directory.
Modified sample code.
Modified the function HBAGetAdapterPortAttributes() to check for driver version,
based on which FC Types and port speed details are filled.
1.26Beta4 -11/07/2001
Conditional compilation to include new API GetVendorLibraryAttributes().
1.25 -12/14/2001
Fixed multiclient problems.
Fixed PortSpeed and SupportedPortSpeed for 2100 adapter.
Modified InstallShield script file to copy qlsdm.dll only in system32 directory.
Temporarily disabled new internal IOCTL loopback test.
1.26 -12/14/2001
Conditional compilation to include new API GetVendorLibraryAttributes().
1.27.02 -02/19/2002
Conditional compilation to include new API GetVendorLibraryAttributes().
1.27.03 -04/10/02
Close 94945: OSDeviceName field is empty for many mappings.
1.27.04 -05/03/2002
Made changes to HBAGetFcpTargetMapping() routine to fix the memory corruption
problem.
1.27.05 -05/09/2002
Closed 92366 issue relating memory heap corruption when application makes a
call to HBAGetFcpTargetMapping() on W2K/NT4.
1.27.05 -O5/09/2002
Made changes to SDSendScsiPassThru and SDSendScsiPassThruFC where the
direction is set to DATA_IN only when there is a data tranfer(READ) instead
of setting the direction to DATA_IN whether there is data transfer(READ) or not
1.27.06 -O6/04/2002
Released QSDMGT 1.27.06
1.27.08 -09/10/2002
Fixed the Mappings Skipped issue.
Fixed ScsiOSLun is not in LSB issue.
Added support for tape device in MapDevice().
Released QSDMGT 1.27.08
1.27.10 -09/25/02
Add Support for Medium Changer devices in HBAGetFcpTargetMapping().
1.27.12 -12/11/02
Close Er22056(15-86-3) Information for all devices are returned by HBA_GETFcpTargetMapping()
1.28.12 -12/17/02
OEM release
1.27.13 -12/19/02
Fixed exception issue in HBAGetFcpTargetMapping().
--------------------------------------------------------------------------------
Copyright (c) 2000-2002 QLogic Corporation. All rights reserved.
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.