***************************************************************************** WIN2000.TXT ***************************************************************************** Installation Guide for the LSI Logic FC Driver: SYMMPI.SYS V1.01.00.04 This file describes the features and use of the LSI Logic FC device drivers for the Windows 2000 operating system environment. LSI Logic drivers contain the same filename for different Windows operating systems. The driver files are packaged either in separate subdirectories based on the Windows operating system or on different flex disks. To determine the driver file for Windows 2000, note that the filename ends with ".sys". For example, SYMMPI.SYS. (The same is true for Windows NT 4.0) To determine the operating system version, go into Windows Explorer, display the driver file, right click on the filename, click on Properties, and click on the Version tab. Finally, click on the Internal Filename in the lower section. For Windows 2000, the filename appears as filename (Win2K). This file contains these sections: Introduction for Windows 2000 Features LSI Logic Devices Supported Description Installing the Driver(s) Existing System Installation Performance Tuning Large Block Size Support Maximum Number of Concurrent I/Os Miniport Driver Configuration Options Troubleshooting ......................................................................... 1.0 Introduction for Windows 2000 Windows 2000 is an operating system designed to run on Intel-architecture processors using current technology. It provides a graphical user interface environment incorporating many high-level features (refer to the Microsoft Windows 2000 documentation for details). An I/O manager handles I/O requests in Windows 2000. To address a SCSI peripheral, the I/O manager goes through the appropriate drivers. Class drivers for hard disk, floptical, CD-ROM, printer, and scanner peripherals are provided in Windows 2000. Other class drivers, provided by peripheral manufacturers, may be added to support new devices. Tape device support is built into the operating system itself and does not require a class driver. The next sections describe these drivers and their installation. ......................................................................... 1.1 Features The miniport drivers support these features: o Supports 1Gbaud Fibre Channel transfers (for LSIFC909) o Supports 2Gbaud Fibre Channel transfers (for LSIFC929 and LSIFC919) o Support LSI Logic MPT common software interface o Supports multiple host adapters o Supports multiple Logical Unit Numbers (LUNs) o Supports Scatter-Gather o Supports SCSI pass-through functionality o Supports disk array configurations with no LUN 0 o Supports disk array configurations with non-contiguous LUNs o Auto request sense o Maximum block size support: 1 MB ......................................................................... 1.2 LSI Logic Devices Supported The SYMMPI.SYS driver is named "Symbios PCI SCSI MPI Miniport Driver" for driver installation. It supports the following devices and Symbios host adapters based on those devices: o LSIFC909 (LSI40909 Host Adapter) o LSIFC929 (LSI40929 Host Adapter) o LSIFC919 (LSI40919 Host Adapter) ......................................................................... 1.3 Description SYMMPI.SYS is designed to Microsoft's specification for miniport drivers. This driver allows connection of Fibre Channel devices including disk drives, CD-ROMs, and tape drives for PCI-based machines. To support a different Fibre Channel device type, the Windows NT architecture requires that a class driver for that type of device be present (usually supplied by Microsoft, or possibly by the peripheral manufacturer). No changes to SYMMPI.SYS are required. The driver is only supported under Windows NT 4.0 and later revisions. The driver does not run under earlier versions of Windows NT. SCSI commands are passed directly from a Windows application to the FCP devices by using the SCSI pass-through facility (refer to the Microsoft Windows 2000 documentation for details). This facility allows applications to directly control and access devices by filling in a data structure and calling into the port or class driver. ............................................................................ 2.0 Installing the SYMMPI.SYS Driver This procedure installs the SYMMPI.SYS driver onto an existing Windows 2000 system. Prior to installation, ensure that the LSI Logic driver diskette is available, and that it contains the following files and directories: \txtsetup.oem \symmpi.sys \symmpi.tag \oemsetup.inf ............................................................................ 2.1 Existing System Installation This procedure installs or upgrades the SYMMPI.SYS drivers onto an existing Windows 2000 system. 1. Boot Windows 2000 and log on as Administrator. 2. Right-click on My Computer and click on the Properties selection. Click on the Hardware tab, and then the Device Manager button. 4. Click the "+" to the left of the SCSI and RAID controllers line. Find the adapter desired for the driver upgrade and double-click the entry. Click on the Driver tab. 5. Information on the currently installed driver is displayed, and additional driver details can be viewed by clicking the "Driver Details" button. 6. To update the existing driver, click the "Update Driver" button. The Upgrade Device Driver Wizard begins. Click on the Next button. 7. Make sure "Search for a suitable driver for my device" is selected, then click Next. 8. Make sure the "Floppy disk drives" location is checked, then insert the appropriate LSI Logic driver diskette containing the Windows 2000 driver required to support your LSI Logic adapter(s) and press Enter. Depending upon the media used to distribute LSI Logic drivers (web or CDROM), the user will create a LSI Logic Driver diskette. NOTE: Current Windows 2000 drivers can be downloaded from the LSI Logic web site at URL: http://www.lsilogic.com. After being connected to this web site, click on the Support option in the menu bar. Go to the "Software and drivers for Symbios brand PCI host adapters" section and choose the operating system or utility desired. Click on the Go button. Based on your selection, you will either: A. Download the driver or utility from the next screen, or B. Select the chipset or model number of the host adapter card, then download the appropriate driver based on the selection made. 9. The system will scan the existing driver database and the floppy disk drive for drivers for the selected adapter. If a driver already exists on the system, and it is newer than the update driver on the driver diskette, a message is displayed giving the user the option to keep or reinstall the existing driver. In this case, if the user desires to use the upgrade driver anyway, click the "Install one of the other drivers" box, then click Next. If no current driver exists, the driver on the driver diskette is displayed. Click Next. 10. A list of suitable drivers is displayed. The entry for the upgrade driver can be verified by scrolling the display to the right, and viewing the Location field. Highlight the driver for the upgrade installation disk and click Next. 11. In some cases, a message will display saying that this driver is not digitally signed. Drivers are digitally signed by the Microsoft Windows Hardware Quality Lab (WHQL). Due to the time lag between the general customer release by LSI of Windows drivers and the completion of WHQL testing, some drivers distributed with adapters or downloaded from the www.lsilogic.com web site may not be digitally signed. This message informs the user that a non-signed driver is being installed and provides an opportunity for the user to cancel the installation (by clicking No). If the user desires to continue the installation, click Yes. 12. The system will load the driver from the driver disette. A message box may display indicating that the target (existing) driver is newer than the source (upgrade) driver. Again, the user has the option to cancel the driver upgrade at this point by clicking No. If the user wishes to continue the installation, click Yes. 13. The system will copy the driver to the system disk. For any adapter other than the boot adapter, the updated driver will become active immediately. For the boot adapter, a message box displays indicating that the system needs to be rebooted for the new driver to take effect. Click on the Finish button to complete the driver upgrade. ............................................................................ 2.2 Performance Tuning for Windows 2000 Windows 2000 has registry entries that can be used to tune the performance of SCSI I/O for certain configurations. The tunable parameters are large transfer block size support and a guaranteed number of concurrent I/Os for a particular SCSI bus. ............................................................................ 2.2.1 Large Block Size Support The SYMMPI.SYS drivers can support up to a 1 MB transfer size in Windows 2000; however, the default transfer size is 64K. To enable a larger transfer size, an entry must be added to the registry, using the file mpi_256K.reg. This file will set a 256K maximum, but it can be edited to set other desired maximum transfer sizes. There are two methods to add this registry setting. 1. Locate the mpi_256K.reg data file (supplied with the driver files) using Windows Explorer and double-click on the file. -OR- 2. Type at the command prompt: regedit mpi_256K.reg This inserts an entry in the registry to enable 256K block size support. Editing the mpi_256K.reg can set any maximum block size between 64K and 1 MB (-8 KB). The formula to calculate the proper value for MaximumSGList is: MaximumSGList = (Maximum Block Size)/4K +1 For 256K: 256K/4K = 64, add 1 for 65 (decimal) or 0x41(hexadecimal). The maximum value allowed for MaximumSGLIst is 255 or 0xFF. This denotes an absolute maximum transfer size of 1040384, which is 8K less than 1 MB (1040384/4K = 0xFE, add 1 for 0xFF or 255). Be sure to read the information in the mpi_256K.reg data file before editing it. The system must be rebooted for the new registry setting to be effective. To reset the maximum block size to the default of 64K, follow the instructions above, except use mpidfblk.reg as the data file. ............................................................................ 2.2.2 Maximum Number of Concurrent I/Os (Guaranteed) Windows 2000 guarantees a maximum of 32 concurrent I/Os active on a particular SCSI bus. However, due to the method of memory allocation, the actual limit of concurrent I/Os can vary greatly between various drivers or versions of drivers. This can have a huge impact on performance benchmarking between different driver versions or adapter vendors. In effect, one adapter may actually be able to have 70 or 80 I/Os outstanding, while another adapter could only have 32. This can also affect systems with high performance storage subsystems, such as disk arrays. In order to have a guaranteed number of concurrent I/Os, an entry must be added to the registry, using the file mpi100io.reg. There are two methods to add this registry setting. One is to locate the mpi100io.reg data file (supplied with the driver files) using Windows Explorer and double click on the file. The other method is to type at the command prompt: regedit mpi100io.reg This inserts an entry in the registry to guarantee a maximum of 100 concurrent I/Os per adapter. If a maximum other than 100 is desired, the mpi100io.reg can be edited; however, setting this value to a high number uses increasing amounts of non-paged pool memory, a critical NT resource. High values for this setting can degrade system performance. Be sure to read the information in the mpi100io.reg data file before editing it. The system must be rebooted for the new registry setting to be effective. To reset the guaranteed number of concurrent I/Os to the default of 32, follow the instructions above, except use mpidefio.reg as the data file. * * * * * * * * * * Troubleshooting * * * * * * * * * * * The following are some potential problems and their suggested solutions: * * * Problem * * * During installation, no FC devices are found. * * * Solution * * * a. Ensure that the custom setup is chosen on the Setup Method screen. b. Ensure that all devices are powered on and terminated correctly. c. Check that no devices have duplicate SCSI IDs. d. Make sure INT A is assigned for the PCI slot(s) where your FC host adapter(s) are installed. e. Ensure that all devices can be seen in the display banner of the FC BIOS at boot time. ............................................................................ 2.2.3 Miniport Driver Configuration Options The SYMMPI driver is configured by default to provide optimum performance in most standard systems. Some non-standard systems may require some fine tuning to obtain peak system memory utilization and performance. After installation, if less than advertised functionality and performance is observed on any platform, please contact LSI Logic support. LSI can provide additional registry settings if required, to customize the driver for specific systems and applications. ............................................................................ 3.0 Troubleshooting The SYMMPI driver will log error messages to the system error log. For these errors, the system errorlog EventID will be 11, and the specific error code values will be displayed at offset 0x10. Data should be displayed in words. The error codes that are followed by an asterisk are extended error codes, only logged if extended error logging is enabled. The following error codes all have a value of 0x00000006 at address 0x34 in the error log details. Error Code Description .......... ......................................... 0x00000001 Could not read the PCI BARs correctly 0x00000002 Could not read the PCI IO address space correctly 0x00000003 Device would not come to the READY state 0x00000004 System did not provide non-cached memory to the driver 0x00000005 Device did not restart after a fatal error 0x00000006 Device would not transition to the Operational state. 0x00000007 Device would not transition from READY state within the SCSI Reset function 0x00000008 Device would not transition from RESET state within the SCSI Reset function 0x00000009 Device would not transition from FAILED state within the SCSI Reset function 0x0000000A Device would not transition to OPERATIONAL after running out of resources 0x0000000B Device would not transition to READY after kickstart 0x0000000C Driver wanted to reset the device but the NoBoardReset flag prevented it 0x0000000D Handshake of a IOCFacts message failed 0x0000000E* IOs were lost due to an external event 0x0000000F Handshake of PortFacts message failed 0x00000010 Handshake of IOCConfig message failed 0x00000011* IO returned because a CA condition is pending 0x00000012* IO returned for lack of Request resources 0x00000013* IO returned for lack of Request Sense Buffer resources 0x00000014* IO returned because of active reset condition 0x00000015* IO returned because of too many outstanding buffers or chain buffer resources 0x00000016* Issuing Task Management bus reset message 0x00000017* Received Task Management reply 0x00000018 PCI Peer device controls this device 0x00000019 Invalid Initiator ID set in device The following error codes all have a value of 0x00000005 at address 0x34 in the error log details. Error Code Description .......... ......................................... 0xXXXXXXXX Invalid function code detected within the reply message The following error codes all have a value of 0x00000009 at address 0x34 in the error log details. Error Code Description .......... ......................................... 0xXXXXXXXX The Log value was returned in the SCSI IO Error Reply Message The following error codes all have a value of 0x00000003 at address 0x34 in the error log details. Error Code Description .......... ......................................... 0xXXXXXXXX The Log value returned in the EventNotify Reply Message