summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/README.BusLogic
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-01-07 02:33:00 +0000
committer <ralf@linux-mips.org>1997-01-07 02:33:00 +0000
commitbeb116954b9b7f3bb56412b2494b562f02b864b1 (patch)
tree120e997879884e1b9d93b265221b939d2ef1ade1 /drivers/scsi/README.BusLogic
parent908d4681a1dc3792ecafbe64265783a86c4cccb6 (diff)
Import of Linux/MIPS 2.1.14
Diffstat (limited to 'drivers/scsi/README.BusLogic')
-rw-r--r--drivers/scsi/README.BusLogic363
1 files changed, 363 insertions, 0 deletions
diff --git a/drivers/scsi/README.BusLogic b/drivers/scsi/README.BusLogic
new file mode 100644
index 000000000..ecf35ce1a
--- /dev/null
+++ b/drivers/scsi/README.BusLogic
@@ -0,0 +1,363 @@
+ BusLogic MultiMaster SCSI Driver for Linux
+
+ Version 1.2.6 for Linux 1.2.13
+ Version 2.0.6 for Linux 2.0.4
+
+ 17 July 1996
+
+ Leonard N. Zubkoff
+ Dandelion Digital
+ lnz@dandelion.com
+
+ Copyright 1995 by Leonard N. Zubkoff <lnz@dandelion.com>
+
+
+ INTRODUCTION
+
+BusLogic, Inc. designs and manufactures a variety of high performance SCSI host
+adapters which share a common programming interface across a diverse collection
+of bus architectures by virtue of their MultiMaster ASIC technology. This
+driver supports all present BusLogic MultiMaster Host Adapters, and should
+support any future MultiMaster designs with little or no modification. Host
+adapters based on the new FlashPoint architecture are not supported by this
+driver; consult the README.FlashPoint file for information about a program to
+upgrade Linux users from the unsupported FlashPoint LT to the supported BT-948.
+
+My primary goals in writing this completely new BusLogic driver for Linux are
+to achieve the full performance that BusLogic SCSI Host Adapters and modern
+SCSI peripherals are capable of, and to provide a highly robust driver that can
+be depended upon for high performance mission critical applications. All of
+the major performance and error recovery features can be configured from the
+Linux kernel command line, allowing individual installations to tune driver
+performance and error recovery to their particular needs.
+
+The most recent versions of this driver will always be available from my Linux
+Home Page at URL "http://www.dandelion.com/Linux/" and by anonymous FTP from
+ftp.dandelion.com. While only limited FTP directory listings are permitted,
+the introductory banner displayed on anonymous FTP login will provide a list of
+the driver versions and any other files that are available for retrieval.
+
+Bug reports should be sent via electronic mail to "lnz@dandelion.com". Please
+include with the bug report the complete configuration messages reported by the
+driver and SCSI subsystem at startup, along with any subsequent system messages
+relevant to SCSI operations, and a detailed description of your system's
+hardware configuration.
+
+BusLogic has been an excellent company to work with and I highly recommend
+their products to the Linux community. In November 1995, I was offered the
+opportunity to become a beta test site for their latest MultiMaster product,
+the BT-948 PCI Ultra SCSI Host Adapter, and then again for the BT-958 PCI Wide
+Ultra SCSI Host Adapter in January 1996. This was mutually beneficial since
+BusLogic received a degree and kind of testing that their own testing group
+cannot readily achieve, and the Linux community has available high performance
+host adapters that have been well tested with Linux even before being brought
+to market. This relationship has also given me the opportunity to interact
+directly with their technical staff, to understand more about the internal
+workings of their products, and in turn to educate them about the needs and
+potential of the Linux community. Their interest and support is greatly
+appreciated.
+
+Unlike some other vendors, if you contact BusLogic Technical Support with a
+problem and are running Linux, they will not tell you that your use of their
+products is unsupported. Their latest product marketing literature even states
+"BusLogic SCSI host adapters are compatible with all major operating systems
+including: ... Linux ...".
+
+BusLogic, Inc. is located at 4151 Burton Drive, Santa Clara, California, 95054,
+USA and can be reached by Voice at 408/492-9090 or by FAX at 408/492-1542.
+BusLogic maintains a World Wide Web site at http://www.buslogic.com, an
+anonymous FTP site at ftp.buslogic.com, and a BBS at 408/492-1984. BusLogic
+Technical Support can be reached by electronic mail at techsup@buslogic.com, by
+Voice at 408/654-0760, or by FAX at 408/492-1542. Contact information for
+offices in Europe and Japan is available on the Web site.
+
+
+ DRIVER FEATURES
+
+o Configuration Reporting and Testing
+
+ During system initialization, the driver reports extensively on the host
+ adapter hardware configuration, including the synchronous transfer parameters
+ negotiated with each target device. In addition, the driver tests the
+ hardware interrupt configuration to verify that interrupts are actually
+ delivered correctly to the interrupt handler. This should catch a high
+ percentage of PCI motherboard configuration errors early, because when the
+ host adapter is probed successfully, most of the remaining problems appear to
+ be related to interrupts. Most often, any remaining hardware problems are
+ related to the specific configuration of devices on the SCSI bus, and the
+ quality of cabling and termination used. Finally, this BusLogic driver
+ should never incorrectly attempt to support an Adaptec 154x Host Adapter.
+
+o Performance Features
+
+ BusLogic SCSI Host Adapters directly implement SCSI-2 Tagged Queuing, and so
+ support has been included in the driver to utilize tagged queuing with any
+ target devices that report having the tagged queuing capability. Tagged
+ queuing allows for multiple outstanding commands to be issued to each target
+ device or logical unit, and can improve I/O performance substantially. In
+ addition, BusLogic's Strict Round Robin Mode is used to optimize host adapter
+ performance, and scatter/gather I/O can support as many segments as can be
+ effectively utilized by the Linux I/O subsystem. Control over the use of
+ tagged queuing for each target device as well as selection of the tagged
+ queue depth is available from the kernel command line. By default, the queue
+ depth is automatically determined based on the number, type, speed, and
+ capabilities of the target devices found. In addition, tagged queuing is
+ automatically disabled whenever the host adapter firmware version is known
+ not to implement it correctly, or whenever a tagged queue depth of 1 is
+ selected. Tagged queuing is also disabled for individual target devices if
+ disconnect/reconnect is disabled for that device. In performance testing,
+ sustained disk writes of 7.3MB per second have been observed to a /dev/sd
+ device.
+
+o Robustness Features
+
+ The driver implements extensive error recovery procedures. When the higher
+ level parts of the SCSI subsystem request that a command be reset, action is
+ taken to restore proper operation of the host adapter and SCSI bus. On Linux
+ 1.2.13, by default a full host adapter hard reset and SCSI bus reset is
+ performed. On Linux 2.0.x, by default a selection is made between a full
+ host adapter hard reset and SCSI bus reset versus sending a bus device reset
+ message to the individual target device based on the recommendation of the
+ SCSI subsystem. Error recovery strategies are selectable from the kernel
+ command line individually for each target device, and also include sending a
+ bus device reset to the specific target device associated with the command
+ being reset, as well as suppressing error recovery entirely to avoid
+ perturbing an improperly functioning device. If the bus device reset error
+ recovery strategy is selected and sending a bus device reset does not restore
+ correct operation, the next command that is reset will force a full host
+ adapter hard reset and SCSI bus reset. SCSI bus resets caused by other
+ devices and detected by the host adapter are also handled by issuing a hard
+ reset to the host adapter and full re-initialization. Finally, if tagged
+ queuing is active and more than one command reset occurs in a 10 minute
+ interval, or if a command reset occurs within the first 10 minutes of
+ operation, then tagged queuing will be disabled for that target device.
+ These error recovery options should improve overall system robustness by
+ preventing individual errant devices from causing the system as a whole to
+ lock up or crash, and thereby allowing a clean shutdown and restart after the
+ offending component is removed.
+
+o Extensive Testing
+
+ This driver has undergone extensive testing and improvement over a period of
+ several months, and is routinely being used on heavily loaded systems. Over
+ 300 people retrieved the driver during the beta test period. In addition to
+ testing in normal system operation, error recovery tests have been performed
+ to verify proper system recovery in the case of simulated dropped interrupts,
+ external SCSI bus resets, and SCSI command errors due to bad CD-ROM media.
+
+o PCI Configuration Support
+
+ On PCI systems running kernels compiled with PCI BIOS support enabled, this
+ driver will interrogate the PCI configuration space and use the I/O port
+ addresses assigned by the system BIOS, rather than the ISA compatible I/O
+ port addresses. The ISA compatible I/O port address is then disabled by the
+ driver. On PCI systems it is also recommended that the AutoSCSI utility be
+ used to disable the ISA compatible I/O port entirely as it is not necessary.
+ The ISA compatible I/O port is disabled by default on the BT-948/958/958D.
+
+o Shared Interrupts Support
+
+ On systems that support shared interrupts, any number of BusLogic Host
+ Adapters may share the same interrupt request channel, and in fact it is more
+ efficient if they do so. The driver scans all known BusLogic Host Adapters
+ whenever an interrupt is handled on an interrupt channel assigned to any
+ BusLogic Host Adapter.
+
+o Wide SCSI Support
+
+ All BusLogic MultiMaster SCSI Host Adapters share a common programming
+ interface, except for the inevitable improvements and extensions as new
+ models are released, so support for Wide SCSI data transfer has automatically
+ been available without explicit driver support. When used with Linux 2.0.x,
+ this driver adds explicit support for up to 15 target devices and 64 logical
+ units per target device, to fully exploit the capabilities of the newest
+ BusLogic Wide SCSI Host Adapters.
+
+
+ SUPPORTED HOST ADAPTERS
+
+The following list comprises the supported BusLogic SCSI Host Adapters as of
+the date of this document. It is recommended that anyone purchasing a BusLogic
+Host Adapter not in the following table contact the author beforehand to verify
+that it is or will be supported.
+
+"W" Series Host Adapters:
+
+BT-948 PCI Ultra Fast Single-ended SCSI-2
+BT-958 PCI Ultra Wide Single-ended SCSI-2
+BT-958D PCI Ultra Wide Differential SCSI-2
+
+"C" Series Host Adapters:
+
+BT-946C PCI Fast Single-ended SCSI-2
+BT-956C PCI Fast Wide Single-ended SCSI-2
+BT-956CD PCI Fast Wide Differential SCSI-2
+BT-445C VLB Fast Single-ended SCSI-2
+BT-747C EISA Fast Single-ended SCSI-2
+BT-757C EISA Fast Wide Single-ended SCSI-2
+BT-757CD EISA Fast Wide Differential SCSI-2
+BT-545C ISA Fast Single-ended SCSI-2
+BT-540CF ISA Fast Single-ended SCSI-2
+
+"S" Series Host Adapters:
+
+BT-445S VLB Fast Single-ended SCSI-2
+BT-747S EISA Fast Single-ended SCSI-2
+BT-747D EISA Fast Differential SCSI-2
+BT-757S EISA Fast Wide Single-ended SCSI-2
+BT-757D EISA Fast Wide Differential SCSI-2
+BT-545S ISA Fast Single-ended SCSI-2
+BT-542D ISA Fast Differential SCSI-2
+BT-742A EISA Single-ended SCSI-2 (742A revision H)
+BT-542B ISA Single-ended SCSI-2 (542B revision H)
+
+"A" Series Host Adapters:
+
+BT-742A EISA Single-ended SCSI-2 (742A revisions A - G)
+BT-542B ISA Single-ended SCSI-2 (542B revisions A - G)
+
+The FlashPoint LT, also known as the BT-930 Ultra, implements a different host
+interface and is not supported by this driver. Consult the README.FlashPoint
+file for information about a program to upgrade Linux users from the
+unsupported FlashPoint LT to the supported BT-948.
+
+AMI FastDisk Host Adapters that are true BusLogic clones are supported by this
+driver.
+
+
+ BT-948/958/958D INSTALLATION NOTES
+
+The BT-948/958/958D PCI Ultra SCSI Host Adapters have some features which may
+require attention in some circumstances when installing Linux.
+
+o PCI I/O Port Assignments
+
+ When configured to factory default settings, the BT-948/958/958D will only
+ recognize the PCI I/O port assignments made by the motherboard's PCI BIOS.
+ The BT-948/958/958D will not respond to any of the ISA compatible I/O ports
+ that previous BusLogic SCSI Host Adapters respond to. This driver supports
+ the PCI I/O port assignments, so this is the preferred configuration.
+ However, if the obsolete BusLogic driver must be used for any reason, such as
+ a Linux distribution that does not yet use this driver in its boot kernel,
+ BusLogic has provided an AutoSCSI configuration option to enable a legacy ISA
+ compatible I/O port.
+
+ To enable this backward compatibility option, invoke the AutoSCSI utility via
+ Ctrl-B at system startup and select "Adapter Configuration", "View/Modify
+ Configuration", and then change the "ISA Compatible Port" setting from
+ "Disable" to "Primary" or "Alternate". Once this driver has been installed,
+ the "ISA Compatible Port" option should be set back to "Disable" to avoid
+ possible future I/O port conflicts. The older BT-946C/956C/956CD also have
+ this configuration option, but the factory default setting is "Primary".
+
+o PCI Slot Scanning Order
+
+ In systems with multiple BusLogic PCI Host Adapters, the order in which the
+ PCI slots are scanned may appear reversed with the BT-948/958/958D as
+ compared to the BT-946C/956C/956CD. For booting from a SCSI disk to work
+ correctly, it is necessary that the host adapter's BIOS and the kernel agree
+ on which disk is the boot device, which requires that they recognize the PCI
+ host adapters in the same order. The motherboard's PCI BIOS provides a
+ standard way of enumerating the PCI host adapters, which is used by the Linux
+ kernel. Some PCI BIOS implementations enumerate the PCI slots in order of
+ increasing bus number and device number, while others do so in the opposite
+ direction.
+
+ Unfortunately, Microsoft decided that Windows 95 would always enumerate the
+ PCI slots in order of increasing bus number and device number regardless of
+ the PCI BIOS enumeration, and requires that their scheme be supported by the
+ host adapter's BIOS to receive Windows 95 certification. Therefore, the
+ factory default settings of the BT-948/958/958D enumerate the host adapters
+ by increasing bus number and device number. To disable this feature, invoke
+ the AutoSCSI utility via Ctrl-B at system startup and select "Adapter
+ Configuration", "View/Modify Configuration", press Ctrl-F10, and then change
+ the "Use Bus And Device # For PCI Scanning Seq." option to OFF.
+
+ This driver will interrogate the setting of the PCI Scanning Sequence option
+ so as to recognize the host adapters in the same order as they are enumerated
+ by the host adapter's BIOS.
+
+
+ COMMAND LINE OPTIONS
+
+Many features of this driver are configurable by specification of appropriate
+kernel command line options. A full description of the command line options
+may be found in the comments before BusLogic_Setup in the kernel source code
+file "BusLogic.c". The following examples may be useful as a starting point:
+
+ "BusLogic=0x330"
+
+ This command line limits probing to the single I/O port at 0x330.
+
+ "BusLogic=0,1"
+
+ This command line selects default probing and a tagged queue depth of 1
+ which also disables tagged queuing. It may be useful if problems arise
+ during installation on a system with a flaky SCSI configuration. In cases
+ of a marginal SCSI configuration it may also be beneficial to disable fast
+ transfers and/or synchronous negotiation using AutoSCSI on "W" and "C"
+ series controllers. Disconnect/reconnect may also be disabled for fast
+ devices such as disk drives, but should not be disabled for tape drives or
+ other devices where a single command may take over a second to execute.
+
+ "BusLogic=0,0,30"
+
+ This command line selects default probing and automatic tagged queue depth
+ selection, but changes the bus settle time to 30 seconds. It may be useful
+ with SCSI devices that take an unusually long time to become ready to
+ accept commands after a SCSI bus reset. Some tape drives will not respond
+ properly immediately after a SCSI bus reset, especially if a tape is
+ present in the drive.
+
+ "BusLogic=TQ:Disable"
+
+ This command line selects default probing and disables tagged queuing.
+
+ "BusLogic=0,15,TQ:N"
+
+ This command line selects a tagged queue depth of 15 and disables tagged
+ queuing for target 0, while allowing tagged queuing for all other target
+ devices.
+
+Note that limiting the tagged queue depth or disabling tagged queuing can
+substantially impact performance.
+
+
+ INSTALLATION
+
+This distribution was prepared for Linux kernel version 1.2.13
+(BusLogic-1.2.6.tar.gz) or Linux kernel version 2.0.4 (BusLogic-2.0.6.tar.gz).
+Installation in later versions will probably be successful as well, though
+BusLogic.patch may not be required. Installation in earlier versions is not
+recommended.
+
+To install the BusLogic SCSI driver, you may use the following commands,
+replacing "/usr/src" with wherever you keep your Linux kernel source tree
+(substitute "1.2" or "2.0" for "x.y" in the tar command as appropriate):
+
+ cd /usr/src
+ tar -xvzf BusLogic-x.y.6.tar.gz
+ mv README.* BusLogic.[ch] linux/drivers/scsi
+ patch -p < BusLogic.patch (on Linux 1.2.13 only)
+ patch -p < BusLogic.elf_patch (on Linux 1.2.13 ELF systems only)
+ cd linux
+ make config
+ make depend
+ make zImage
+
+Then install "arch/i386/boot/zImage" as your standard kernel, run lilo if
+appropriate, and reboot.
+
+Be sure to answer "y" to the "BusLogic SCSI support" query during the "make
+config" step. If your system was already configured for the old BusLogic
+driver or for an older version of this driver, you may omit the "make config"
+step above.
+
+
+ BUSLOGIC ANNOUNCEMENTS MAILING LIST
+
+The BusLogic Announcements Mailing List provides a forum for informing Linux
+users of new driver releases and other announcements regarding Linux support
+for BusLogic SCSI Host Adapters. To join the mailing list, send a message to
+"buslogic-announce-request@dandelion.com" with the line "subscribe" in the
+message body.