scsi problems, ncr53x8xx and 2+ devices resets bus
I've just added a SONY SDT-5000 DDS-2 tape drive to my system, and am
getting a lot of scsi bus resets whenever two or more scsi devices are
accessed simultaneously.
At first i thought it was just the tape drive, but i tested various
combinations of hardware and can reproduce the error by using ANY two or
more devices simultaneously (e.g. 'du' on one of the scsi disks plus a tar
cv writing to the tape, or 'du' running on both scsi disks simultaneously).
all of the scsi devices work fine if i physically remove the other scsi
devices from the system.
The SCSI bus is terminated correctly. The cable is a 7 device cable. I
think i've got a 2 device cable lying around somewhere - i'll try that
later today and see if it helps.
I have tried various options with the ncr53c8xx driver (as suggested
in /usr/src/linux/drivers/scsi/README.ncr53c8xx), including disabling
disconnect, disabling synchronous, disable queued command etc. Nothing
makes any difference.
I've run out of clues. any help would be appreciated. Thanks
hardware details:
Gigabyte 586-HX motherboard, with Cyrix 6x86-P166 CPU.
1 x 1.6GB EIDE hard disk
1 x Quantum Empire 540 SCSI disk
1 x SONY SDT-5000 SCSI DAT tape
1 x Seagate ST41651 SCSI disk
1 x PCI "SOYO" brand NCR 53c810 scsi host adaptor
1 x PCI 2MB Trio64 SVGA card
1 x wd8003 8 bit ethernet card on irq 5
1 x Jazz16 sound card (io 0x220, irq 7; dma 1,5) -- rarely used
96MB memory
(The Seagate ST41651 got installed this morning - it has been sitting
gathering dust for over a year because it's an ancient and extremely
noisy full-height clunker. i only installed it to see if i could
reproduce the problem without having the tape drive installed.)
The SOYO ncr53c810 card is quite old. it's one of the early 53c810 cards.
is it just useless crap? should i go and get an aha2940 or buslogic or
advansys? anyone know where to get a buslogic or advansys at a decent
price here in melbourne?
software:
debian hamm (current as of a few days ago)
Linux kernel 2.0.32
scsi and sd drivers compiled into kernel
ncr53c8xx driver compiled as module
st driver compiled as module
interesting stuff from /proc (with comments from me):
$ cat /proc/pci
PCI devices found:
Bus 0, device 10, function 0:
VGA compatible controller: S3 Inc. Trio32/Trio64 (rev 0).
Medium devsel. IRQ 11.
Non-prefetchable 32 bit memory at 0xe0000000.
Bus 0, device 8, function 0:
Non-VGA device: NCR 53c810 (rev 1).
Medium devsel. IRQ 15. Master Capable. Latency=64.
I/O at 0x6100.
Non-prefetchable 32 bit memory at 0xe0800000.
Bus 0, device 7, function 1:
IDE interface: Intel 82371SB Natoma/Triton II PIIX3 (rev 0).
Medium devsel. Fast back-to-back capable. Master Capable. Latency=32.
I/O at 0xf000.
Bus 0, device 7, function 0:
ISA bridge: Intel 82371SB Natoma/Triton II PIIX3 (rev 1).
Medium devsel. Fast back-to-back capable. Master Capable. No bursts.
Bus 0, device 0, function 0:
Host bridge: Intel 82439HX Triton II (rev 3).
Medium devsel. Master Capable. Latency=32.
$ cat /proc/scsi/ncr53c8xx/0
General information:
Chip NCR53C810, device id 0x1, revision id 0x1
IO port address 0x6100, IRQ number 15
Using memory mapped IO at virtual address 0x682e000
Synchronous period factor 25, max commands per lun 4
Profiling information:
num_trans = 1040
num_kbytes = 4711
num_disc = 1594
num_break = 155
num_int = 210
num_fly = 1040
ms_setup = 80
ms_data = 5550
ms_disc = 5080
ms_post = 70
This is a SOYO brand NCR 53c810 card. I'm using the BSD ncr53c8xx
driver because it is more reliable than the 53c7xx,8xx driver. if i use
53c7xx,8xx then the machine will lock up rather than just reset the scsi
bus.
$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: QUANTUM Model: EMPIRE_540S Rev: 1202
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 02 Lun: 00
Vendor: SONY Model: SDT-5000 Rev: 3.30
Type: Sequential-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 04 Lun: 00
Vendor: SEAGATE Model: ST41651 Rev: 7668
Type: Direct-Access ANSI SCSI revision: 02
The seagate is at the end of the chain and is terminated.
extract of boot-time messages from /var/log/kern.log:
Dec 19 12:23:26 siva kernel: ncr53c8xx: at PCI bus 0, device 8, function 0
Dec 19 12:23:26 siva kernel: ncr53c8xx: 53c810 detected
Dec 19 12:23:26 siva kernel: ncr53c810-0: rev=0x01, base=0xe0800000, io_port=0x6100, irq=15
Dec 19 12:23:26 siva kernel: ncr53c810-0: ID 7, Fast-10, Parity Checking
Dec 19 12:23:26 siva kernel: ncr53c810-0: restart (scsi reset).
Dec 19 12:23:26 siva kernel: scsi0 : ncr53c8xx - revision 2.4a
Dec 19 12:23:26 siva kernel: scsi : 1 host.
Dec 19 12:23:26 siva kernel: Vendor: QUANTUM Model: EMPIRE_540S Rev: 1202
Dec 19 12:23:26 siva kernel: Type: Direct-Access ANSI SCSI revision: 02
Dec 19 12:23:26 siva kernel: Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
Dec 19 12:23:26 siva kernel: Vendor: SONY Model: SDT-5000 Rev: 3.30
Dec 19 12:23:26 siva kernel: Type: Sequential-Access ANSI SCSI revision: 02
Dec 19 12:23:26 siva kernel: Vendor: SEAGATE Model: ST41651 Rev: 7668
Dec 19 12:23:26 siva kernel: Type: Direct-Access ANSI SCSI revision: 02
Dec 19 12:23:26 siva kernel: Detected scsi disk sdb at scsi0, channel 0, id 4, lun 0
Dec 19 12:23:26 siva kernel: ncr53c810-0-<0,0>: SLOW SCSI 5.0 MB/s (200 ns, offset 8)
Dec 19 12:23:26 siva kernel: SCSI device sda: hdwr sector= 512 bytes. Sectors= 1054688 [514 MB] [0.5 GB]
Dec 19 12:23:26 siva kernel: sda: sda1
Dec 19 12:23:26 siva kernel: ncr53c810-0-<4,0>: SLOW SCSI 5.0 MB/s (200 ns, offset 8)
Dec 19 12:23:26 siva kernel: SCSI device sdb: hdwr sector= 512 bytes. Sectors= 2766300 [1350 MB] [1.4 GB]
Dec 19 12:23:26 siva kernel: sdb: sdb1
and here is where the st.o modules is loaded.
Dec 19 12:23:26 siva kernel: Detected scsi tape st0 at scsi0, channel 0, id 2, lun 0
and here's the error messages and scsi reset that occur when two or
more devices are used simultaneously:
Dec 19 12:24:24 siva kernel: ncr53c810-0:0: ERROR (a0:0) (47-67-80) (8/33) @ script (628:0f000000).
Dec 19 12:24:24 siva kernel: ncr53c810-0: script cmd = 60000040
Dec 19 12:24:24 siva kernel: ncr53c810-0: regdump: da 10 80 33 47 08 00 1f 80 47 80 67 80 00 07 00.
Dec 19 12:24:24 siva kernel: ncr53c810-0: have to clear fifos.
Dec 19 12:24:24 siva kernel: ncr53c810-0: restart (scsi reset).
Dec 19 12:24:27 siva kernel: ncr53c810-0-<0,0>: SLOW SCSI 5.0 MB/s (200 ns, offset 8)
and another one:
Dec 19 12:30:32 siva kernel: ncr53c810-0:0: ERROR (a0:0) (47-67-80) (8/33) @ script (628:0f000000).
Dec 19 12:30:32 siva kernel: ncr53c810-0: script cmd = 60000040
Dec 19 12:30:32 siva kernel: ncr53c810-0: regdump: da 10 80 33 47 08 00 1f 80 47 80 67 80 00 07 00.
Dec 19 12:30:32 siva kernel: ncr53c810-0: have to clear fifos.
Dec 19 12:30:32 siva kernel: ncr53c810-0: restart (scsi reset).
Dec 19 12:30:34 siva kernel: ncr53c810-0-<0,0>: SLOW SCSI 5.0 MB/s (200 ns, offset 8)
$ cat /proc/interrupts
0: 340923 timer
1: 30934 keyboard
2: 0 cascade
4: 37497 + serial
5: 5562 WD8003-old
7: 1 sound blaster
8: 0 + rtc
13: 1 math error
14: 15246 + ide0
15: 1382 + ncr53c8xx
$ cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-009f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : npu
01f0-01f7 : ide0
0220-022f : sound blaster
0280-029f : WD8003-old
02e8-02ef : serial(set)
02f8-02ff : serial(set)
03c0-03df : vga+
03e8-03ef : serial(set)
03f0-03f5 : floppy
03f6-03f6 : ide0
03f7-03f7 : floppy DIR
03f8-03ff : serial(set)
6100-617f : ncr53c8xx
f000-f007 : IDE DMA
(interestingly i only have 2 serial ports in this system, not 4).
$ cat /proc/dma
1: Sound Blaster8
4: cascade
5: Sound Blaster16
--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-request@lists.debian.org .
Trouble? e-mail to templin@bucknell.edu .
Reply to: