Release History: IBM FAStT Host Adapter Driver and IBM FAStT FC-2 Host Bus Adapter Driver version 6.50q for NetWare =================================================================== 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).