IBM FAStT FC2-133 Host Bus Adapter Driver version 6.80F for NetWare Last Update: 08/24/2004 =================================================== Contents -------- 1. OS Support 2. Supported Features 3. Release History 4. Creating the Driver Diskette 5. Host Adapter configuration 5.1 Update IBM FAStT FC2-133 Host Bus Adapter BIOS 5.2 Configure the NOVRAM settings for the IBM FAStT FC2-133 Host Bus Adapter 6. Installing the Driver 6.1. Initial OS installation with the QLogic Controller as Boot 6.2. Initial OS installation with the QLogic Controller as Add-On 6.3. Adding the QLogic Controller to the Existing OS 6.3.1. Adding the Driver for the First Time 6.3.2. Adding Additional QLogic QLA2x00 Controller 6.4. Updating the Existing QLogic Driver 7. NetWare Failover 8. Install FAStT_MSJ 9. Removing the Driver 10. Driver Optional Parameters 10.1. System Parameters 10.2. NVRAM Parameters 11. Known Issues and Limitations 12. Additional Notes 12.1. PCI Hot Plug 12.2. 256 LUN Support 12.3. Server Memory Recommendations 12.4 Debug Driver Information 12.5 Support for DMI and QMS 13. Diskette Content 14. WEB Sites and Support Phone Number 15. Trademarks and Notices 16. Disclaimer ====================================================================== 1. OS Support ------------- NetWare 6 Support Pack 4 Netware 6.5 Support Pack 2 ====================================================================== 2. Supported Features --------------------- * NetWare Multi-Processor Compliance * NetWare PCI Hot Plug Compliance * Driver 256 LUN Support * Driver Adapter/Lun Failover * Driver DMI and QMS Support ====================================================================== 3. Release History ------------------ QL2300.HAM version 6.80f (07/15/2004) * 2312 RISC 3.03.01 TPX. * 2322 RISC 3.03.01 TPX. * 6312 RISC 3.03.01 FLX. * 6322 RISC 3.03.01 FLX. * Updated risc firmware. QL2300.HAM version 6.80e (07/08/2004) * 2312 RISC 3.02.30 TPX. * 2322 RISC 3.02.30 TPX. * 6312 RISC 3.02.30 FLX. * 6322 RISC 3.02.30 FLX. * Added detection and retry of fcp transport error. * Corrected loop id exhaustion on port disappear with link timeout. * Removed disabling of failover mode on detection of QLA200 board. * Moved optical driver initialization before firmware initialization. QL2300.HAM version 6.80d (05/21/2004) * 2312 RISC 3.02.29 TPX. * 2322 RISC 3.02.29 TPX. * 6312 RISC 3.02.29 FLX. * 6322 RISC 3.02.29 FLX. * Added 2322 and 6322 support. * Added hardware type table lookup. * Added call to test mailbox registers. * Added get current beacon state ioctl. * Added load option for symbolic nodename registration. * Added /allports load option (same meaning as /portnames). * Added correction to port id filtering for Cisco switches. * Changed byte order of port id in HAM_Return_Port_Info(). * Corrected port logins to be conditional for all device types. * Corrected loopback error counts on successful loopback. * Corrected reading of bios version from flash. QL2300.HAM version 6.80c (03/22/2004) * 2312 RISC 3.02.27 TPX. * 6312 RISC 3.02.27 FLX. * Added enable/disable beacon control ioctl. * Added ssvid/ssdid adapter name lookup table. * Added FC4 registration for symbolic nodename (RSNN_NN). * Converted SNS command mechanism from mailbox command to CT passthru. * Corrected risc parity enable command (moved to after firmware start). * Corrected failure to failover on driver single instance unload. QL2300.HAM version 6.80b (03/03/2004) * 2312 RISC 3.02.24 TPX. * 6312 RISC 3.02.24 FLX. * Changed ham module id back to 0x597. QL2300.HAM version 6.80a (02/19/2004) * 2312 RISC 3.02.24 TPX. * 6312 RISC 3.02.24 FLX. * Added connection data rate field to ioctl. * Added FC4 registration for nodename (RNN_ID). ====================================================================== 4. Creating the Driver Diskette ------------------------------- 1. Download the IBM FAStT FC2-133 Host Bus Adapter Device Driver: - Refer to the IBM website at http://www.pc.ibm.com and locate the IBM FAStT FC2-133 Host Bus Adapter Device Driver. Click "Link to driver." 2. If prompted with "What would you like to do with this file?” choose "Save this program to disk". 3. Specify a temporary location on your hard drive and download the IBM FAStT FC2-133 Host Bus Adapter device driver. 4. Insert a blank diskette in the diskette drive. Run the self-extracting file you just downloaded specifying A:\ for "Unzip To Folder:” ======================================================================= 5. Host Adapter configuration ------------------------------ 5.1 Update IBM FAStT FC2-133 Host Bus Adapter BIOS -------------------------------------------------- IMPORTANT NOTE: The adapter BIOS must be at least 1.43 for the 6.80F driver. The adapter BIOS can be updated by booting the server to the BIOS update diskette, available from the IBM Support website, then run the following commands: flasutil /f /l This will update the IBM FAStT FC2-133 Host Bus Adapters in this server. Note: The IBM FAStT FC2-133 Host Bus Adapter BIOS update program will only update like adapters. If you have a server that contains IBM FAStT Host Bus Adapters and IBM FAStT FC-2-133 Host Bus Adapters you may only update one adapter type at a time. ====================================================================== 5.2 Configure the NOVRAM settings for the IBM FAStT FC2-133 Host Bus Adapter ---------------------------------------------------------------------------- All the settings should maintain the IBM defaults except the following. - Advanced Adapter Settings LUNs per target - 32 1. As the host boots, press CTRL-Q when prompted Press for Fast!Util. 2. After the Fast!Util program loads, the display will depend on whether there are multiple IBM FAStT Adapters installed: If there are multiple IBM FAStT FC2-133 Host Bus Adapters, a list of addresses occupied by those Host Adapters will appear. Using the arrow keys, select the desired adapter and press ENTER. The Fast!Util Options menu will then appear. For further information refer to the IBM FAStT FC2-133 Host Bus Adapter publication. ====================================================================== 6. Installing the Driver ------------------------ This section is divided into the following four sections. · Initial operating system installation with the IBM FAStT FC2-133 Host Bus Adapter as Boot · Initial operating system installation with the IBM FAStT FC2-133 Host Bus Adapter as Add-on · Adding the IBM FAStT FC2-133 Host Bus Adapter to the existing operating system · Updating the existing IBM FAStT FC2-133 Host Bus Adapter Device Driver ====================================================================== 6.1. Initial OS installation with the IBM FAStT FC2-133 Host Bus Adapter as Boot -------------------------------------------------------------------------------- Perform the following steps to initially install NetWare on a Fibre Channel (FC) disk drive attached to the IBM FAStT FC2-133 Host Bus Adapter. 1. Enable the BIOS on the IBM FAStT FC2-133 Host Bus adapter, and select the FC as the boot device. 2. If you haven't already done so, install DOS on the boot disk. 3. Follow the standard NetWare instructions to begin the installation. 4. When prompted to "Choose Storage Drivers - Disk Drivers", press to install an unlisted driver. 5. Insert the IBM FAStT FC2-133 Host Bus Adapter driver diskette and press to specify the path to the QLogic HAM driver: A:\NETWARE 6. Press to select the QLogic HAM driver. 7. Follow the standard NetWare installation procedure and complete the installation. ====================================================================== 6.2. Initial OS installation with the IBM FAStT FC2-133 Host Bus Adapter as Add-On ---------------------------------------------------------------------------------- Perform the following steps to install Netware and the IBM FAStT Host Adapter driver on the device not attached to the IBM FAStT FC2-133 Host Bus Adapter. Same as section 6.1, except that at step 1, the IBM FAStT FC2-133 Host Bus Adapter BIOS should be disabled. ====================================================================== 6.3. Adding the IBM FAStT FC2-133 Host Bus Adapter to the Existing OS --------------------------------------------------------------------- Perform the following steps to add the driver to the existing NetWare system. 6.3.1. Adding the Driver for the First Time ------------------------------------------- For NetWare 6.0 1. From the NetWare server prompt, load the appropriate NetWare program: LOAD NWCONFIG 2. Select "Driver options" from the main menu. 3. Select "Configure disk and storage device drivers". 4. Select "Select an additional driver". 5. Press to install an unlisted driver. 6. Insert the IBM FAStT FC2-133 Host Bus Adapter driver diskette and press to specify the path to the HAM driver: A:\NETWARE 7. Press to select the QLogic HAM driver and select "Yes" to copy the driver from the diskette to the server directory. 8. At the server console type: Load edit c:\nwserver\startup.ncf The load statement for the IBM FAStT FC2-133 Host Bus Adapter should read as follows if Novell NetWare's multi-pathing and LSIMPE.CDM is used for multi-path failover: LOAD QL2200.HAM SLOT=n /LUNS /ALLPATHS /PORTNAMES /XRETRY=400 or LOAD QL2300.HAM SLOT=n /LUNS /ALLPATHS /PORTNAMES /XRETRY=400 For NetWare 6.5: 1. From the NetWare server prompt, load the appropriate NetWare program: LOAD HDETECT 2. Select and press . 3. Select and press . 4. Select the storage adapters and press . 5. Select and press . 6. Press to install an unlisted driver. 7. Insert the IBM FAStT FC2-133 Host Bus Adapter driver diskette and press to specify the path to the QLogic HAM driver: A:\NETWARE 8. Press to select the QLogic HAM driver. 9. Select and press to load the new driver. 10. Press to exit the installation. ====================================================================== 6.3.2. Adding Additional IBM FAStT FC2-133 Host Bus Adapter ----------------------------------------------------------- To support multiple adapters, add one LOAD command per adapter to your STARTUP.NCF file (LOAD QL2x00.HAM SLOT=n). The "SLOT=n" command line parameter is provided for specifying which adapter to configure for each load instance. If the driver is loaded manually from the server prompt and there are multiple adapters, the user will be required to pick a slot number from a list. The IBM FAStT FC2-133 Host Bus Adapter driver reads the onboard NVRAM and supports all of the customized configuration parameters for the adapter and the attached Fibre Channel devices. Use the key combination during boot to access the adapter's configuration options. ====================================================================== 6.4. Updating the Existing IBM FAStT FC2-133 Host Bus Adapter Driver -------------------------------------------------------------------- Perform the following steps if the driver is already installed and you want to install an updated version of the driver. For NetWare 6.0: 1. From the NetWare server prompt, load the appropriate NetWare program: LOAD NWCONFIG 2. Select "Driver options" from the main menu. 3. Select "Configure disk and storage device drivers". 4. Select "Deselect a selected driver". 5. Choose the QL2x00 HAM driver 6. Select "Select an additional driver". 7. Press to install an unlisted driver. 8. Insert the IBM FAStT FC2-133 Host Bus Adapter driver diskette and press to specify the path to the HAM driver: A:\NETWARE 9. Press to select the QLogic HAM driver and select "Yes" to copy the driver from the diskette to the server directory. 10. Select "Select/Modify drivers parameter". 11. Insert the Slot Number and press . 12. Select "Save parameters and load driver". For NetWare 6.5: 1. From the NetWare server prompt, load the appropriate NetWare program: LOAD HDETECT 2. Select and press . 3. Select and press . 4. Select the storage adapters and press . 5. Select and press . 6. Press to install an unlisted driver. 7. Insert the IBM FAStT FC2-133 Host Bus Adapter driver diskette and press to specify the path to the QLogic HAM driver: A:\NETWARE 8. Press to select the QLogic HAM driver. 9. Select and press to load the new driver. 10. Press to exit the installation. ====================================================================== 7. NetWare Failover ------------------- IMPORTANT: The IBMSAN driver is the supported multi-path failover/failback driver for Novell NetWare 6.0 with Support Pack 2 or earlier. IBMSAN can be downloaded from the FAStT Support Website: http://www.ibm.com/storage/support/fastt. Please refer to the IBMSAN readme included in the IBMSAN package for installation instructions. For the native NetWare Failover, you must use Novell NetWare 6.0 with Support Pack 3 or higher. In Storage Manager select the 'NetWare Failover' Host Type. NetWare 6.5 with Support Pack 2 comes with the latest drivers and does not need to be updated. NOTE: Do not use the drivers that are available with NetWare 6.0 Support Pack 3 or 4 or NetWare 6.5 Support Pack 1.1. Download the following 3 files and place in c:\nwserver on the NetWare server. Download the newest LSIMPE.CDM from http://support.novell.com : TID# 2966837 and follow the installation instructions in the Novell TID. Download the updated NWPA.NLM from http://support.novell.com : TID # 2968190 and follow the installation instructions in the Novell TID. Download the newer MM.NLM from http://support.novell.com : TID# 2968794 and follow the installation instructions in the Novell TID. After the Device Driver is installed, edit the STARTUP.NCF for the following: Add 'SET MULTI-PATH SUPPORT = ON' Add 'Load LSIMPE.CDM' before the SCSIHD.CDM driver Add the 'AEN' command line option to SCSIHD.CDM, expl: 'Load SCSIHD.CDM AEN' Your STARTUP.NCF file should look somewhat like the following: SET Multi-path Support = ON LOAD MPS14.PSM LOAD IDECD.CDM LOAD IDEHD.CDM LOAD LSIMPE.CDM LOAD SCSIHD.CDM AEN LOAD IDEATA.HAM SLOT=10007 LOAD ADPT160M.HAM SLOT=10010 LOAD ADPT160M.HAM SLOT=10011 LOAD QL2300.HAM SLOT=4 /LUNS /ALLPATHS /PORTNAMES /XRETRY=400 LOAD QL2300.HAM SLOT=5 /LUNS /ALLPATHS /PORTNAMES /XRETRY=400 Disable all other multi-path support. For example, when using QLogic adapters, load the driver with '/luns /allpaths /portnames'. The 'allpaths' option disables the QLogic failover support. Startup the server. If your configuration is correct you will not need to set the failover priorities for your LUNs, the LSIMPE.CDM driver will configure these. Use the multi-path documentation to verify the failover devices. This documentation is available from http://support.novell.com/cgi- bin/search/searchtid.cgi?/10070244.htm ====================================================================== 8. Install FAStT_MSJ -------------------- If FAStT_MSJ for WIN32/NetWare is not currently installed you should install it now. FAStT_MSJ and the qlremote agent are needed for Fibre path diagnostics. See the FAStT_MSJ publications for instructions on the installation procedure for FAStT_MSJ and the qlremote agent for WIN32 / NetWare. ====================================================================== 9. Removing the Driver ---------------------- For NetWare 6.0 1. From the NetWare server prompt, load the appropriate NetWare program: LOAD NWCONFIG 2. Select "Driver options" from the main menu. 3. Select "Configure disk and storage device drivers". 4. Select "Deselect a selected driver". For NetWare 6.5: 1. From the NetWare server prompt, load the appropriate NetWare program: LOAD HDETECT 2. Select and press . 3. Select and press . 4. Select the storage adapters and press . 5. Select and press . 6. Select the correct driver and press . ====================================================================== 10. Driver Optional Parameters ------------------------------ The HAM driver has two types of optional parameters: 1. System parameters (specified at driver load time) 2. NVRAM parameters (stored in the adapter nvram) These are described in the following subsections. ====================================================================== 10.1. System Parameters ----------------------- Driver optional system parameters are specified on the driver load line. There are two types of driver opional parameters: 1. Global - the parameter acts on all driver instances. 2. Instance - the parameter acts only on the individual driver instance in which it is specified. NOTE: "QL2x00" below refers to one of the following: 2300. The exception to this is the configuration file "QL2x00.CFG" where the "x" character is literal. SLOT=n (Instance) Specifies to NetWare the PCI slot number n of the adapter for which to load this driver instance. LOAD QL2x00.HAM SLOT=3 /LUNS (Instance) Specifies to NetWare to scan for all luns during the load of this driver instance (otherwise NetWare will only scan for lun zero devices); this is required for all RAID susbsystems. LOAD QL2x00.HAM SLOT=3 /LUNS /ALLPATHS (Global) Disables failover and reports to NetWare all devices on all adapter paths; this is required when failover is being handled by an upper layer driver or CDM such as Novell NetWare's multi-pathing. LOAD QL2x00.HAM SLOT=3 /LUNS /ALLPATHS /PORTNAMES (Global) Internally tracks devices by portname rather than nodename; this is required when storage luns do not have a 1:1 correspondence across portnames. LOAD QL2x00.HAM SLOT=3 /LUNS /PORTNAMES /GNNFT (Instance) Uses a single GNNFT rather than a GAN sequence to query the fabric name server. LOAD QL2x00.HAM SLOT=3 /LUNS /GNNFT /XRETRY This will extend the retry count for any I/O command that experiences failure with one of the following SK/ASC/ASCQ codes: 2/04/01 6/8B/02 /CONSOLE (Global) Sends system alerts to the server console when failover and failback events occur. LOAD QL2x00.HAM SLOT=3 /LUNS /CONSOLE ====================================================================== 10.2. NVRAM Parameters ---------------------- The adapter parameters are stored in the adapter's nvram; these are also referred to as adapter nvram parameters. The adapter nvram parameters are modified by entering Fast!UTIL during server hardware boot (press ALT-Q when prompted by the adapter). In Fast!UTIL, first select the host adapter, and then select "Configuration Settings". Then, under the following headings, you will see these parameters: Host Adapter Settings --------------------- + Frame Size : Loop Reset Delay + Adapter Hard Loop Id + Hard Loop Id Advanced Adapter Settings ------------------------- + Execution Throttle + Fast Command Posting : >4GB Addressing + Luns Per Target + Enable LIP Reset + Enable LIP Full Login + Enable Target Reset + Login Retry Count + Port Down Retry Count + Link Down Timeout + Drivers Load Risc Code = Enable Database Updates : Disable Database Load : IOCB Allocation : Extended Error Logging Extended Firmware Settings -------------------------- = Extended Control Block @ RIO Operation Mode + Connection Options @ Class 2 Service @ ACK0 + Fibre Channel Tape Support + Fibre Channel Confirm @ Command Reference Number @ Read Transfer Ready @ Response Timer @ Interrupt Delay Timer + Data Rate Key: + Used by HAM driver (change effects behavior) @ Default value expected by HAM driver (do Not change) = Overridden by HAM driver (change has no effect) : Not used by HAM driver (change has no effect) NOTES ----- 0. The QLA200 does not use any of these nvram parameters. 1. Enable both of the following to support FC-Tape (see "Extended Firmware Settings" above): Fibre Channel Tape Support Fibre Channel Confirm 2. The timeout for port down is set [in seconds] by (see "Advanced Adapter Settings" above): Port Down Retry Count The timeout for link down is set [in seconds] by (see "Advanced Adapter Settings" above): Link Down Timeout For best results, set these parameters to 15 or 20 (seconds). ====================================================================== 11. Known Issues and Limitations -------------------------------- - The Storage Manager Agent should be unloaded when not used for system configuration. When the Storage Manager Agent is loaded and a fibre path suffers a failure it is possible for the NetWare server to abend. The Storage Manager Agent can be unloaded by following these steps. 1. At the server console type: java -show look for the line "devmgr.versioned.agent.AgentServer.......................QQQ" where QQQ is the process id. 2. At the server console type: java -killQQQ where QQQ is the process id from the java -show command.. - NetWare 6 may install the following in your 'startup.ncf' file" LOAD QLCSFTE.CDM You must either remove or comment this line out of your startup.ncf file for use with the IBM FAStT Storage Subsystems. ====================================================================== 12. Additional Notes -------------------- 12.1. PCI Hot Plug ------------------ NOTE: This procedure addresses only the driver-related portion of the PCI Hot Swap operation. The server must have PCI slots that are capable of being powered up and down independently. Depending on the server platform, this entire operation may be controlled by a platform specific software module supplied by the platform vendor. In such a case, these commands are issued directly to the driver and do not require the operator to enter them. The IBM Netfinity PCI Hot Plug System Bus Driver for Novell NetWare V5.1 can be downloaded from the IBM Support Site for your specific server model at http://www.pc.ibm.com/support/us. PCI Hot Plug works by unloading a specific instance of the driver associated with a specific host adapter. It allows a failed adapter to be removed and replaced by an adapter of the same type without disrupting the operation of other adapters of the same type. The steps necessary to perform a hot swap operation are listed below. 1. Type "List Devices" or "List Storage Adapters" at the server console. You will see a list similar to this example: [V591-A0-D0:0] SCSI HARD DISK [V591-A0-D1:0] SCSI HARD DISK [V591-A1-D3:0] SCSI HARD DISK [V591-A1-D4:0] SCSI HARD DISK 2. If it were desired to remove host adapter instance 0 controlling the first two hard drives, the operator would enter the following command: REMOVE STORAGE ADAPTER A0 3. After the host adapter has been replaced, the operator would make the new adapter operational by loading another instance of the driver using the normal load command syntax. For example: LOAD QL2x00.HAM SLOT=3 ====================================================================== 12.2. 256 LUN Support --------------------- To find all LUNS, load the driver with the /LUNS qualifier. For example: LOAD QL2x00.HAM SLOT=3 /LUNS Or, if the driver is already loaded, use the command SCAN ALL LUNS at the server console prompt to find all LUNS (new and existing LUNS). ** To set the LUNs Per Target parameter: 1. Reboot the hardware, and do CTRL - Q when QL2x00 banner appears. 2. Select the desired adapter. 3. Select Configuration Settings. 4. Select Advanced Adapter Settings. 5. Select LUNs Per Target and change the LUNs Range. 6. Press ESC twice and select Save. 7. Press ESC again and select Reboot. ====================================================================== 12.3 Server Memory Recommendations ---------------------------------- In general, at least 512MB of memory is recommended. For large numbers of large volumes, at least 1024MB is recommended. ====================================================================== 12.4 Debug Driver Information ----------------------------- This package also includes the debug version of the QL2300 adapter driver. This driver is identified as ql2300d.HAM. The debug driver provides additional driver information that is dumped to an additional console screen. The format for the debug information is as follows. HAM DRIVER DEBUG SCREEN ======================= Every 1 second: A0=0/1234 <0,0> {0,0} 5678 A1=0/1234 <0,0> {0,0} 5678 A0 adapter instance index 0 A1 adapter instance index 1 0/1234 0 unresolved interrupts / 1234 total number of interrupts <0,0> 0 io command timeouts ,0 mailbox command timeouts {0,0} 0 io commands in pending queue structures , 0 io commands currently executing on fibre 5678 5678 seconds since last interrupt occurred Notes: a. Unresolved interrupt is when the isp indicates that it has an interrupt pending, but when the driver reads the completion registers it finds no work to do. b. The total number of io commands outstanding from Netware is the sum x+y of the numbers inside braces {x,y}. Every 10 seconds: FindTimedOutCommands(An): Searching... An adapter instance index n This indicates that the driver is searching for any IO commands that have not completed and have expired their timeout counter; when none are found, nothing is printed; otherwise the timed out IO commands are identified and then requeued for retry. ====================================================================== 12.5 Support for DMI and QMS ----------------------------- This driver supports DMI (Desktop Management Interface) allowing QLogic adapter information and statistics to be queried by a remote Windows client running the IBM FAStTMSJ. Please refer to the readme file for FAStTMSJ and the IBM FAStTMSJ User's Guide for further information. ====================================================================== 13. Diskette Content -------------------- \NETWARE\QL2300.DDI Driver installation description file \NETWARE\QL2300.HAM NetWare HAM driver for supporting the IBM FAStT FC-2 Host Adapter \NETWARE\QL2300d.DDI Driver installation description file \NETWARE\QL2300d.HAM NetWare Debug HAM driver for supporting the IBM FAStT FC-2 Host Adapter \NETWARE\i2xNW680Freadme.TXT This file ====================================================================== 14. WEB Sites and Support Phone Number -------------------------------------- 14.1 IBM TotalStorage™ Disk Storage Systems Technical Support web site: http://www.ibm.com/storage/support/fastt 14.2 IBM Support Web Site: http://www.ibm.com/pc/support 14.3 IBM TotalStorage™ Marketing Web Site: http://www.storage.ibm.com/hardsoft/disk/fastt/index.html 14.4 If you have any questions about this update, or problem applying the update go to the following Help Center World Telephone Numbers URL: http://www.ibm.com/planetwide ====================================================================== 15. Trademarks and Notices -------------------------- 15.1 The following terms are trademarks of the IBM Corporation in the United States or other countries or both: IBM TotalStorage™ the e-business logo xSeries HelpCenter Linux is a registered trademark of Linus Torvalds. Microsoft, Windows, and Windows NT are trademarks of Microsoft Corporation in the United States, other countries, or both. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United states, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Other company, product, and service names may be trademarks or service marks of others. ====================================================================== 16. Disclaimer -------------- 16.1 THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IBM DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING THIS DOCUMENT, IBM GRANTS NO LICENSES TO ANY PATENTS OR COPYRIGHTS. 16.2 Note to Government Users Note to U.S. Government Users -- Documentation related to restricted rights -- Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corporation.