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