Qlogic FASXXX Family Driver Notes¶
This driver supports the Qlogic FASXXX family of chips. This driveronly works with the ISA, VLB, and PCMCIA versions of the QlogicFastSCSI! 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 PCIQlogic 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. Thismeans you will have to load your socket and card services, andQL41DOS.SYS and QL40ENBL.SYS. These are a minimum, but loading therest of the modules won’t interfere with the operation. The nextthing to do is load the kernel without resetting the hardware, whichcan be a simple ctrl-alt-delete with a boot floppy, or by usingloadlin with the kernel image accessible from DOS. If you are usingthe Linux PCMCIA driver, you will have to adjust it or otherwise stopit from configuring the card.
I am working with the PCMCIA group to make it more flexible, but thatmay take a while.
All Cards¶
The top of the qlogic.c file has a number of defines that controlsconfiguration. As shipped, it provides a balance between speed andfunction. If there are any problems, try setting SLOW_CABLE to 1, andthen try changing USE_IRQ and TURBO_PDMA to zero. If you are familiarwith SCSI, there are other settings which can tune the bus.
It may be a good idea to enable RESET_AT_START, especially if thedevices may not have been just powered up, or if you are restartingafter a crash, since they may be busy trying to complete the lastcommand or something. It comes up faster if this is set to zero, andif you have reliable hardware and connections it may be more useful tonot reset things.
Some Troubleshooting Tips¶
Make sure it works properly under DOS. You should also do an initial FDISKon a new drive if you want partitions.
Don’t enable all the speedups first. If anything is wrong, they will makeany problem worse.
Important¶
The best way to test if your cables, termination, etc. are good is tocopy a very big file (e.g. a doublespace container file, or a verylarge executable or archive). It should be at least 5 megabytes, butyou can do multiple tests on smaller files. Then do a COMP to verifythat the file copied properly. (Turn off all caching when doing thesetests, otherwise you will test your RAM and not the files). Then do10 COMPs, comparing the same file on the SCSI hard drive, i.e. “COMPrealbig.doc realbig.doc”. Then do it after the computer gets warm.
I noticed my system which seems to work 100% would fail this test ifthe computer was left on for a few hours. It was worse with longercables, and more devices on the SCSI bus. What seems to happen isthat it gets a false ACK causing an extra byte to be inserted into thestream (and this is not detected). This can be caused by badtermination (the ACK can be reflected), or by noise when the chipswork less well because of the heat, or when cables get too long forthe speed.
Remember, if it doesn’t work under DOS, it probably won’t work underLinux.