mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 11:44:01 +08:00
d6933df97a
The SCSI qlogicisp driver is both marked BROKEN and superseded by the qla1280 driver. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
79 lines
3.2 KiB
Plaintext
79 lines
3.2 KiB
Plaintext
|
|
This driver supports the Qlogic FASXXX family of chips. This driver
|
|
only works with the ISA, VLB, and PCMCIA versions of the Qlogic
|
|
FastSCSI! 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 PCI
|
|
Qlogic 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. This
|
|
means you will have to load your socket and card services, and
|
|
QL41DOS.SYS and QL40ENBL.SYS. These are a minimum, but loading the
|
|
rest of the modules won't interfere with the operation. The next
|
|
thing to do is load the kernel without resetting the hardware, which
|
|
can be a simple ctrl-alt-delete with a boot floppy, or by using
|
|
loadlin with the kernel image accessible from DOS. If you are using
|
|
the Linux PCMCIA driver, you will have to adjust it or otherwise stop
|
|
it from configuring the card.
|
|
|
|
I am working with the PCMCIA group to make it more flexible, but that
|
|
may take a while.
|
|
|
|
ALL CARDS
|
|
|
|
The top of the qlogic.c file has a number of defines that controls
|
|
configuration. As shipped, it provides a balance between speed and
|
|
function. If there are any problems, try setting SLOW_CABLE to 1, and
|
|
then try changing USE_IRQ and TURBO_PDMA to zero. If you are familiar
|
|
with SCSI, there are other settings which can tune the bus.
|
|
|
|
It may be a good idea to enable RESET_AT_START, especially if the
|
|
devices may not have been just powered up, or if you are restarting
|
|
after a crash, since they may be busy trying to complete the last
|
|
command or something. It comes up faster if this is set to zero, and
|
|
if you have reliable hardware and connections it may be more useful to
|
|
not reset things.
|
|
|
|
SOME TROUBLESHOOTING TIPS
|
|
|
|
Make sure it works properly under DOS. You should also do an initial FDISK
|
|
on a new drive if you want partitions.
|
|
|
|
Don't enable all the speedups first. If anything is wrong, they will make
|
|
any problem worse.
|
|
|
|
IMPORTANT
|
|
|
|
The best way to test if your cables, termination, etc. are good is to
|
|
copy a very big file (e.g. a doublespace container file, or a very
|
|
large executable or archive). It should be at least 5 megabytes, but
|
|
you can do multiple tests on smaller files. Then do a COMP to verify
|
|
that the file copied properly. (Turn off all caching when doing these
|
|
tests, otherwise you will test your RAM and not the files). Then do
|
|
10 COMPs, comparing the same file on the SCSI hard drive, i.e. "COMP
|
|
realbig.doc realbig.doc". Then do it after the computer gets warm.
|
|
|
|
I noticed my system which seems to work 100% would fail this test if
|
|
the computer was left on for a few hours. It was worse with longer
|
|
cables, and more devices on the SCSI bus. What seems to happen is
|
|
that it gets a false ACK causing an extra byte to be inserted into the
|
|
stream (and this is not detected). This can be caused by bad
|
|
termination (the ACK can be reflected), or by noise when the chips
|
|
work less well because of the heat, or when cables get too long for
|
|
the speed.
|
|
|
|
Remember, if it doesn't work under DOS, it probably won't work under
|
|
Linux.
|