Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 09 Nov 1996 21:21:20 -0800
From:      "Justin T. Gibbs" <gibbs@freefall.freebsd.org>
To:        "Vladimir P. Frolov" <pvp@fareast.rosprint.ru>
Cc:        scsi@freebsd.org
Subject:   Re: SCSI problem 
Message-ID:  <199611100521.VAA15271@freefall.freebsd.org>
In-Reply-To: Your message of "Sun, 10 Nov 1996 15:07:38 %2B1000." <3285631A.167EB0E7@fareast.rosprint.ru> 

next in thread | previous in thread | raw e-mail | index | archive | help
>Every night (after several hours of inactivity ) 
>there are some errors on my SCSI subsytem.
>
>
>environment:
>  FreeBSD 2.1.5
>  IWIll P55TU with Adaptec 7880 (2940 UW)
>    enable disconnection for HDD - no

Why are you turning off disconnection???  That will kill your performance.

>sd0(ahc0:0:0): timed out in command phase, SCSISIGI == 0x4

This is probably a termination problem.  Search for STPWEN in
i386/scsi/aic7xxx.c and remove the two occurances of this.  The
diff should look like what I include below.  I have a solution for
setting this dynamically that will be going into current tonight and
into stable before the 2.1.6 release, but first let me know if this
helps your problem.  It may also be some other problem in the driver
that has been fixed already, so if this doesn't work, I'll send you
the new driver ported back to 2.1.5R.

***************
*** 1761,1767 ****
                AHC_OUTB(ahc, SCSIID, ahc->our_id_b);
                scsi_conf = AHC_INB(ahc, SCSICONF + 1);
                AHC_OUTB(ahc, SXFRCTL1, (scsi_conf & (ENSPCHK|STIMESEL))
!                                       | ENSTIMER|ACTNEGEN|STPWEN);
                AHC_OUTB(ahc, SIMODE1, ENSELTIMO|ENSCSIRST|ENSCSIPERR);
                if (ahc->type & AHC_ULTRA)
                        AHC_OUTB(ahc, SXFRCTL0, DFON|SPIOEN|ULTRAEN);
--- 1761,1767 ----
                AHC_OUTB(ahc, SCSIID, ahc->our_id_b);
                scsi_conf = AHC_INB(ahc, SCSICONF + 1);
                AHC_OUTB(ahc, SXFRCTL1, (scsi_conf & (ENSPCHK|STIMESEL))
!                                       | ENSTIMER|ACTNEGEN);
                AHC_OUTB(ahc, SIMODE1, ENSELTIMO|ENSCSIRST|ENSCSIPERR);
                if (ahc->type & AHC_ULTRA)
                        AHC_OUTB(ahc, SXFRCTL0, DFON|SPIOEN|ULTRAEN);
***************
*** 1788,1794 ****
        AHC_OUTB(ahc, SCSIID, ahc->our_id);
        scsi_conf = AHC_INB(ahc, SCSICONF);
        AHC_OUTB(ahc, SXFRCTL1, (scsi_conf & (ENSPCHK|STIMESEL))
!                               | ENSTIMER|ACTNEGEN|STPWEN);
        AHC_OUTB(ahc, SIMODE1, ENSELTIMO|ENSCSIRST|ENSCSIPERR);
        if (ahc->type & AHC_ULTRA)
                AHC_OUTB(ahc, SXFRCTL0, DFON|SPIOEN|ULTRAEN);
--- 1788,1794 ----
        AHC_OUTB(ahc, SCSIID, ahc->our_id);
        scsi_conf = AHC_INB(ahc, SCSICONF);
        AHC_OUTB(ahc, SXFRCTL1, (scsi_conf & (ENSPCHK|STIMESEL))
!                               | ENSTIMER|ACTNEGEN);
        AHC_OUTB(ahc, SIMODE1, ENSELTIMO|ENSCSIRST|ENSCSIPERR);
        if (ahc->type & AHC_ULTRA)
                AHC_OUTB(ahc, SXFRCTL0, DFON|SPIOEN|ULTRAEN);

--
Justin T. Gibbs
===========================================
  FreeBSD: Turning PCs into workstations
===========================================



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611100521.VAA15271>