|  |  | 
|  | 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 qla1280 driver. | 
|  |  | 
|  | 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. |