diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 15:20:36 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 15:20:36 -0700 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /Documentation/scsi/qlogicfas.txt |
Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'Documentation/scsi/qlogicfas.txt')
-rw-r--r-- | Documentation/scsi/qlogicfas.txt | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/Documentation/scsi/qlogicfas.txt b/Documentation/scsi/qlogicfas.txt new file mode 100644 index 00000000000..398f9916807 --- /dev/null +++ b/Documentation/scsi/qlogicfas.txt @@ -0,0 +1,79 @@ + +This driver supports the Qlogic FASXXX family of chips. This driver +only works with the ISA, VLB, and PCMCIA versions of the Qlogic +FastSCSI! cards as well as any other card based on the FASXX chip +(including the Control Concepts SCSI/IDE/SIO/PIO/FDC cards). + +This driver does NOT support the PCI version. Support for these PCI +Qlogic boards: + + * IQ-PCI + * IQ-PCI-10 + * IQ-PCI-D + +is provided by the qlogicisp.c driver. Check README.qlogicisp for +details. + +Nor does it support the PCI-Basic, which is supported by the +'am53c974' driver. + +PCMCIA SUPPORT + +This currently only works if the card is enabled first from DOS. This +means you will have to load your socket and card services, and +QL41DOS.SYS and QL40ENBL.SYS. These are a minimum, but loading the +rest of the modules won't interfere with the operation. The next +thing to do is load the kernel without resetting the hardware, which +can be a simple ctrl-alt-delete with a boot floppy, or by using +loadlin with the kernel image accessible from DOS. If you are using +the Linux PCMCIA driver, you will have to adjust it or otherwise stop +it from configuring the card. + +I am working with the PCMCIA group to make it more flexible, but that +may take a while. + +ALL CARDS + +The top of the qlogic.c file has a number of defines that controls +configuration. As shipped, it provides a balance between speed and +function. If there are any problems, try setting SLOW_CABLE to 1, and +then try changing USE_IRQ and TURBO_PDMA to zero. If you are familiar +with SCSI, there are other settings which can tune the bus. + +It may be a good idea to enable RESET_AT_START, especially if the +devices may not have been just powered up, or if you are restarting +after a crash, since they may be busy trying to complete the last +command or something. It comes up faster if this is set to zero, and +if you have reliable hardware and connections it may be more useful to +not reset things. + +SOME TROUBLESHOOTING TIPS + +Make sure it works properly under DOS. You should also do an initial FDISK +on a new drive if you want partitions. + +Don't enable all the speedups first. If anything is wrong, they will make +any problem worse. + +IMPORTANT + +The best way to test if your cables, termination, etc. are good is to +copy a very big file (e.g. a doublespace container file, or a very +large executable or archive). It should be at least 5 megabytes, but +you can do multiple tests on smaller files. Then do a COMP to verify +that the file copied properly. (Turn off all caching when doing these +tests, otherwise you will test your RAM and not the files). Then do +10 COMPs, comparing the same file on the SCSI hard drive, i.e. "COMP +realbig.doc realbig.doc". Then do it after the computer gets warm. + +I noticed my system which seems to work 100% would fail this test if +the computer was left on for a few hours. It was worse with longer +cables, and more devices on the SCSI bus. What seems to happen is +that it gets a false ACK causing an extra byte to be inserted into the +stream (and this is not detected). This can be caused by bad +termination (the ACK can be reflected), or by noise when the chips +work less well because of the heat, or when cables get too long for +the speed. + +Remember, if it doesn't work under DOS, it probably won't work under +Linux. |