Bug 107369

Summary: STD2401LW tape drive does not work with Redhat linux-2.4.20-20.9 and below (also default linux-2.4.20-8)
Product: [Retired] Red Hat Linux Reporter: Sabuj Pattanayek <sabuj>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED WONTFIX QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 9CC: riel
Target Milestone: ---   
Target Release: ---   
Hardware: athlon   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-09-30 15:41:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
dmesg of similar problem none

Description Sabuj Pattanayek 2003-10-17 15:16:13 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624

Description of problem:
I recently received a brand new dual athlonMP 2800+ box with a STD2401LW
Certance/Seagate DDS4 drive.

Installed RH9 with ISO's and default kernel 2.4.20-8smp. The following error is
for both 2.4.20-8smp and also 2.4.20-20.9smp which I upgraded to earlier today
from rhn.

dmesg & /var/log/ :

  Vendor: SEAGATE   Model: DAT    9SP40-000  Rev: 9100
  Type:   Sequential-Access                  ANSI SCSI revision: 03

st: Version 20030406, bufsize 32768, max init. bufs 4, s/g segs 16
Attached scsi tape st0 at scsi0, channel 0, id 6, lun 0

mt -f /dev/st0 status ...freezes (can't kill mt process either)

dmesg again (relevant parts):

(scsi0:A:6): 80.000MB/s transfers (40.000MHz, offset 32, 16bit)
scsi0: Transmission error detected
scsi0: lqistat1 == 0x0, LASTPHASE == 0x040, curphase = 0x40, perrdiag == 0xd0
scsi0: Dumping Card State at program address 0x1dd Mode 0x11
Softc pointer is c5b46000
IOWNID == 0x7, TOWNID == 0x7, SCSISEQ1 == 0x12
SCSISIGI == 0x54
QFREEZE_COUNT == 0, SEQ_FLAGS2 == 0x1
Card was paused
scsi0: LASTSCB 0x2 CURRSCB 0x2 NEXTSCB 0x0 SEQINTCTL 0x0
SCSISEQ = 0x0
SCB count = 4
Kernel NEXTQSCB = 2
scsi0: LQCTL1 = 0x0
scsi0: WAITING_TID_LIST == 0xfffd:0xff02
scsi0: WAITING_SCB_TAILS: 0(0xff00) 1(0xff00) 2(0xff00) 3(0xff00) 4(0xff00)
5(0xff00) 6(0xff02) 7(0xff00) 8(0xff00) 9(0xff00) 10(0xff00) 11(0xff00)
12(0xff00) 13(0xff00) 14(0xff00) 15(0xff00)
qinstart = 16 qinfifonext = 16
QINFIFO:
WAITING_TID_QUEUES:
Pending list:
  2(CTRL 0x40 ID 0x67 N 0xffc0 N2 0xfffd SG 0x37fd380a, RSG 0x37fd0080, KSG
0x37fd380a)

Kernel Free SCB list: 1 0
Sequencer Complete DMA-inprog list:
Sequencer Complete list:
Sequencer DMA-Up and Complete list:
scsi0: SIMODE1 = 0xac
scsi0: LQISTAT0 = 0x0, LQISTAT1 = 0x0, LQISTAT2 = 0x0
scsi0: LQOSTAT0 = 0x0, LQOSTAT1 = 0x0, LQOSTAT2 = 0x80
scsi0: FIFO0 Free, LONGJMP == 0x80ff, SCB 0x0, LJSCB 0xff00
scsi0: SEQIMODE == 0x3f, SEQINTSRC == 0x0
scsi0: DFCNTRL == 0x0, DFSTATUS == 0x89, SG_CACHE_SHADOW = 0x2, SG_STATE = 0x0
SSTAT0 = 0x0, SSTAT1 = 0x11, SSTAT2 = 0x0
DFFSXFRCTL = 0x0, SOFFCNT = 0x1
MDFFSTAT = 0x5, SHADDR = 0x0, SHCNT = 0x0
HADDR = 0x0, HCNT = 0x0
CCSGCTL = 0x0
scsi0: FIFO1 Active, LONGJMP == 0x806c, SCB 0x2, LJSCB 0xff00
scsi0: SEQIMODE == 0x3f, SEQINTSRC == 0x0
scsi0: DFCNTRL == 0x4, DFSTATUS == 0x88, SG_CACHE_SHADOW = 0x3, SG_STATE = 0x0
SSTAT0 = 0x0, SSTAT1 = 0x11, SSTAT2 = 0x3
DFFSXFRCTL = 0x0, SOFFCNT = 0x1
MDFFSTAT = 0x14, SHADDR = 0x26, SHCNT = 0xffffe0
HADDR = 0x0, HCNT = 0x0
CCSGCTL = 0x10
sg[0] - Addr 0x036830000 : Length 128
LQIN: 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0
scsi0: SSTAT3 == 0x0
scsi0: LQISTATE = 0x0, LQOSTATE = 0x0, OPTIONMODE = 0x52
scsi0: OS_SPACE_CNT = 0x20 MAXCMDCNT = 0x0
scsi0: REG0 == 0xa, SINDEX = 0x111, DINDEX = 0x120
scsi0: SCBPTR == 0x2, SCB_NEXT == 0xffc0, SCB_NEXT2 == 0xfffd
CDB 12 0 0 0 80 0
STACK: 0x0 0x0 0x0 0x0 0x0 0x27 0x84 0xb8
DevQ(0:6:0): 0 waiting
Setting up for Parity Error delivery
scsi0: Transmission error detected
scsi0: lqistat1 == 0x0, LASTPHASE == 0x040, curphase = 0x40, perrdiag == 0xd0
scsi0: Dumping Card State at program address 0x1db Mode 0x11
Softc pointer is c5b46000
IOWNID == 0x7, TOWNID == 0x7, SCSISEQ1 == 0x12
SCSISIGI == 0x54
QFREEZE_COUNT == 0, SEQ_FLAGS2 == 0x1
Card was paused
scsi0: LASTSCB 0x2 CURRSCB 0x2 NEXTSCB 0x0 SEQINTCTL 0x0
SCSISEQ = 0x0
SCB count = 4
Kernel NEXTQSCB = 2
scsi0: LQCTL1 = 0x0
scsi0: WAITING_TID_LIST == 0xfffd:0xff02
scsi0: WAITING_SCB_TAILS: 0(0xff00) 1(0xff00) 2(0xff00) 3(0xff00) 4(0xff00)
5(0xff00) 6(0xff02) 7(0xff00) 8(0xff00) 9(0xff00) 10(0xff00) 11(0xff00)
12(0xff00) 13(0xff00) 14(0xff00) 15(0xff00)
qinstart = 17 qinfifonext = 17
QINFIFO:
WAITING_TID_QUEUES:
Pending list:
  2(CTRL 0x0 ID 0x67 N 0xff80 N2 0xfffd SG 0x37fd380a, RSG 0x37fd0020, KSG
0x37fd380a)

Kernel Free SCB list: 1 0
Sequencer Complete DMA-inprog list:
Sequencer Complete list:
Sequencer DMA-Up and Complete list:
scsi0: SIMODE1 = 0xac
scsi0: LQISTAT0 = 0x0, LQISTAT1 = 0x0, LQISTAT2 = 0x0
scsi0: LQOSTAT0 = 0x0, LQOSTAT1 = 0x0, LQOSTAT2 = 0x80
scsi0: FIFO0 Free, LONGJMP == 0x80ff, SCB 0x0, LJSCB 0xff00
scsi0: SEQIMODE == 0x3f, SEQINTSRC == 0x0
scsi0: DFCNTRL == 0x0, DFSTATUS == 0x89, SG_CACHE_SHADOW = 0x2, SG_STATE = 0x0
SSTAT0 = 0x0, SSTAT1 = 0x19, SSTAT2 = 0x0
DFFSXFRCTL = 0x0, SOFFCNT = 0x1
MDFFSTAT = 0x5, SHADDR = 0x0, SHCNT = 0x0
HADDR = 0x0, HCNT = 0x0
CCSGCTL = 0x0
scsi0: FIFO1 Active, LONGJMP == 0x806c, SCB 0x2, LJSCB 0xff00
scsi0: SEQIMODE == 0x3f, SEQINTSRC == 0x0
scsi0: DFCNTRL == 0x4, DFSTATUS == 0x88, SG_CACHE_SHADOW = 0x3, SG_STATE = 0x0
SSTAT0 = 0x0, SSTAT1 = 0x19, SSTAT2 = 0x3
DFFSXFRCTL = 0x0, SOFFCNT = 0x1
MDFFSTAT = 0x14, SHADDR = 0x16, SHCNT = 0xfffff0
HADDR = 0x0, HCNT = 0x0
CCSGCTL = 0x10
sg[0] - Addr 0x037fd2200 : Length 32
LQIN: 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0
scsi0: SSTAT3 == 0x0
scsi0: LQISTATE = 0x0, LQOSTATE = 0x0, OPTIONMODE = 0x52
scsi0: OS_SPACE_CNT = 0x20 MAXCMDCNT = 0x0
scsi0: REG0 == 0xa, SINDEX = 0x111, DINDEX = 0x10e
scsi0: SCBPTR == 0x2, SCB_NEXT == 0xff80, SCB_NEXT2 == 0xfffd
CDB 3 0 0 0 20 0
STACK: 0x0 0x0 0x0 0x0 0x0 0x27 0x84 0xb8
DevQ(0:6:0): 0 waiting
Setting up for Parity Error delivery


This drive works fine with linux-2.4.22 (i used linux-2.4.22-openmosix1 from
openmosix.sourceforge.net).

Version-Release number of selected component (if applicable):
kernel-smp-2.4.20-8 kernel-smp-2.4.20-20.9

How reproducible:
Always

Steps to Reproduce:
1. Need STD2401LW Certance/Seagate tape drive to be properly installed and
detected by your SCSI BIOS setup. 
2. Install RH9 from iso (default linux-2.4.20-8 or upgrade to linux-2.4.20-20.9
from rhn) 
3. mt -f /dev/st0 status or eject ; dmesg
    

Actual Results:  See Description

Expected Results:  mt should give correct status of tape drive/should be able to
eject tape/should also be able to kill the frozen mt command.

Additional info:

linux-2.4.22 seems to fix the problem ..but still would like a RH kernel that
works with this tape drive :)

Comment 1 Don Bodle 2004-05-21 12:54:43 UTC
Created attachment 100418 [details]
dmesg of similar problem

an x345, adaptec ultra320, aic79xx driver 1.0.0, Seagate DDS4 DAT.  I have the
same problem if the tape drive is power-cycled after the system has been up. 
Given enough patience, in my case, the request times out and the tape drive can
be used by normal processes (tar, etc).  But a subsequent mt status will hang. 
This is a RH8.0 base running kernel 2.4.20-24
Host: scsi0 Channel: 00 Id: 01 Lun: 00
  Vendor: SEAGATE  Model: DAT	 9SP40-000 Rev: 9100
  Type:   Sequential-Access		   ANSI SCSI revision: 03

Comment 2 Bugzilla owner 2004-09-30 15:41:36 UTC
Thanks for the bug report. However, Red Hat no longer maintains this version of
the product. Please upgrade to the latest version and open a new bug if the problem
persists.

The Fedora Legacy project (http://fedoralegacy.org/) maintains some older releases, 
and if you believe this bug is interesting to them, please report the problem in
the bug tracker at: http://bugzilla.fedora.us/