| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 |  | 
 | 2 | This driver supports the Qlogic FASXXX family of chips.  This driver | 
 | 3 | only works with the ISA, VLB, and PCMCIA versions of the Qlogic | 
 | 4 | FastSCSI!  cards as well as any other card based on the FASXX chip | 
 | 5 | (including the Control Concepts SCSI/IDE/SIO/PIO/FDC cards). | 
 | 6 |  | 
 | 7 | This driver does NOT support the PCI version.  Support for these PCI | 
 | 8 | Qlogic boards: | 
 | 9 |  | 
 | 10 | 	* IQ-PCI | 
 | 11 | 	* IQ-PCI-10 | 
 | 12 | 	* IQ-PCI-D | 
 | 13 |  | 
 | 14 | is provided by the qlogicisp.c driver.  Check README.qlogicisp for | 
 | 15 | details. | 
 | 16 |  | 
 | 17 | Nor does it support the PCI-Basic, which is supported by the | 
 | 18 | 'am53c974' driver. | 
 | 19 |  | 
 | 20 | PCMCIA SUPPORT | 
 | 21 |  | 
 | 22 | This currently only works if the card is enabled first from DOS.  This | 
 | 23 | means you will have to load your socket and card services, and | 
 | 24 | QL41DOS.SYS and QL40ENBL.SYS.  These are a minimum, but loading the | 
 | 25 | rest of the modules won't interfere with the operation.  The next | 
 | 26 | thing to do is load the kernel without resetting the hardware, which | 
 | 27 | can be a simple ctrl-alt-delete with a boot floppy, or by using | 
 | 28 | loadlin with the kernel image accessible from DOS.  If you are using | 
 | 29 | the Linux PCMCIA driver, you will have to adjust it or otherwise stop | 
 | 30 | it from configuring the card. | 
 | 31 |  | 
 | 32 | I am working with the PCMCIA group to make it more flexible, but that | 
 | 33 | may take a while. | 
 | 34 |  | 
 | 35 | ALL CARDS | 
 | 36 |  | 
 | 37 | The top of the qlogic.c file has a number of defines that controls | 
 | 38 | configuration.  As shipped, it provides a balance between speed and | 
 | 39 | function.  If there are any problems, try setting SLOW_CABLE to 1, and | 
 | 40 | then try changing USE_IRQ and TURBO_PDMA to zero.  If you are familiar | 
 | 41 | with SCSI, there are other settings which can tune the bus. | 
 | 42 |  | 
 | 43 | It may be a good idea to enable RESET_AT_START, especially if the | 
 | 44 | devices may not have been just powered up, or if you are restarting | 
 | 45 | after a crash, since they may be busy trying to complete the last | 
 | 46 | command or something.  It comes up faster if this is set to zero, and | 
 | 47 | if you have reliable hardware and connections it may be more useful to | 
 | 48 | not reset things. | 
 | 49 |  | 
 | 50 | SOME TROUBLESHOOTING TIPS | 
 | 51 |  | 
 | 52 | Make sure it works properly under DOS.  You should also do an initial FDISK | 
 | 53 | on a new drive if you want partitions. | 
 | 54 |  | 
 | 55 | Don't enable all the speedups first.  If anything is wrong, they will make | 
 | 56 | any problem worse. | 
 | 57 |  | 
 | 58 | IMPORTANT | 
 | 59 |  | 
 | 60 | The best way to test if your cables, termination, etc. are good is to | 
 | 61 | copy a very big file (e.g. a doublespace container file, or a very | 
 | 62 | large executable or archive).  It should be at least 5 megabytes, but | 
 | 63 | you can do multiple tests on smaller files.  Then do a COMP to verify | 
 | 64 | that the file copied properly.  (Turn off all caching when doing these | 
 | 65 | tests, otherwise you will test your RAM and not the files).  Then do | 
 | 66 | 10 COMPs, comparing the same file on the SCSI hard drive, i.e. "COMP | 
 | 67 | realbig.doc realbig.doc".  Then do it after the computer gets warm. | 
 | 68 |  | 
 | 69 | I noticed my system which seems to work 100% would fail this test if | 
 | 70 | the computer was left on for a few hours.  It was worse with longer | 
 | 71 | cables, and more devices on the SCSI bus.  What seems to happen is | 
 | 72 | that it gets a false ACK causing an extra byte to be inserted into the | 
 | 73 | stream (and this is not detected).  This can be caused by bad | 
 | 74 | termination (the ACK can be reflected), or by noise when the chips | 
 | 75 | work less well because of the heat, or when cables get too long for | 
 | 76 | the speed. | 
 | 77 |  | 
 | 78 | Remember, if it doesn't work under DOS, it probably won't work under | 
 | 79 | Linux. |