ahd driver & PCI-X (64bit) Adaptec 39320D Ultra320 SCSI adapter

Sander Smeenk ssm+fbsd-scsi at freshdot.net
Fri Nov 28 02:08:29 PST 2003


Hi,

I'm having difficulties with my dual P4 server which has an Adaptec
39320D U320 SCSI adapter connected to 64bit PCI (PCI-X). The driver
succeeds to detect the card:

| ahd0: <Adaptec 39320D Ultra320 SCSI adapter> port 0x7000-0x70ff,0x7400-0x74ff mem 0xfc200000-0xfc201fff irq 10 at device 1.0 on pci3
| aic7902: Ultra320 Wide Channel A, SCSI Id=7, PCI-X 101-133Mhz, 512 SCBs
| ahd1: <Adaptec 39320D Ultra320 SCSI adapter> port 0x7800-0x78ff,0x7c00-0x7cff mem 0xfc202000-0xfc203fff irq 10 at device 1.1 on pci3
| aic7902: Ultra320 Wide Channel B, SCSI Id=7, PCI-X 101-133Mhz, 512 SCBs

But later on in the boot process, it always 'fails' like this:

| ahd1: PCI error Interrupt
| >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
| ahd1: Dumping Card State at program address 0x94 Mode 0x22
| Card was paused
| HS_MAILBOX[0x0] INTCTL[0x0] SEQINTSTAT[0x0] SAVED_MODE[0x0] 
| DFFSTAT[0x30]:(CURRFIFO_0|FIFO0FREE|FIFO1FREE) SCSISIGI[0x0]:(P_DATAOUT) 
| SCSIPHASE[0x0] SCSIBUS[0x0] LASTPHASE[0x1]:(P_DATAOUT|P_BUSFREE) 
| SCSISEQ0[0x0] SCSISEQ1[0x12]:(ENAUTOATNP|ENRSELI) 
| SEQCTL0[0x10]:(FASTMODE) SEQINTCTL[0x80]:(INTVEC1DSL) 
| SEQ_FLAGS[0x0] SEQ_FLAGS2[0x0] SSTAT0[0x0] SSTAT1[0x8]:(BUSFREE) 
| SSTAT2[0x0] SSTAT3[0x0] PERRDIAG[0x0] SIMODE1[0xa4]:(ENSCSIPERR|ENSCSIRST|ENSELTIMO) 
| LQISTAT0[0x0] LQISTAT1[0x0] LQISTAT2[0x0] LQOSTAT0[0x0] 
| LQOSTAT1[0x0] LQOSTAT2[0x0] 
| 
| SCB Count = 16 CMDS_PENDING = 0 LASTSCB 0xffff CURRSCB 0x0 NEXTSCB 0x0
| qinstart = 0 qinfifonext = 0
| QINFIFO:
| WAITING_TID_QUEUES:
| Pending list:
| Total 0
| Kernel Free SCB list: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 
| Sequencer Complete DMA-inprog list: 
| Sequencer Complete list: 
| Sequencer DMA-Up and Complete list: 
| 
| ahd1: FIFO0 Free, LONGJMP == 0x80ff, SCB 0x0
| SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS) 
| SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL) 
| SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0] 
| SOFFCNT[0x0] MDFFSTAT[0x5]:(FIFOFREE|DLZERO) SHADDR = 0x00, SHCNT = 0x0 
| HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x10]:(SG_CACHE_AVAIL) 
| ahd1: FIFO1 Free, LONGJMP == 0x80ff, SCB 0x0
| SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS) 
| SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL) 
| SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0] 
| SOFFCNT[0x0] MDFFSTAT[0x5]:(FIFOFREE|DLZERO) SHADDR = 0x00, SHCNT = 0x0 
| HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x10]:(SG_CACHE_AVAIL) 
| LQIN: 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 
| ahd1: LQISTATE = 0x0, LQOSTATE = 0x0, OPTIONMODE = 0x42
| ahd1: OS_SPACE_CNT = 0x20 MAXCMDCNT = 0x0
| 
| SIMODE0[0x6c]:(ENOVERRUN|ENIOERR|ENSELDI|ENSELDO) 
| CCSCBCTL[0x0] 
| ahd1: REG0 == 0x3533, SINDEX = 0x33, DINDEX = 0x0
| ahd1: SCBPTR == 0x0, SCB_NEXT == 0xff00, SCB_NEXT2 == 0x0
| CDB 0 0 0 0 0 0
| STACK: 0x1 0x8 0x7 0x6 0x5 0x4 0x3 0x29
| >>>>>>>>>>>>>>>>>
| ahd1: Signaled Target Abort

At first I thought this was only at boot, because during normal usage I
couldn't find anything wrong with the controller or disks. But
eventually it started acting up. I tried googling for answers, searched
for 'PCI error interrupt', 'Card was paused' and many more combinations,
but I failed to find any useful information.

Just people who (have?) experience(d?) the same problems, with the same
ahd driver.

Can someone please shed a light on this matter? Things I could try?
I'm lost. I really don't know what to do about this. :|

Sander.
-- 
| If you can't convince them, confuse them...
| 1024D/08CEC94D - 34B3 3314 B146 E13C 70C8  9BDB D463 7E41 08CE C94D


More information about the freebsd-scsi mailing list