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