QLogic Fibre Channel Adapter and Converged Network Adapter API Release Notes for Linux Kernel 2.4.x/2.6.x/3.x and VMware ESXi 4.x/5.0.x/5.1.x QLogic Corporation All rights reserved Table of Contents 1. Change History 2. Known Issues 3. Notices 4. Contacting Support 1. Change History This section contains: * 1.1 Hardware Support * 1.2 Software Component * 1.3 Bug Fixes 1.1 Hardware Support Between versions v2.03 build 8 and v3.00 build 16: * None Between versions v3.00 build 16 and v4.00 build 1: * Add ISP2532 support Between versions v4.00 build 1 and v4.00 build 5: * None Between versions v4.00 build 5 and v4.00 build 6: * Add ISP8432 support Between versions v4.00 build 6 and v4.00 build 20: * None Between versions v4.00 build 20 and v4.00 build 21: * Add ISP8001 support Between versions v4.00 build 21 and v6.00 build 1: * None Between versions v6.00 build 1 and v6.00 build 2: * Add ISP8021 support Between versions v6.00 build 2 and v6.00 build 21: * None Between versions v6.00 build 21 and v6.01 build 1: * Add ISP2031 support * Add ISP8031 support * Add EP2533 support Between versions v6.01 build 1 and v6.01 build 5: * None Between versions v6.01 build 5 and v6.02 build 1: * Add ISP8044 support * Add EP2831 support * Add EP8831 support Between versions v6.02 build 1 and v6.02 build 13: * None Between versions v6.02 build 13 and v6.03 build 1: * Add ISP2071 support * Add ISP2271 support Between versions v6.03 build 1 and v6.03 build 2: * None Between versions v6.03 build 2 and v6.03 build 3: * None Between versions v6.03 build 3 and v6.03 build 4: * Add 2261 DeviceID support Between versions v6.03 build 4 and v6.04 build 8: * None 1.2 Software Components Between versions v2.03 build 8 and v2.03 build 9: * Set unsupported value if NVRAM param is not supported for 24xx adapters Between versions v2.03 build 9 and v2.03 build 10: * Set ALPA for loop id for non-fabric topology when port id is zero Between versions v2.03 build 10 and v2.03 build 11: * Do not update VPD for 54XX adapters Between versions v2.03 build 11 and v2.03 build 12: * Add VPD update support for 54XX adapters * Disable AENs before closing device * Set data direction to NONE for no data transfer PassThru APIs Between versions v2.03 build 12 and v2.03 build 13: * None Between versions v2.03 build 13 and v2.03 build 14: * Use mailbox interface to read RLS data Between versions v2.03 build 14 and v2.03 build 15: * Add Firmware Dump retrieval support * Add SFP DMI read support Between versions v2.03 build 15 and v2.03 build 16: * Add iiDMA support Between versions v2.03 build 16 and v3.00 build 1: * Add 4096 LUNs support * Add sysfs drivers support Between versions v3.00 build 1 and v3.00 build 2: * Add NPIV support Between versions v3.00 build 2 and v3.00 build 3: * Add cleanup library support in make clean Between versions v3.00 build 3 and v3.00 build 4: * Add debug prints in sysfs path Between versions v3.00 build 4 and v3.00 build 5: * Only loop id < 127 are supported * Underrun status in RUBAH API Between versions v3.00 build 5 and v3.00 build 6: * Read VPD data for OEM branded adapters Between versions v3.00 build 6 and v3.00 build 7: * Display VPD data of 512 bytes Between versions v3.00 build 7 and v3.00 build 8: * None Between versions v3.00 build 8 and v3.00 build 9: * Add Flash update support for sysfs based drivers Between versions v3.00 build 9 and v3.00 build 10: * None Between versions v3.00 build 10 and v3.00 build 11: * Read option ROM version information using sysfs Between versions v3.00 build 11 and v3.00 build 12: * Save defaults for multiple BIOS on 4G cards Between versions v3.00 build 12 and v3.00 build 13: * Add EFI boot settings Between versions v3.00 build 13 and v3.00 build 14: * Add NVRAM parameters read/write functions Between versions v3.00 build 14 and v3.00 build 15: * Read/Write flash in chuncks using sysfs * Use NULL ternimated buffer for serial number * Return not supported for unsupported SNIA APIs * Add Alternate boot port name/LUN number support * Provide device name alias * Valiadate flash buffer size to avoid zero sized malloc Between versions v3.00 build 15 and v4.00 build 1: * None Between versions v4.00 build 1 and v4.00 build 2: * Add SFP/DMI retrieval support via sysfs * Embed libsysfs * Add mirroring of Option ROM image for ISP2532 * Add reduced preferred path string support Between versions v4.00 build 2 and v4.00 build 3: * Add PCIe capability support * Add addtitional statistics support (Tx/Rx Frames, Dumped Frames etc) Between versions v4.00 build 3 and v4.00 build 5: * None Between versions v4.00 build 5 and v4.00 build 6: * Add Firmware table feature support for ISP2532 based adapters * Add 64 bit library support for PowerPC based systems Between versions v4.00 build 6 and v4.00 build 7: * Add PCIe Link Capability and PCIe Link Status values * Add new char device node for VMware ESX 4.x drivers Between versions v4.00 build 7 and v4.00 build 8: * None Between versions v4.00 build 8 and v4.00 build 9: * Add link_state sysfs attribute for Linux kernel > 2.6.25 Between versions v4.00 build 9 and v4.00 build 10: * Use packed pragma to have size consistency between the structures in the API and driver Between versions v4.00 build 10 and v4.00 build 11: * None Between versions v4.00 build 11 and v4.00 build 12: * Add 4G and 8G speed support for HBA_GetAdapterPortAttributes SNIA API Between versions v4.00 build 12 and v4.00 build 13: * Add IOCTL module support added for RHEL4 * Add Time Stamp information for debug messages * Add Lun 0 FCP mapping support for inbox drivers * Re-design host instance handling considering dynamic host creation/deletion Between versions v4.00 build 13 and v4.00 build 14: * Removed Linux version check while loading library Between versions v4.00 build 14 and v4.00 build 15: * Add PortSupportedSpeed for older speeds * Read Flash version information from VPD for 4G/8G cards in sysfs path * Netlink support added for FCoE adapters * CT/ELS Passthru and Statistics support added in sysfs path * Add Raw flash update support * Add Udev support for persistent naming of target LUNs * Read ISP8432 firmware version via sysfs path * Add AEN support via Netlink interface Between versions v4.00 build 15 and v4.00 build 18: * None Between versions v4.00 build 18 and v4.00 build 19: * Update Udev rules filename Between versions v4.00 build 19 and v4.00 build 20: * Add NPIV Configuration Region support * Add Serdes Region support * Return failure for invalid region code during flash operations * Add IOCount and DeviceErrorCount read support for sparse Luns * Limit 64 AENs port port Between versions v4.00 build 20 and v4.00 build 21: * Add ELS statistics support for SNIA APIs * Add API debug using Environment variable support * Add Extended Loopback support * Add AEN support via Netlink * Read flash versions, port speed via sysfs attributes Between versions v4.00 build 21 and v4.00 build 22: * Enable AENs for sysfs based drivers Between versions v4.00 build 22 and v4.00 build 23: * None Between versions v4.00 build 23 and v4.00 build 24: * Send FC SCSI passthru to the first Lun found for sysfs based drivers Between versions v4.00 build 24 and v5.00 build 1: * Add Flash Layout Table support for ISP8001 * Do not update Read-Only regions of the flash * Add MPI reset and Firmware reset support for ISP8001 * Add Read-Modify-Write support for flash operations * Add Reset support after flash update Between versions v5.00 build 1 and v5.00 build 2: * Open SG device in Read-Write mode for vendor specific SCSI commands and newly defined SCSI commands * Add Vitesse/EDC support * Add SendScsiCommand RUBAH API Handler support * Read driver exported flash sector size * Added XGMAC Statistics support * Alloc memory for AEN at API load time Between versions v5.00 build 2 and v5.00 build 3: * Do not allow zero sized region read/write * Use correct reset macros for sysfs and IOCTL path Between versions v5.00 build 3 and v5.00 build 4: * Add VLAN ID and VN Port MAC Address support * Add DCBX Parameters support * Add Chip Revision support * Reset ISP8001 after MPI Config Parameters update Between versions v5.00 build 4 and v5.00 build 5: * Add Loopback support for inbox drivers via Netlink interface * Optimized Netlink memory allocation * Protect multiple flash read/write calls Between versions v5.00 build 5 and v5.00 build 6: * Add Udev support for LUN and partitions * Send SCSI Check Condition status to Application * Add iiDMA support for sysfs based drivers * Add 10Gbps speed support for iiDMA APIs Between versions v5.00 build 6 and v6.00 build 1: * Redesigned API Initialization * Add Flash Layout Table support for ISP2532 * Removed max 32 ports limitation of API * Add view-only vport support for RHEL5/SLES11 * Do not allow vport to do any flash update operations * Use start address and region size to update any region in flash for ISP2532 based adapters * Use correct size of flash for ISP6322 adapters * Disable AENs only by last API library instance * Add SDM API to get adapter port count Between versions v6.00 build 1 and v6.00 build 2: * Ignore adapter id device id is not present in supported list * Cache MPI/EDC and NIC bootcode versions * Add vport add/delete support (non-persistent) * Do not allow Vport APIs for older ISPs * Read Target Link statistics * Read IOCount and DeviceErrors by traversing sysfs tree for RHEL5/SLES10 * Add OSDeviceName support for ESX drivers * Add CT Passthru, ELS Passthru and Loopback support via BSG interface * Add HP QoS support for physical ports Between versions v6.00 build 2 and v6.00 build 3: * Write QoS Config data in flash irrespective of PERSIST flag value Between versions v6.00 build 3 and v6.00 build 4: * Added ISP8432 API support via BSG interface Between versions v6.00 build 4 and v6.00 build 5: * Add FCoE context reset support for ISP8021 based adapters * Send BSG ELS passthru commands only for Online ports * Reset after NVRAM update for ISP8001 based adapters * Add IIDMA support using BSG interface * Add HP QoS support for IOCTL based drivers * Add API retry when driver returns BUSY status * Block iiDMA support for ISP8021 based adapters * Add HP QoS support via BSG interface * Do not use deprecated sysctl system call Between versions v6.00 build 5 and v6.00 build 6: * Use fsync to confirm data is written on shared database file * Read flash FW version from FW header for ISP8021 based adapters Between versions v6.00 build 6 and v6.00 build 7: * Do not use application buffer directly while reading MPI/EDC versions * Set flash layout before reading any region from flash Between versions v6.00 build 7 and v6.00 build 8: * None Between versions v6.00 build 8 and v6.00 build 9: * Log semaphore messages in log file * Do not use "syscall" system call to differentiate ESX Visor * Add flash read/update support via BSG interface * Add FabricName support for sysfs based drivers * Reset adapter if FW returns need reset status in Loopback command Between versions v6.00 build 9 and v6.00 build 10: * Synchronize API memory allocation/deallocation in muti-threaded process Between versions v6.00 build 10 and v6.00 build 11: * Add Thermal Temperature support for ISP2532 based mezzanine adapters Between versions v6.00 build 11 and v6.00 build 12: * None Between versions v6.00 build 12 and v6.00 build 13: * Add diagnostic mode support for ISP8021 based adapters * Add MaxIO support Between versions v6.00 build 13 and v6.00 build 14: * Add Serdes paramters read support Between versions v6.00 build 14 and v6.00 build 15: * Allow CT passthru commands only for online & F/FL ports * Differentiate ESXi & Linux using uname() C function Between versions v6.00 build 15 and v6.00 build 16: * Do not set diagnostic mode for ISP8021 based adapters * Add FRU VPD update support for ISP2532 based mezzanine adapters Between versions v6.00 build 16 and v6.00 build 17: * None Between versions v6.00 build 17 and v6.00 build 18: * Do not Fail flash update if FRU VPD update fails Between versions v6.00 build 18 and v6.00 build 19: * Add zeroed date field and Image Type field in FRU VPD version Between versions v6.00 build 19 and v6.00 build 20: * Enable FCP PRIO for ISP8001 and newer adapters Between versions v6.00 build 20 and v6.00 build 21: * None Between versions v6.00 build 21 and v6.01 build 1: * Add NPIV QoS Support * Add Trace Buffer support Between versions v6.01 build 1 and v6.01 build 2: * Use single function to read fields in VPD * Read Model Description from VPD for ISP2031/ISP8031 based adapters Between versions v6.01 build 2 and v6.01 build 3: * Return LoadLibrary success if no adapters found or driver not loaded Between versions v6.01 build 3 and v6.01 build 4: * Extend Thermal Temperature support for ISP2031, ISP8021 and ISP8031 based adapters Between versions v6.01 build 4 and v6.02 build 1: * None Between versions v6.02 build 1 and v6.02 build 2: * Update Flash versions without reset after flash update * Retry flash operations after a delay when driver returns BUSY * Send only Report LUNs command on first LUN found Between versions v6.02 build 2 and v6.02 build 3: * Add SerDes Register read/write support Between versions v6.02 build 3 and v6.02 build 4: * Add 32bit SerDes Register read/write support for ISP8044 * Allow FCoE context reset for ISP8044 after NVRAM update Between versions v6.02 build 4 and v6.02 build 5: * None Between versions v6.02 build 5 and v6.02 build 6: * libinstall: Ask user to restart applications after API installation * Sync up Aplication-API Error codes Between versions v6.02 build 6 and v6.02 build 7: * Add ECHO ELS support Between versions v6.02 build 7 and v6.02 build 9: * None Between versions v6.02 build 9 and v6.02 build 10: * Add D-Port Diagnostics info support Between versions v6.02 build 10 and v6.02 build 12: * None Between versions v6.02 build 12 and v6.02 build 13: * Add QoS (Fabric Priority) support for VMware Between versions v6.02 build 13 and v6.03 build 4: * None Between versions v6.03 build 4 and v6.03 build 5: * Add MPI and PEP version support for ISP27xx * Add PPC64 LE (little endian) API binary support Between versions v6.03 build 5 and v6.03 build 6: * Add Flash MPI and PEP version support for ISP27xx Between versions v6.03 build 6 and v6.03 build 7: * Add Online Flash Update support for ISP27xx adapters Between versions v6.03 build 7 and v6.03 build 8: * None Between versions v6.03 build 8 and v6.03 build 9: * Reverted Online Flash Update support for ISP27xx adapters Between versions v6.03 build 9 and v6.04 build 1: * Re-added Online Flash Update support for ISP27xx adapters Between versions v6.04 build 1 and v6.04 build 2: * Added Smart SAN support Between versions v6.04 build 2 and v6.04 build 4: * None Between versions v6.04 build 4 and v6.04 build 5: * Added support to read FW attributes Between versions v6.04 build 5 and v6.04 build 6: * Added Buffer-to-Buffer Credit Recovery API support * Added Private Statistics API support Between versions v6.04 build 6 and v6.04 build 8: * None 1.3 Bug Fixes Between versions v2.03 build 8 and v2.03 build 12: * None Between versions v2.03 build 12 and v2.03 build 13: * Problem Description: Invalid NVRAM size used for QLE220 adapters * Solution: Used correct NVRAM size for QLE220 adapters Between versions v2.03 build 13 and v3.00 build 9: * None Between versions v3.00 build 9 and v3.00 build 10: * Problem Description: API hang seen on RHEL5/SLES10 * Solution: Do not read FW image versions Between versions v3.00 build 10 and v3.00 build 11: * Problem Description: Memory leak seen in API * Solution: Free malloc'd memory Between versions v3.00 build 11 and v3.00 build 12: * None Between versions v3.00 build 12 and v3.00 build 13: * Problem Description: Flash update fails if adapters gets same bus number * Solution: Add Domain Number to distinguish between multiple adapters Between versions v3.00 build 13 and v3.00 build 15: * None Between versions v3.00 build 15 and v3.00 build 16: * Problem Description: Chunking support is enabled by default * Solution: Add helper code to detect if chunking is supported Between versions v3.00 build 16 and v4.00 build 3: * None Between versions v4.00 build 3 and v4.00 build 4: * Problem Description: Invalid Port Count value from VMware ESX 3.5 drivers * Solution: Hard code PortCount value to 1 for VMware drivers Between versions v4.00 build 4 and v4.00 build 5: * Problem Description: MAP_SHARED flag not supported by VMware ESX * Solution: Use MAP_PRIVATE flag for VMware ESX Between versions v4.00 build 5 and v4.00 build 10: * None Between versions v4.00 build 10 and v4.00 build 11: * Problem Description: HBA_FcpTargetMapping API fails with older drivers * Solution: Provided correct handle to discover target API Between versions v4.00 build 11 and v4.00 build 15: * None Between versions v4.00 build 15 and v4.00 build 16: * Problem Description: API seg faults when target gives SCSI Check condition * Solution: Validate sense buffer allocation before using it Between versions v4.00 build 16 and v4.00 build 17: * Problem Description: App seg faults if driver does not support GetAen API * Solution: Validate driver supports GetAen API before invoking it Between versions v4.00 build 17 and v4.00 build 18: * Problem Description: API hangs in ESXi due to RHEL4 IOCTL module * Solution: Do not use IOCTL module path for ESXi systems * Problem Description: Incorrect Port Count value for NPIV ports * Solution: Use correct Port Count value for NPIV ports Between versions v4.00 build 18 and v6.00 build 3: * None Between versions v6.00 build 3 and v6.00 build 4: * Problem Description: Kernel panic seen when multiple BSG operations are running * Solution: Remove extra flash semaphore unlock which caused kernel panic Between versions v6.00 build 4 and v6.00 build 11: * None Between versions v6.00 build 11 and v6.00 build 12: * Problem Description: QoS APIs fail when adapter FLT lacks QoS region * Solution: Use static FLT layout for QoS regions if adapter FLT lacks QoS region Between versions v6.00 build 12 and v6.00 build 20: * None Between versions v6.00 build 20 and v6.00 build 21: * Problem Description: NVRAM Expansion region read fails * Solution: Read complete sector and extract NVRAM Expansion reagion data Between versions v6.00 build 21 and v6.01 build 4: * None Between versions v6.01 build 4 and v6.01 build 5: * Problem Description: Boot-Code Expansion region not updated during flash update for ISP2532 based adapters with FLT * Solution: Define and update Boot-Code Expansion region during flash update for ISP2532 based adapters Between versions v6.01 build 5 and v6.02 build 1: * None Between versions v6.02 build 1 and v6.02 build 3: * None Between versions v6.02 build 3 and v6.02 build 4: * Problem Description: Targets are not visible if Lun 0 is not present * Solution: Find first valid LUN found and send SCSI comands on it Between versions v6.02 build 4 and v6.02 build 5: * Problem Description: Shared resources are cleaned-up in ESXi environment if multiple processes are running and any one process terminates. * Solution: Check for last library instance before deleting shared resources in ESXi environments Between versions v6.02 build 5 and v6.02 build 6: * None Between versions v6.02 build 6 and v6.02 build 7: * Problem Description: Additional data sent in get statistics * Solution: Removed invalid code from get statistics Between versions v6.02 build 7 and v6.02 build 8: * Problem Description: Compilation issue with Apps * Solution: Moved ECHO ELS function prototype to another header file Between versions v6.02 build 8 and v6.02 build 9: * Problem Description: Get port statistics API failing with RHEL5/SLES10 drivers * Solution: Use min size for port statistics data command Between versions v6.02 build 9 and v6.02 build 10: * None Between versions v6.02 build 10 and v6.02 build 11: * Problem Description: Lun persistent names failing on RHEL7 * Solution: Use ATTR(S){} or SYSFS{} in udev rules based on udev version Between versions v6.02 build 11 and v6.02 build 12: * Problem Description: CT Ping and CT passthru failing in ESXi 5.0/5.1 * Solution: Corrected code to get valid topology Between versions v6.02 build 12 and v6.03 build 1: * None Between versions v6.03 build 1 and v6.03 build 2: * Problem Description: QoS feature disabled for ISP27xx adapter on VMware * Solution: Enabled QoS feature for ISP27xx adapters on VMware Between versions v6.03 build 2 and v6.03 build 3: * Problem Description: HBA_GetFcpTargetMapping fails for LUN number > 256 * Solution: Honor LUN addressing method while reading LUN numbers for HBA_GetFcpTargetMapping API with LUN numbers > 256 * Problem Description: HBA_SendScsiInquiry and HBA_SendReadCapacity fails for LUN number > 256 * Solution: Use SAM-2 LUN addressing for HBA_SendScsiInquiry and HBA_SendReadCapacity SNIA APIs for LUN numbers > 256 Between versions v6.03 build 3 and v6.03 build 7: * None Between versions v6.03 build 7 and v6.03 build 8: * Problem Description: SDGetQoS API returns success even if QoS region is not present * Solution: Add QoS region check in SDGetQoS API Between versions v6.03 build 8 and v6.04 build 1: * None Between versions v6.04 build 1 and v6.04 build 2: * Problem Description: Access denied messages in VMware ESXi 5.1.x * Solution: Block get shared database count API for ESXi Between versions v6.04 build 2 and v6.04 build 3: * Problem Description: Flash update fails if online flash update feature is disabled or not supported by QLogic applications * Solution: Allow flash update if online flash update feature is disabled or not supported by QLogic applications Between versions v6.04 build 3 and v6.04 build 4: * Problem Description: Flash update fails for 27xx adapters with newer Apps - older driver combination * Solution: Clear feature flag for older drivers Between versions v6.04 build 4 and v6.04 build 5: * None Between versions v6.04 build 5 and v6.04 build 6: * Problem Description: Multiple applications can do flash update simultaneously for 27xx adapters for VMware ESXi 5.0/5.1 * Solution: Use serial number based file for 27xx flash update token for VMware ESXi 5.0/5.1 Between versions v6.04 build 6 and v6.04 build 7: * Problem Description: HbaDevPortNum argument required in BBCR API * Solution: Added HbaDevPortNum argument in BBCR API for common prototype across various OSes. Between versions v6.04 build 7 and v6.04 build 8: * Problem Description: Need failure codes in BBCR API * Solution: Provide mailbox failure code when BBCR read fails 3. Notices Information furnished in this document is believed to be accurate and reliable. However, QLogic Corporation assumes no responsibility for its use, nor for any infringements of patents or other rights of third parties which may result from its use. QLogic Corporation reserves the right to change product specifications at any time without notice. Applications described in this document for any of these products are only for illustrative purposes. QLogic Corporation makes no representation nor warranty that such applications are suitable for the specified use without further testing or modification. QLogic Corporation assumes no responsibility for any errors that may appear in this document. 4. 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 E-mail: support@qlogic.com Trademarks Accelera, Accelerating Cluster Performance, FastFabric, InfiniCon Systems, InfiniNIC, InfiniPath, InfiniView, Intelligent NIC, Networking University, NetXen, QLA, QLogic, the QLogic logo, ReadyPath, SANdoctor, SANsurfer, and SilverStorm are registered trademarks of QLogic Corporation. To the extent a name or logo does not appear on this list does not constitute a waiver of any and all intellectual property rights that QLogic Corporation or its subsidiaries has established in any of its product, feature, or service names or logos. All other brand and product names are trademarks or registered trademarks of their respective owners. (c) Copyright 2015. 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.