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