SCSI-driver problem when compiled as module

Martin Mueller (mm@lynch.misa.uni-magdeburg.de)
Wed, 5 Mar 1997 17:17:34 +0100 (MET)


Hi all,

running an old 468DX266 (ASUS SP3G) with an ncr53c810 (onboard) and
an Adaptec 2940 I encountered the following problem with the 2940-driver
build as module and the ncr53c8xx-driver build into the kernel.

On the NCR sits my first disk with my whole linux system and on the
2940 I have attached 2 old Quantum disks and an Syquest-EZ drive.

When loading the "aic7xxx" module I get the following promising output:
-----------------------------------------------------------------
AHA-2940 (PCI-bus), I/O 0xe000, Mem 0xfbfde000:
irq 12
bus release time 40 bclks
data fifo threshold 100%
SCSI CHANNEL A:
scsi id 7
scsi selection timeout 256 ms
scsi bus reset at power-on enabled
scsi bus parity enabled
scsi bus termination (low byte) enabled
aic7xxx: Resetting the SCSI bus...done.
scsi1 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 4.0/3.2/4.0
scsi : 2 hosts.
scsi1: Target 1, channel A, now synchronous at 10.0MHz, offset 8.
Vendor: QUANTUM Model: LPS540S Rev: 590S
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sdb at scsi1, channel 0, id 1, lun 0
scsi1: Target 2, channel A, now synchronous at 10.0MHz, offset 8.
Vendor: QUANTUM Model: LIGHTNING 730S Rev: 2417
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sdc at scsi1, channel 0, id 2, lun 0
scsi1: Target 3, channel A, now synchronous at 5.0MHz, offset 15.
Vendor: SyQuest Model: EZ135S Rev: 1-17
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi removable disk sdd at scsi1, channel 0, id 3, lun 0
SCSI device sdb: hdwr sector= 512 bytes. Sectors= 1057616 [516 MB] [0.5 GB]
sdb: sdb1 sdb2
SCSI device sdc: hdwr sector= 512 bytes. Sectors= 1431518 [698 MB] [0.7 GB]
sdc: sdc1 sdc2
-----------------------------------------------------------------
which looks nice except, that it doesn't read in the Syquest partition
table. YES I have a valid-linuxformated-partitioned medium in the
Syquest!
If I try a "fdisk /dev/sdd" I get an "Unable to open /dev/sdd".
Also pay close attention to the nameing of the SCSI disks (sdb,sdc,sdd)
which looks fine so far.

The next step is to do a "modprobe -r aic7xxx" and insert the driver
again with the following output:
-----------------------------------------------------------------
scsi2 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 4.0/3.2/4.0
scsi : 2 hosts.
scsi2: Target 1, channel A, now synchronous at 10.0MHz, offset 8.
Vendor: QUANTUM Model: LPS540S Rev: 590S
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sdc at scsi2, channel 0, id 1, lun 0
scsi2: Target 2, channel A, now synchronous at 10.0MHz, offset 8.
Vendor: QUANTUM Model: LIGHTNING 730S Rev: 2417
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sdd at scsi2, channel 0, id 2, lun 0
scsi2: Target 3, channel A, now synchronous at 5.0MHz, offset 15.
Vendor: SyQuest Model: EZ135S Rev: 1-17
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi removable disk sde at scsi2, channel 0, id 3, lun 0
SCSI device sdb: hdwr sector= 512 bytes. Sectors= 1057616 [516 MB] [0.5 GB]
sdb: sdb1 sdb2
SCSI device sdc: hdwr sector= 512 bytes. Sectors= 1431518 [698 MB] [0.7 GB]
sdc: sdc1 sdc2
-----------------------------------------------------------------
As you can see, almost the same result, except, that the disks are now
called sdc,sdd and sde which is an offset of one against the former
result especially as the partition table reread outputs sdb and sdc
which is correct, as I can access the drives with these device names.
The Syquest is still not accessible.
Next I reconfigured the Syquest to SCSI-ID 0, removed the driver and
reloaded it again, which brought the following results:
-----------------------------------------------------------------
scsi3 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 4.0/3.2/4.0
scsi : 2 hosts.
scsi3: Target 0, channel A, now synchronous at 5.0MHz, offset 15.
Vendor: SyQuest Model: EZ135S Rev: 1-17
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi removable disk sdd at scsi3, channel 0, id 0, lun 0
scsi3: Target 1, channel A, now synchronous at 10.0MHz, offset 8.
Vendor: QUANTUM Model: LPS540S Rev: 590S
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sde at scsi3, channel 0, id 1, lun 0
scsi3: Target 2, channel A, now synchronous at 10.0MHz, offset 8.
Vendor: QUANTUM Model: LIGHTNING 730S Rev: 2417
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sdf at scsi3, channel 0, id 2, lun 0
SCSI device sdb: hdwr sector= 512 bytes. Sectors= 262144 [128 MB] [0.1 GB]
sdb: Write Protect is off
sdb: sdb1
SCSI device sdc: hdwr sector= 512 bytes. Sectors= 1057616 [516 MB] [0.5 GB]
sdc: sdc1 sdc2
-----------------------------------------------------------------
The device names are again off by one, but oh miracle, the Syquest is
found correctly as /dev/sdb and works beautifully, except that my second
disk is now vanished.

If I repeat the procedure of unloading and loading the driver I can
get the kernel to report device names of sd{ sd| and sd} which I don't
consider valid names for a scsi-disk :-).

This behavior is the same with kernels 2.0.21, 2.0.29, 2.1.27. I hope
the provided information is enough to shed any light in the dark, but
feel free to contact me if I missed some important facts.

bye
Martin