
Release History: QLogic QL2x00 HAM Driver for Netware 4.x, 5.x, 6.x
===================================================================

Version 6.50s  08/16/02
* 2300 RISC 3.01.13 TP updated.
* 2200 RISC 2.02.03 TP unchanged.
* 2100 RISC 1.19.24 TP updated.
* Added CT passthru ioctl.
* Added maxluns load option.
* Added portdown timeout option.
* Added failback delay option.
* Added linking of xdc file to makefile.
* Added combined driver build option to makefile.
* Added ioctl buffer length check when reading nvram.
* Added new load options to ddi files.

Version 6.50r  07/11/02
* 2300 RISC 3.01.12 TP updated.
* 2200 RISC 2.02.03 TP unchanged.
* 2100 RISC 1.19.23 TP unchanged.
* Added extra debug print for mailbox command retries.
* Added retry to timed out mailbox commands.
* Added serial number prefix to vendor ioctl.
* Added device wwnn to identify device function.
* Added device revision to identify device function.
* Added device entire product to identify device function.
* Added code to return ioctl lun bit info even if no port.
* Added load option to force scsi inquiry during lun scan.
* Added ioctl for fibre echo/loopback test.
* Added login for ports quietly logged out by firmware.

Version 6.50q  05/22/02
* 2300 RISC 3.01.08 TP updated.
* 2200 RISC 2.02.03 TP updated.
* 2100 RISC 1.19.23 TP updated.
* Removed scsi start unit command during lun scan.
* Added additional test for dirty abort on active hacb.
* Added modified qualification of rscn device marking.
* Added preferred portname copy during non-configured state.
* Added string conversion to ioctl idenitfy device.

Version 6.50p  05/09/02
* 2300 RISC 3.01.07 TP updated.
* 2200 RISC 2.02.02 TP unchanged.
* 2100 RISC 1.19.22 TP unchanged.
* Removed non-simple scsi queue tagging.
* Removed exclusion of login of strange looking ports.
* Moved active array spinlock in interrupt service routine.
* Added stricter qualification of rscn device marking.
* Added queueing of fabric rscn on loop/link up.
* Added retry denial on scsi 2.04/xx sense condition (xx not 01).
* Added correction to ioctl loop timeout and port login states.

Version 6.50o  04/11/02
* 2300 RISC 3.01.05 TP updated.
* 2200 RISC 2.02.02 TP updated.
* 2100 RISC 1.19.22 TP unchanged.
* Added active array spin lock/unlock during hacb abort.
* Added call to return device aen hacbs on device structure deallocate.
* Added call to return device disappear aen hacbs on loop/port timeout.
* Added adapter instance aen hacb queue.
* Added exclusion of start unit on inactive lun.
* Added exclusion of login of strange looking ports.
* Added fabric port login retry on already used loop id.
* Added swapped port login handling for fabric port timing out.
* Added extra test for invalid device handle in ExecuteScsiHacb().
* Fixed ioctl for known port summary when device port is timed out.

Version 6.50n  02/27/02
* 2300 RISC 3.01.02 TP updated.
* 2200 RISC 2.02.01 TP updated.
* 2100 RISC 1.19.22 TP updated.
* Added specific subsystem vendor id.
* Added vendor unique ioctl interface.
* Added vendor unique identify device.
* Added test for inquiry 3F lun not present.
* Added test for hacb type equal to vendor ping.
* Added avoidance of touching ham area for unknown hacb.
* Added combined support for ISP2312.
* Added size round up for scsi report luns buffer.
* Added copy of portname in port summary ioctl during portname mode.
* Added cancellation of io command retry on sense key 7 (data protect).
* Added scsi hacb execution failover path selection optimizaton.
* Added function split in HAM_Execute_HACB for improved modularization.
* Added function split in ScanLunsThread for improved modularization.
* Removed call to DisableAndRetFlags() when allocating devices objects.

Version 6.50m  11/12/01
* 2300 RISC 3.00.33 TP updated.
* 2200 RISC 2.01.37 TP updated.
* 2100 RISC 1.19.20 TP unchanged.
* Aligned event queue data structure.
* Removed console print for FC connection data rate.

Version 6.50l  11/01/01
* 2300 RISC 3.00.31 TP unchanged.
* 2200 RISC 2.01.36 TP unchanged.
* 2100 RISC 1.19.20 TP updated.
* Added console print for FC connection data rate.
* Added ioctl for reporting current path and port.
* Added ioctl for reporting logged in ports.
* Added ioctl for reporting event counters.
* Added ioctl for reporting event queue.
* Added extra event notification in failover from adapter.
* Added adapter portname to port summary data structure.

Version 6.50k  09/26/01
* 2300 RISC 3.00.31 TP updated.
* 2200 RISC 2.01.36 TP updated.
* 2100 RISC 1.19.19 TP updated.
* Moved lun scan port cycle from ExecuteLocalHacb() to ProbeDevice().
* Fixed port update event notify on previously existing port.
* Fixed name server gnnft missing last port problem.
* Removed loop state change from loopback test.
* Added command line option for configuraton required.
* Added extra debug prints for LoginFabricPort().
* Added extra debug prints for passthru and queue unfreeze.
* Added delay to device pending queue on selected errors.
* Added sns mailbox command timeout calculated from fabric ratov.
* Added missing path list spinlock lock/unlock calls.
* Added conditions to memory write invaldate enable.
* Added test for valid interrupt service routine pointer.
* Added rounding on 32 byte boundary to Report Luns buffer.
* Added preconfigured port summary type for configuration file nodes.

Version 6.50j  07/27/01
* 2300 RISC 3.00.26 TP unchanged.
* 2200 RISC 2.01.34 TP downgraded.
* 2100 RISC 1.19.18 TP unchanged.
* Fixed ham abort hacb spinlock problem.

Version 6.50i  07/19/01
* 2300 RISC 3.00.26 TP updated.
* 2200 RISC 2.01.35 TP updated.
* 2100 RISC 1.19.18 TP unchanged.
* Fixed scanning all luns on scancase zero introduced by report luns.
* Mark loop id used if login rejected by port and then do logout.
* Filter out portless nodes from known port summary ioctl.
* Removed qlogic adapter filter on name server query.
* Added new event error flags to existing flags.
* Added console alerts for failover.

Version 6.50h  06/13/01
* 2300 RISC 3.00.24 TP unchanged.
* 2200 RISC 2.01.34 TP unchanged.
* 2100 RISC 1.19.18 TP unchanged.
* Fixed problem with loopback/write/read buffer test combination.
* Internal hacbs execute regardless of device queue state.
* Internal hacbs leave device queue unfrozen on completion.

Version 6.50g  06/07/01
* 2300 RISC 3.00.24 TP updated.
* 2200 RISC 2.01.34 TP updated.
* 2100 RISC 1.19.18 TP updated.
* Fixed report luns command problem.
* Moved devicehandle creation to dcb allocation.
* Delete devicehandle on dcb deallocation.
* Made internal commands unfreezeable.
* Print error information for internal commands.
* Added command line control for extended retries
  for the following SK/ASC/ASCQ combinations:
     2/04/01 and 6/8B/02.

Version 6.50f  05/30/01
* 2300 RISC 3.00.18 TP unchanged.
* 2200 RISC 2.01.31 TP unchanged.
* 2100 RISC 1.19.17 TP unchanged.
* Added command line switch to use gnnft instead gan sequence.

Version 6.50e  04/16/01
* 2300 RISC 3.00.18 TP unchanged.
* 2200 RISC 2.01.31 TP unchanged.
* 2100 RISC 1.19.17 TP unchanged.
* Relocated report luns to allow volume set addressing on lun scan.
* Added support for reading version 4 configuation file (C4).
* Added ioctl support for version 4 configuration (C4).

Version 6.50d   03/27/01
* 2300 RISC 3.00.18 TP unchanged.
* 2200 RISC 2.01.31 TP unchanged.
* 2100 RISC 1.19.17 TP unchanged.
* Wait for any device to be ready before exiting HAM_Load().
* Promoted selection timeout to port down for timeout purpose.
* Added console warning when loop is not ready on driver load.
* Added statistics counter for currently active io commands.

Version 6.50c   02/22/01
* 2300 RISC 3.00.18 TP updated.
* 2200 RISC 2.01.31 TP updated.
* 2100 RISC 1.19.17 TP updated.
* Added fctape (fcp-2) support.
* Added failback on stable link/port ready.
* Added rscn interrupt processing optimization.
* Added portname device tracking commandline option.
* Added setting of fast post completion mode from nvram.
* Changed response queue depth for queue post completion.
* Corrected port id byte order of GetPortList() response.
* Removed connection mode change interrupt handling.

Version 6.50b   02/01/01
* 2300 RISC 3.00.17 EF unchanged.
* 2200 RISC 2.01.26 EF unchanged.
* 2100 RISC 1.19.16 EF unchanged.
* Corrected firmware initialization block alignment.

Version 6.50a   01/18/01 
* 2300 RISC 3.00.17 EF updated.
* 2200 RISC 2.01.26 EF unchanged.
* 2100 RISC 1.19.16 EF unchanged.
* Based on version 5.50y.
* Added multiprocessor support.

Version 5.50y    01/17/01
* 2300 RISC 3.00.17 EF updated.
* 2200 RISC 2.01.26 EF updated.
* 2100 RISC 1.19.16 EF unchanged.
* Fixed lun port configuration on driver load and ioctl apply.
* Removed login on select timeout or incomplete status.
* Removed fatal restart on fabric/loop mailbox command timeout.
* Removed isp 2300 loopback test prevention interlock.
* Added context switchable delay during mailbox command.
* Added target reset on failover port if failover due to error.
* Added timeout for loop up but not ready condition.
* Added request/response queue dynamic allocation/alignment.
* Added extra messages for driver hot replace.
* Added integration of 2300 hardware.
* Added fpm reset on isp reset for 2300.
* Added loopback test loop mode interlock.
* Added driver instance number to debug print output.
* Simplified lun qualifier on inquiry during lun scan.

Version 5.50x    11/17/00 
* 2200 RISC 2.01.23 EF unchanged.
* 2100 RISC 1.19.16 EF unchanged.
* Extended target port failover to target lun failover.
* Added lun scan hacb completion case for inactive path.
* Added driver replace copying of lun primary loop id and address method.
* Removed clearing of private flag for scancase zero.

Version 5.50w    10/20/00
* 2200 RISC 2.01.23 EF updated.
* 2100 RISC 1.19.16 EF updated.
* Filter out adapter from ioctl generated fabric gan.

Version 5.50v    10/10/00  
* 2200 RISC 2.01.21 EF updated.
* 2100 RISC 1.19.15 EF updated.
* Corrected lip reset polled event flag.
* Corrected ioctl generated fabric gan sequence.
* Corrected true adapter device reporting (not failover device).
* Added version field to configuration file to allow backward 
  compatibility (5.40 uses version 0; 5.50 uses version 2).

Version 5.50u    08/11/00
2200 RISC 2.01.15 EF unchanged.
2100 RISC 1.19.11 EF unchanged.
* Added target port failover mechanism
  (operates with existing adapter path failover mechanism).
* Added failover configuration information to lunmask structures.
* Restructured conditional nodename/portname device tracking.
* Restructured mailbox command routine to allow context switching.
* Restructured routine for checking timed out ports.
* Restructured routines for updating local and fabric ports.  
* Corrected loop id unreuse when going from fabric to local.
* Corrected bug in circular path list deallocation algorithm 
  that was causing problems in the following situations:
  + deallocating pathlist after driver replace failed,
  + substituting wwn with a previously known wwn.

Version 5.50t    07/07/00
* 2200 RISC 2.01.15 EF unchanged.
* 2100 RISC 1.19.11 EF unchanged.
* Added ioctls for reading and writing the extended risc params.

Version 5.50s    06/30/00 
* 2200 RISC 2.01.15 EF unchanged.
* 2100 RISC 1.19.11 EF unchanged.
* Return error if loopback test ioctl is requested on 2100 adapter.

Version 5.50r    06/21/00 
* 2200 RISC 2.01.15 EF unchanged.
* 2100 RISC 1.19.11 EF unchanged.
* Added code to return loopback test error counts.

Version 5.50q    06/21/00
* 2200 RISC 2.01.15 EF updated. 
* 2100 RISC 1.19.11 EF updated.
* Modified fabric target reset timeout handling.

Version 5.50p    05/25/00
* 2200 RISC 2.01.12 EF unchanged.
* 2100 RISC 1.19.07 EF unchanged.
* Disallow failover on sequential devices.
* Exclude primary path from alternate path count.

Version 5.50o    05/20/00
* 2200 RISC 2.01.12 EF unchanged.
* 2100 RISC 1.19.07 EF unchanged.
* Synchronize all device/lun scans between all driver instances.
* MailboxCommand() now verifies range of outcount [to isp] parameter.
* Deal with null path list pointer in HAM_Execute_HACB() and HAM_Unfreeze_Queue().
* In HAM_Execute_HACB():
*    return HACB_BAD/MALFORMED_DEVICE_HANDLE (0x00030046) if dcb pointer is null.
*    execute hacb on non-pathed adapter if path list pointer is null.

Version 5.50n    05/15/00
* 2200 RISC 2.01.12 EF unchanged.
* 2100 RISC 1.19.07 EF unchanged.
* Based on version 5.40n.
* Replace id failover with lun failover.
* Set global maxLuns from first adapter driver instance.
* Include test for end of device table when searching for path lists.
* Do dynamic run time test for ISP2100 device in Mailbox_ISR().
* Return HACB_DEVICE_NOT_ACTIVE/NULL (0x0007000) if path or pDcb are null.

Version 5.40m    05/03/00
* 2200 RISC 2.01.12 EF updated.
* 2100 RISC 1.19.07 EF updated.
* Port timeout debug print character.
* Fixed device wwn replacement interface.

Version 5.40l    04/28/00
* 2200 RISC 2.01.10 EF unchanged.
* 2100 RISC 1.19.05 EF unchanged.
* Added SNS GAN retry mechananism.
* Extended mailbox command routine.
* Implemented internal loopback mailbox command.
* Corrected not present device in port summary.

Version 5.40k    04/03/00
* 2200 RISC 2.01.10 EF unchanged.
* 2100 RISC 1.19.05 EF unchanged.
* Added ioctls to update host and risc nvram sections.
* Added ioctl to search flash memory for bios version.

Version 5.40j    03/27/00
* 2200 RISC 2.01.10 EF unchanged.
* 2100 RISC 1.19.05 EF unchanged.
* Added Report Luns scsi command to set lun addressing method.

Version 5.40i    03/21/00
* 2200 RISC 2.01.10 EF unchanged.
* 2100 RISC 1.19.05 EF unchanged.
* Add /ALLPATHS option to report all paths and disable failover.

Version 5.40h    03/15/00
* 2200 RISC 2.01.10 EF unchanged.
* 2100 RISC 1.19.05 EF unchanged.
* Implement hacb type 590h for non-failover scsi commands.
* Copy path list information during driver hot replace.

Version 5.40g    03/07/00
* 2200 RISC 2.01.10 EF updated.
* 2100 RISC 1.19.05 EF updated.
* Ham driver instance failover implemented.

Version 5.30f      03/01/00
* 2200 RISC 2.01.08 EF updated.
* 2100 RISC 1.17.38 EF unchanged.
* LoginFabricPort() now uses mask to determine target mode.
* Report lun 0 when inquiry indicates Clariion no device.

Version 5.30e    01/24/00
* 2200 RISC 2.01.04 EF unchanged.
* 2100 RISC 1.17.38 EF unchanged.
* Do not do 5 second lip sequence if preconfigured from registry.

Version 5.30d        01/21/00
* 2200 RISC 2.01.04 EF unchanged.
* 2100 RISC 1.17.38 EF unchanged.
* Login public port conditionally during rscn update.
* Ignore port from gan response if qlogic adapter (E08B).
  (prevents rscn ping-pong between multiple adapters).

Version 5.30c        01/11/00
* 2200 RISC 2.01.04 EF unchanged.
* 2100 RISC 1.17.38 EF updated.
* Load device and lun masks from dos configuration file
  (driver is now also compatible with NW4.xx).

Version 5.30b        12/16/99
* 2200 RISC 2.01.04 EF unchanged.
* 2100 RISC 1.17.35 EF unchanged.
* Do not clear multipath control byte for port summary.

Version 5.30a        12/14/99
* 2200 RISC 2.01.04 EF updated.
* 2100 RISC 1.17.35 EF updated.
* 2100 and 2200 ham drivers generated from common source.
* Read connection mode option read from nvram.

Version 5.25g        11/23/99
* RISC 2.01.03 EF (Extended Lun, Fabric) updated.
* Correction to port counting during GAN sequence.
* Allow device tracking by nodename or portname.
* Queue RSCNs to avoid losing multiple RSCN interrupts.
* Disable interrupts before unregistering unload instance.
* Deallocate dmi resources on driver/instance unload.

Version 5.25f        11/15/99
* RISC 2.00.40 EF (Extended Lun, Fabric) unchanged.
* Implemented Lun Masking Interface.
* Implemented Registry Interface for Netware 5
  Note: Not yet compatible with Netware 4 (no Registry).

Version 5.15f        11/03/99
* RISC 2.00.40 EF (Extended Lun, Fabric) unchanged.
* If no devices, do a lip every second for 5 seconds,

Version 5.15e        11/02/99
* RISC 2.00.40 EF (Extended Lun, Fabric) unchanged.
* Do not retry external tape commands.

Version 5.15d        10/15/99
* RISC 2.00.40 EF (Extended Lun, Fabric) updated.
* Risc includes fix for dma undderrun on tape backup operation.
* ProbeDevice tests inquiry data for Clariion no device.

Version 5.15c        10/04/99
* RISC 2.00.27 EF (Extended Lun, Fabric) unchanged.
* Exclude initiators that have registered for FC4.

Version 5.15b        08/30/99
Version 5.15b  BETA  08/26/99
* RISC 2.00.27 EF (Extended Lun, Fabric) updated.
* Implemented Lun Masking Interface.
* Allow risc to control duplex mode.

Version 5.15a  BETA  08/13/99
* RISC 2.00.20 EF (Extended Lun, Fabric) Unchanged.
* Implemented interface for DMI (Desktop Management Interface).


