"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