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