File Name: SYMMPIXP.TXT LSI Logic Fusion-MPT (TM) Driver: SYMMPI.SYS V1.08.12 CONTENTS --------- 1.0 Overview 2.0 Change history 3.0 Installation and setup instructions 4.0 Configuration information 5.0 Unattended mode 6.0 Web sites and support phone number 7.0 Trademarks and notices 8.0 Disclaimer 1.0 Overview: This file describes the features and use of the LSI Logic Fusion-MPT small computer interface (SCSI) device drivers for the Windows XP operating system environment. 1.1 Overview about this code: None. 1.2 Limitations: None. 1.3 Enhancements: The SYMMPI.SYS miniport driver supports these features: o Supports 320 Mbytes/s parallel SCSI transfers (for LSI453C1020 and LSI53C1030) o Supports Integrated Mirroring (TM) technology (for LSI453C1020 and LSI53C1030) o Supports PCI and PCI-X bus protocols (for LSI53C1020 and LSI53C1030) o Supports 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 Mbyte 1.4 Level of recommendations and prerequisites for the Update: None. 1.5 Dependencies: None. 2.0 Change history -------------------- 1.08.12 New release. 3.0 Installation and Setup Instructions ----------------------------------------- 3.1.0 Introduction for Windows 2000 Windows XP is an operating system designed to run on Intel-architecture (32-bit) and Itanium Processor Family (64-bit) processors using current technology. It provides a graphical user interface environment incorporating many high-level features. Refer to the Microsoft Windows XP documentation for details. An input/output (I/O) manager handles I/O requests in Windows XP. To address a SCSI peripheral, the I/O manager goes through the appropriate drivers. Windows XP provides class drivers for hard disk, optical, CD-ROM, printer, and scanner peripherals. Other class drivers, provided by peripheral manufacturers, may be added to support new devices. Tape device support is built into the operating system and does not require a class driver. Microsoft provides the port driver and LSI Logic provides the miniport driver,called SYMMPI.SYS. This driver completes the path to the LSI Logic controller or processor with an optional SCSI BIOS. LSI Logic uses the same filenames for their drivers for different Windows operating systems. The driver files are packaged either in separate subdirectories based on the Windows operating system or on different disks. To determine the driver file for Windows XP, note that the filename ends with .SYS. For example, this driver is SYMMPI.SYS. To determine the operating system version, go into Windows Explorer, display the driver file, right click on the filename, click Properties, and click on the Version tab. Finally, click the Internal Filename in the lower section. For Windows XP, the filename appears as filename (XP32) for 32-bit systems and filename (XP64) for 64-bit systems. The next sections describe these drivers and their installation. 3.1.1 Features The SYMMPI.SYS miniport driver supports these features: o Supports 320 Mbytes/s parallel SCSI transfers (for LSI453C1020 and LSI53C1030) o Supports Integrated Mirroring (TM) technology (for LSI453C1020 and LSI53C1030) o Supports PCI and PCI-X bus protocols (for LSI53C1020 and LSI53C1030) o Supports 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 Mbyte 3.1.2 LSI Logic devices supported The name of the SYMMPI.SYS driver is "LSI Logic PCI SCSI/FC MPI Miniport Driver" It supports the following devices and their associated host adapters: o LSI53C1020 (LSI20320) o LSI53C1030 (LSI21320, LSI22320) 3.1.3 Description The SYMMPI.SYS driver meets the Microsoft specification for miniport drivers. This driver allows connection of parallel SCSI devices including disk drives, CD-ROMs, and tape drives for PCI and PCI-X based machines. To support a different SCSI device type, the Windows XP architecture requires that a class driver for that type of device to be present (usually supplied by Microsoft, or possibly by the peripheral manufacturer). No changes to SYMMPI.SYS are required. The driver supports only Windows XP and all subsequent Service Packs. A Windows application passes SCSI commands directly to the parallel SCSI devices by using the SCSI pass-through facility. This facility allows applications to directly control and access devices by filling in a data structure and calling into the port or class driver. Refer to the Microsoft Windows XP documentation for more details. 3.2.0 Installing the SYMMPI.SYS driver This procedure installs the SYMMPI.SYS driver onto a new or existing Windows XP system. Depending upon the media used to distribute LSI Logic drivers (web or CD-ROM), you will create a driver diskette. Copy the files listed in this section to the root directory of a clean diskette as shown below. Label this diskette "Windows XP Driver Diskette". You will use this diskette during the installation process. \txtsetup.oem \symmpi.tag \32_bit\oemsetup.inf \32_bit\symmpi.sys \64_bit\oemsetup.inf \64_bit\symmpi.sys 3.2.1 New system installation This procedure installs the SYMMPI.SYS driver onto a Windows XP system. Use this procedure when installing Windows XP onto an unused drive. Windows XP automatically adds the driver to the registry and copies the driver to the appropriate directory. The method for installing Windows XP on a new system involves using a CD-ROM. Installation using boot floppy diskettes is not supported by Windows XP. 3.2.1.1 CD-ROM installation 1. Start the Windows XP installation by booting from the Windows XP CD-ROM: The system BIOS must support booting from a CD-ROM. BIOS settings may need to be changed to allow CD-ROM booting. 2. Press the F6 key to install the SYMMPI.SYS driver when the screen displays "Windows Setup". This must be done or else these new driver installed from the driver diskette will not be recognized. Note: Be sure to press the F6 key as any driver loaded later in the installation process is not recognized by Windows XP Setup. If F6 is not pressed, all devices controlled by the drivers are not available during Windows XP setup. 3. Choose S to specify an additional device when the screen displays "Setup was unable to load support for the mass storage device you specified...". NOTE: If this screen is not displayed as the first user input, then pressing the F6 key was not seen by the setup program. Reboot the system and try again. The system prompts for the manufacturer-supplied hardware support disk. 4. Insert the appropriate driver diskette containing the Windows XP driver required to support your LSI Logic adapter(s) and press Enter. Note: You can go to the IBM Support Web site at http://www.ibm.com/pc/support/ to check for the current Windows 2000 drivers. 5. The screen will display a list of two drivers to select from: "LSI Logic PCI SCSI/FC MPI Driver (XP 32-bit)" "LSI Logic PCI SCSI/FC MPI Driver (XP 64-bit)" Select the driver which matches the processor architecture of the system (32-bit or 64-bit). Press Enter to proceed. Return to the Windows XP Setup screen. 6. Press Enter to proceed. The message about setup loading files appears. 7. Follow the Microsoft Windows XP installation procedure at this point. 3.2.2 Existing system installation This procedure installs or upgrades the SYMMPI.SYS drivers onto an existing Windows XP system. NOTE: When a LSI Logic SCSI adapter is added to an existing system installation, the new adapter is automatically detected at the next reboot. When the Device Driver Wizard appears at boot, click on the Next button and continue at step 8 below. 1. Boot Windows XP and logon as a user that has Administrator priviledges. 2. For Windows XP Home Edition, click on the Start button, then right-click on the My Computer entry in the menu. For Windows XP Professional, right-click on My Computer on the desktop. 3. Click on the Properties selection. 4. Click on the Hardware tab, and then the Device Manager button. 5. 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. 6. Information on the currently installed driver is displayed, and additional driver details can be viewed by clicking the "Driver Details" button. 7. Click on the "Update Driver" button to update the existing driver. The Hardware Update Wizard begins. 8. Click on the "Install from a list or specific location..." button to select it, then click on the Next button. 9. Click on the "Don't search, I will choose the driver to install." button to select it, then click on the Next button. 10. Click on the "Have Disk" button and type the path to the driver, or click on the Browse button. Drivers for 32-bit systems will be in the "32_bit" directory and drivers for 64-bit systems will be in the 64-bit directory. After the path to the driver has been established, click the OK button. 11. Select the driver from the list and click on the Next button. 12. Click on the Next button again to start the driver update. In some cases, a message will display saying that this driver has not passed logo testing. This message informs you that a nonsigned driver is being installed. 13. Click STOP Installation to cancel the installation if a nonsigned driver is not desired. or Click Continue Anyway to continue the installation. The system will load the driver from the Windows XP driver diskette. A message box may display indicating that the target (existing) driver is newer than the source (upgrade) driver. 14. Click No to cancel the driver upgrade at this point. or Click Yes to continue the installation. The system copies 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 you must reboot your system for the new driver to take effect. 15. Click on the Finish button to complete the driver upgrade. 3.2.3 Performance tuning for Windows 2000 Windows XP 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 assured number of concurrent I/Os for a particular SCSI bus. 3.2.3.1 Large block size support The SYMMPI.SYS drivers can support up to a 1 Mbyte transfer size in Windows XP; however, the default Windows 2000 transfer size is 64 Kbytes. To enable better performance, the driver installation process adds a registry entry to enable a maximum 256 Kbytes transfer size. Also, the mpi_256K.reg file can be used to set or re-enable a 256 Kbytes maximum, but it can be edited to set other maximum transfer sizes that you want. 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 256 Kbytes block size support. Editing the mpi_256K.reg can set any maximum block size between 64 Kbytes and 1 Mbyte. The formula to calculate the proper value for MaximumSGList is: MaximumSGList = ((Maximum Block Size)/4 Kbytes) +1 For 256 Kbytes: 256 Kbytes/4 Kbytes = 64, add 1 for 65 (decimal) or 0x41 (hexadecimal). The maximum value allowed for MaximumSGLIst is 255 or 0xFF. For the particular value of 0xFF, the internal value passed to Windows is increased to 0x101, allowing support for a full 1 Mbyte transfer. Be sure to read the information in the mpi_256K.reg data file before editing it. The system must be restarted for the new registry setting to be effective. To reset the maximum block size to the default of 64 Kbytes, follow the instructions above, except use mpidfblk.reg as the data file. NOTE: For 64-bit systems, the OS page size is 8K instead of 4K. Therefore, the maximum transfer size is 2MB, the default driver installation enables support for 512K transfer size, and the formula becomes: MaximumSGList = (Maximum Block Size)/8K +1 3.2.3.2 Maximum number of concurrent I/Os (Assured) Windows XP 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 enable better performance, the driver installation process adds a registry entry to support 128 concurrent I/Os. If a different maximum value is not what you want, the file mpi100io.reg can be used to add a registry entry to guarantee the number of concurrent I/Os that you want. 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 what you want, the mpi100io.reg can be edited; however, setting this value to a high number uses increasing amounts of non-paged pool memory, a critical XP 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 restarted for the new registry setting to be effective. To reset the number of concurrent I/Os to the default of 32, follow the instructions above, except use mpidefio.reg as the data file. 3.2.3.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. 3.3.0 Troubleshooting The SYMMPI.SYS 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 0x00000020 Error accessing SCSI Port Page configuration page 0x00000021 Error accessing SCSI Device Page configuration page 0x00000022 Upload of IOC firmware image failed 0x00000023 Reset of IOC failed during firmware download 0x00000024 Invalid context returned by IOC (NULL Srb pointer) 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 4.0 Configuration Information ------------------------------- 4.1 Include any configuration installation: None. 4.2 Configuration Settings: None. 4.3 Hardware Status and Information: None. 5.0 Unattended Mode ------------------------------- 5.1 Steps for unattended mode: None. 6.0 WEB Sites and Support Phone Number ---------------- 6.1 IBM Support Web Site: http://www.ibm.com/pc/support 6.2 IBM Support Telephone Numbers: http://www.ibm.com/planetwide/ 7.0 Trademarks and Notices ---------------------------- 7.1 The following terms are trademarks of the IBM Corporation in the United States or other countries or both: IBM 7.2 Intel trademarks or registered trademarks are trademarks of Intel Corporation. Microsoft and Windows 2000 are trademarks of Microsoft Corporation in the United States, other countries, or both. 7.3 Other company, product, and service names may be trademarks or service marks of others. 8.0 Disclaimer ---------------------------- 8.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. 8.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.