Seagate STD28000N <> Adaptec 2940U, target busy, bus reset

Seagate STD28000N <> Adaptec 2940U, target busy, bus reset

Post by David Fre » Fri, 19 Sep 1997 04:00:00



Hello all,

I bought and installed a Seagate STD28000N DDS-2 DAT drive a few days
ago in a Linux box running RedHat 4.1, kernel 2.0.30.

Since then I've noticed that occasionally the kernel finds the
tape drive "busy" and resets the SCSI bus.  This usually occurs after
issuing an 'mt' command (e.g. rewind, fsf, etc.), but sometimes has
occurred right in the middle of a backup while writing data.

To the best of my knowledge a reset has never occurred when the tape
drive was not recently or currently in use.  Also TTBOMK, the SCSI bus
on this machine has never spontaneously reset before the introduction
of this tape drive.  Previously I have used a very old Exabyte (SCSI1)
and two other DAT drives (two different HPs) without this or any other
problem occurring.

After a little more experimentation I have been able to reproduce the
problem at will by powering on the machine with a tape in the drive so
that the drive is still physically "mounting" the tape at the time the
kernel SCSI driver gets around to probing the tape.  Here's an example
of the output in that case:

  (the tape drive is target 5)

  [...other normal kernel boot messages deleted...]
  scsi0: Target 5, channel A, now synchronous at 5.0MHz, offset 15.
  scsi0: Target busy, TCL=0x50.
  scsi0: Target busy, TCL=0x50.
  scsi0 channel 0 : resetting for second half of retries.
  SCSI bus is being reset for host 0 channel 0.
  aic7xxx: (reset) target/channel 5/0
  aic7xxx: (reset_device) target/channel -1/A, active_scb 0
  aic7xxx: (reset_channel) Resetting current channel A
  aic7xxx: (reset_channel) Channel reset, sequencer restarted
  scsi0: Target 5, channel A, now synchronous at 5.0MHz, offset 15.
    Vendor: ARCHIVE   Model: Python 02779-XXX  Rev: 6280
    Type:   Sequential-Access                  ANSI SCSI revision: 02
  Detected scsi tape st0 at scsi0, channel 0, id 5, lun 0

I have tried the following in an attempt to fix it, none of these has
prevented the problem:

Cabling:

  - Removed connector to SCSI CD-ROM drive so that the internal bus
    consisted solely of the tape drive and the SCSI controller.  (The
    disks are in a properly terminated external SCSI enclosure.)

  - Swapped in a different 50 conductor ribbon cable using same config as
    above.

On the Adaptec 2940U SCSI controller:

  - Turned on/off adapter auto termination
  - Turned on/off disconnect for target 5
  - Turned on/off synchronous negotiation for target 5
  - Reduced max xfer rate for tape drive to 5Mhz.

On the tape drive:

  - Turned on/off bus parity checking
  - Turned on/off self-test at power-on (self-test is successful)
  - Changed internal SCSI cabling such that the tape drive is not the
    last internal SCSI device and disabled termination.  (The CD-ROM
    terminated the bus, which is the configuration I had prior to
    getting the internal tape drive.)
  - Changed internal SCSI cabling such that the tape drive is the last
    device on the internal chain and enabled the onboard active
    termination on the tape drive.
  - Turned on/off "term power" on the tape drive
  - Changed inquiry string from "Seagate" to "Archive" and back again

In the kernel (which is 2.0.30):

  - Turned on/off tagged queuing in aic7xxx.c
  - Turned on/off SCB paging in aic7xxx.c
  - Turned on/off ST_NOWAIT in st_options.h
  - Turned on/off aic7xxx=no_reset boottime option

I realize several of these had very little likelihood of fixing the
problem, but I thought I should be complete.  ;-) I've poked around
through the SCSI-HOWTO and dejanews without finding anything new to
try.  A call to Seagate tech support produced a couple good general
suggestions, but I'd already tried most of them.  They didn't have
much specific Linux knowledge.

So, any suggestions or similar experiences out there?

David

 
 
 

1. <><><> MOUNTING EXTENDED PARTITION <><><>

I have a 10 GB UDMA IDE drive formatted with Windows.  The first partition
is FAT32, and the second is NTFS.  I can successfully mount the first, but
not the second.  Any ideas?

Suse 7.2 on i86
the drive is mounted on /dev/hdc, and I CAN see hda1, but not hda2

2. How to reduce the linux partition?

3. Wanted: <><><> Unix Specialist <><><>

4. rc3.d Script: K95kudzu or rm

5. LILO help <><><><><><>

6. GUS under linux, anyone?

7. <Alt>+<key> = <Esc><key> ?

8. N33d h31p crack1ng pa55wd f1l3!!

9. *{<><>}*Linux*Screen*Difficulties*{<><>}*

10. << <<anyone using dyn-html?>> >>

11. (<><>)*Linux*Screen*Difficulties*(<><>)

12. Samba problem: WinXP <-> ADSL <-> Internet <-> Cable <-> Linux

13. SunSparc <--> modem <--> 486DLC <--> RS232/SLIP <--> 386sx