"parity error detected in DT Data-out phase" during kernel boot
encountered.
David Landgren
david at landgren.net
Tue Aug 19 08:38:43 PDT 2003
Greetings,
I have an HP Proliant 380GL-D3 running 4.8-STABLE and, for the time
being, a GENERIC kernel. I also have an external Compaq Storageworks
DLT bay. Both the server and the tape bay both have two SCSI ports,
and of course it was only the final combination that made anything happen.
I have the storage bay powered up, and the DLT settles down and shows
a single green led. I then power up the server and after it gets to
booting the kernel, the following messages appear on the console:
(probe30:ahc1:0:0:0): parity error detected in DT Data-in phase.
SEQADDR(0x1a5) SCSIRATE(0x0)
Unexpected non-DT Data Phase
(probe30:ahc1:0:0:0): parity error detected in DT Data-out phase.
SEQADDR(0x1a6) SCSIRATE(0x0)
Unexpected non-DT Data Phase
(probe30:ahc1:0:0:0): parity error detected in DT Data-out phase.
SEQADDR(0x1a6) SCSIRATE(0x0)
Unexpected non-DT Data Phase
(probe30:ahc1:0:0:0): parity error detected in DT Data-out phase.
SEQADDR(0x1a5) SCSIRATE(0x0)
Unexpected non-DT Data Phase
After several thousand of these go by, I get the following (retrieved
from dmesg):
(probe30:ahc1:0:0:0): SCB 0x8 - timed out
>>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
ahc1: Dumping Card State while idle, at SEQADDR 0x16b
Card was paused
ACCUM = 0x8, SINDEX = 0x81, DINDEX = 0xe4, ARG_2 = 0x2
HCNT = 0x0 SCBPTR = 0x0
SCSIPHASE[0x1]:(DATA_OUT_PHASE) SCSISIGI[0x36]:(REQI|BSYI|ATNI|MSGI)
ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x1]:(P_BUSFREE)
SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) SBLKCTL[0xa]:(SELWIDE|SELBUSB)
SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) SEQ_FLAGS[0x40]:(NO_CDB_SENT)
SSTAT0[0x2]:(SPIORDY) SSTAT1[0x5]:(REQINIT|SCSIPERR)
SSTAT2[0x1]:(DUAL_EDGE_ERR) SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP)
SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO)
SXFRCTL0[0x88]:(SPIOEN|DFON) DFCNTRL[0x0]
DFSTATUS[0x8a]:(FIFOFULL|HDONE|PRELOAD_AVAIL)
STACK: 0x34 0x34 0x34 0x16a
SCB count = 20
Kernel NEXTQSCB = 7
Card NEXTQSCB = 7
QINFIFO entries:
Waiting Queue entries:
Disconnected Queue entries:
QOUTFIFO entries:
Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26 27 28 29 30 31
Sequencer SCB Info:
0 SCB_CONTROL[0x0] SCB_SCSIID[0x7] SCB_LUN[0x0] SCB_TAG[0x8]
1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID)
SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff]
2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID)
SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff]
3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID)
[... more of the same elided...]
31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID)
SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff]
Pending list:
8 SCB_CONTROL[0x0] SCB_SCSIID[0x7] SCB_LUN[0x0]
Kernel Free SCB list: 6 5 4 3 2 1 0 19 18 17 16 15 9 14 13 12 11 10
Untagged Q(0): 8
>>>>>>>>>>>>>>>>>
sg[0] - Addr 0x7c2d3484 : Length 36
(probe30:ahc1:0:0:0): BDR message in message buffer
(probe30:ahc1:0:0:0): parity error detected in DT Data-out phase.
SEQADDR(0x16b) SCSIRATE(0x0)
Unexpected non-DT Data Phase
(probe30:ahc1:0:0:0): SCB 0x8 - timed out
>>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
ahc1: Dumping Card State while idle, at SEQADDR 0x16b
Card was paused
ACCUM = 0x8, SINDEX = 0x81, DINDEX = 0xe4, ARG_2 = 0x2
HCNT = 0x0 SCBPTR = 0x0
SCSIPHASE[0x0] SCSISIGI[0x35]:(ACKI|BSYI|ATNI|MSGI)
ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x1]:(P_BUSFREE)
SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) SBLKCTL[0xa]:(SELWIDE|SELBUSB)
SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) SEQ_FLAGS[0x40]:(NO_CDB_SENT)
SSTAT0[0x2]:(SPIORDY) SSTAT1[0x4]:(SCSIPERR) SSTAT2[0x0]
SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP)
SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO)
SXFRCTL0[0x88]:(SPIOEN|DFON) DFCNTRL[0x0]
DFSTATUS[0x8a]:(FIFOFULL|HDONE|PRELOAD_AVAIL)
STACK: 0x34 0x34 0x34 0x16a
SCB count = 20
Kernel NEXTQSCB = 7
Card NEXTQSCB = 7
QINFIFO entries:
Waiting Queue entries:
Disconnected Queue entries:
QOUTFIFO entries:
Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26 27 28 29 30 31
Sequencer SCB Info:
0 SCB_CONTROL[0x0] SCB_SCSIID[0x7] SCB_LUN[0x0] SCB_TAG[0x8]
1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID)
SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff]
2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID)
SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff]
3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID)
[... etc etc ...]
31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID)
SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff]
Pending list:
8 SCB_CONTROL[0x0] SCB_SCSIID[0x7] SCB_LUN[0x0]
Kernel Free SCB list: 6 5 4 3 2 1 0 19 18 17 16 15 9 14 13 12 11 10
Untagged Q(0): 8
>>>>>>>>>>>>>>>>>
sg[0] - Addr 0x7c2d3484 : Length 36
(probe30:ahc1:0:0:0): no longer in timeout, status = 34b
ahc1: Issued Channel A Bus Reset. 1 SCBs aborted
OK, so it doesn't work. I don't have many ideas as to where to go from
here. Basically I just want the DLT to appear as /dev/nsa0 or
something along those lines. The question is, how do I get there from
here? Is it possible? Do the stock freebsd SCSI drivers cover this or
do I need to add something to the kernel? The HP site talks about
downloadable drivers for Linux... I'm hoping that FreeBSD can do this
out of the box.
It has two 72Gb SCSI drives in a raid-5 configuration that are running
just fine:
Mounting root from ufs:/dev/da0s1a
da0 at ciss0 bus 0 target 0 lun 0
da0: <COMPAQ RAID 1 VOLUME OK> Fixed Direct Access SCSI-0 device
da0: 135.168MB/s transfers
da0: 69459MB (142253280 512 byte sectors: 255H 32S/T 17433C)
I'm not sure what other information might be helpful. I've been
googling for a while, and I haven't found anything that really leaps
out. If anyone has some clues I could use, I'd be really grateful,
even if it's only to say that this question is better suited to
freebsd-questions (it just seems a little too SCSI-specific).
Thanks,
David
More information about the freebsd-scsi
mailing list