Re: Problems with BSD ncr53c800 driver

Gerard Roudier (groudier@club-internet.fr)
Tue, 16 Jul 1996 00:58:15 +0000 (GMT)


Hello Michael,

A similar problem has been reported to me twice.
It happens in the part of the driver which is identical in the 3 versions
of the driver (FreeBSD, NetBSD, Linux).
The FreeBSD version differs from the others and here is the
corresponding patch for Linux.

----------------------------------------------------------------------
--- /tmp/linux/drivers/scsi/ncr53c8xx.c Sat Jul 13 12:04:12 1996
+++ linux/drivers/scsi/ncr53c8xx.c Mon Jul 15 23:47:33 1996
@@ -5874,7 +5874,7 @@
if (cp != np->header.cp) {
printf ("%s: SCSI phase error fixup: CCB address mismatch (0x%08lx != 0x%08lx)\n",
ncr_name (np), (u_long) cp, (u_long) np->header.cp);
- return;
+/* return; */
}

/*
-------------------------------------------------------------------------

I am dont sure that it will correct the problem (seems to be a bypass),
however we will get more informations in the syslog.
I send your problem description to Stephan Esser, who is
the maintainer (and one of the authors) of the FreeBSD (original) version
of the driver. The above patch let me think that it is a known problem.

This "mismatch" is due to a phase error during MSGOUT phase, since the
processed CCB is copied to the host control block (np->header.cp) after
MSGOUT.
Something goes wrong with scsi signals, but unfortunately we donnot have
more informations, except that we can think that it is related to the tape
behaviour.

Gerard.

(I just remove some lines of your syslog for the bandwitch)

On Sat, 13 Jul 1996, Michael Meissner wrote:

> I have a Pentium (90 Mhz, 48 meg memory, 1 1 gig EIDE disk, 1 2 gig
> Seagate Barracuda, 1 Toshiba 4x CDROM, 1 DDS-1 Archive tape drive,
> 3C509 ethernet), that has been happily running the standard NCR scsi
> driver (the 53c7xx,8xx driver) since I got the machine setup in
> January of 1995, through various kernels including the 2.0 kernel. I
> decided to take the BSD driver (53c8xx) for a spin when 2.0.6 came
> out. I started a long compile, and went home. My nightly gzip + dump
> all disks to DAT and rewind/verify the dump kicked in while the build
> was going on, and I got the following errors:
>
> Jul 12 12:45:35 tiktok kernel: ncr53c8xx : at PCI bus 0, device 6, function 0
> Jul 12 12:45:35 tiktok kernel: ncr_attach: unit=0 chip=810 base=ffbffc00, io_port=fc00, irq=9
> Jul 12 12:45:35 tiktok kernel: ncr53c810-0: using memory mapped IO at virtual address 0x3839c00
> Jul 12 12:45:35 tiktok kernel: ncr53c810-0: requesting shared irq 9 (dev_id=0x1c068)
> Jul 12 12:45:35 tiktok kernel: ncr53c810-0: restart (scsi reset).
> Jul 12 12:45:35 tiktok kernel: scsi0 : ncr53c8xx (rel 1.12a)
> Jul 12 12:45:35 tiktok kernel: scsi : 1 host.
> Jul 12 12:45:35 tiktok kernel: ncr53c810-0-<target 0, lun 0>: using tagged command queueing, up to 4 cmds/lun
> Jul 12 12:45:35 tiktok kernel: Vendor: SEAGATE Model: ST12550N Rev: 0014
> Jul 12 12:45:35 tiktok kernel: Type: Direct-Access ANSI SCSI revision: 02
> Jul 12 12:45:35 tiktok kernel: Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
> Jul 12 12:45:35 tiktok kernel: Vendor: TOSHIBA Model: CD-ROM XM-3501TA Rev: 2694
> Jul 12 12:45:35 tiktok kernel: Type: CD-ROM ANSI SCSI revision: 02
> Jul 12 12:45:35 tiktok kernel: Detected scsi CD-ROM sr0 at scsi0, channel 0, id 1, lun 0
> Jul 12 12:45:35 tiktok kernel: Vendor: ARCHIVE Model: Python 25588-XXX Rev: 2.96
> Jul 12 12:45:35 tiktok kernel: Type: Sequential-Access ANSI SCSI revision: 02
> Jul 12 12:45:35 tiktok kernel: Detected scsi tape st0 at scsi0, channel 0, id 2, lun 0
> Jul 12 12:45:35 tiktok kernel: scsi : detected 1 SCSI tape 1 SCSI cdrom 1 SCSI disk total.
> Jul 12 12:45:35 tiktok kernel: ncr53c810-0-<target 0, lun 0>: FAST SCSI-2 100ns (10 Mb/sec) offset 8.
> Jul 12 12:45:35 tiktok kernel: SCSI device sda: hdwr sector= 512 bytes. Sectors= 4178874 [2040 MB] [2.0 GB]
>
> ...
>
> Jul 13 03:43:05 tiktok kernel: ncr53c810-0: SCSI phase error fixup: CCB address mismatch (0x0001a810 != 0x00fe8018)
> Jul 13 03:43:19 tiktok kernel: ncr53c810-0: restart (ncr dead ?).
> Jul 13 03:43:20 tiktok kernel: ncr53c810-0: SCSI phase error fixup: CCB address mismatch (0x0001a810 != 0x00019810)
> Jul 13 03:43:34 tiktok kernel: ncr53c810-0: restart (ncr dead ?).
> Jul 13 03:43:34 tiktok kernel: st0: Error 2603007f.
> Jul 13 03:43:34 tiktok kernel: ncr53c810-0-<target 0, lun 0>: FAST SCSI-2 100ns (10 Mb/sec) offset 8.
> Jul 13 03:43:34 tiktok kernel: ncr53c810-0: SCSI phase error fixup: CCB address mismatch (0x0001a810 != 0x00fe8810)
> Jul 13 03:43:49 tiktok kernel: scsi : aborting command due to timeout : pid 289914, scsi0, channel 0, id 0, lun 0 Write (6) 04 7d 46 48 00

[ some lines removed ]

>
> Here is the .config file:

[ only keep the scsi config options ]

> #
> # SCSI support
> #
> CONFIG_SCSI=y
>
> #
> # SCSI support type (disk, tape, CD-ROM)
> #
> CONFIG_BLK_DEV_SD=y
> CONFIG_CHR_DEV_ST=y
> CONFIG_BLK_DEV_SR=y
> CONFIG_CHR_DEV_SG=y
>
> #
> # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
> #
> # CONFIG_SCSI_MULTI_LUN is not set
> CONFIG_SCSI_CONSTANTS=y
>
> #
> # SCSI low-level drivers
> #
> # CONFIG_SCSI_7000FASST is not set
> # CONFIG_SCSI_AHA152X is not set
> # CONFIG_SCSI_AHA1542 is not set
> # CONFIG_SCSI_AHA1740 is not set
> # CONFIG_SCSI_AIC7XXX is not set
> # CONFIG_SCSI_ADVANSYS is not set
> # CONFIG_SCSI_IN2000 is not set
> # CONFIG_SCSI_AM53C974 is not set
> # CONFIG_SCSI_BUSLOGIC is not set
> # CONFIG_SCSI_DTC3280 is not set
> # CONFIG_SCSI_EATA is not set
> # CONFIG_SCSI_EATA_DMA is not set
> # CONFIG_SCSI_EATA_PIO is not set
> # CONFIG_SCSI_FUTURE_DOMAIN is not set
> # CONFIG_SCSI_GENERIC_NCR5380 is not set
> # CONFIG_SCSI_NCR53C406A is not set
> # CONFIG_SCSI_NCR53C7xx is not set
> CONFIG_SCSI_NCR53C8XX=y
> CONFIG_SCSI_NCR53C8XX_TAGGED_QUEUE=y
> # CONFIG_SCSI_NCR53C8XX_IOMAPPED is not set
> # CONFIG_SCSI_NCR53C8XX_NO_DISCONNECT is not set
> # CONFIG_SCSI_NCR53C8XX_FORCE_ASYNCHRONOUS is not set
> # CONFIG_SCSI_NCR53C8XX_FORCE_SYNC_NEGO is not set
> # CONFIG_SCSI_NCR53C8XX_DISABLE_MPARITY_CHECK is not set
> # CONFIG_SCSI_NCR53C8XX_DISABLE_PARITY_CHECK is not set
> # CONFIG_SCSI_PPA is not set
> # CONFIG_SCSI_PAS16 is not set
> # CONFIG_SCSI_QLOGIC_FAS is not set
> # CONFIG_SCSI_QLOGIC_ISP is not set
> # CONFIG_SCSI_SEAGATE is not set
> # CONFIG_SCSI_T128 is not set
> # CONFIG_SCSI_U14_34F is not set
> # CONFIG_SCSI_ULTRASTOR is not set
>

>
> --
> Michael Meissner, Cygnus Support (East Coast)
> Suite 105, 48 Grove Street, Somerville, MA 02144, USA
> meissner@cygnus.com, 617-629-3016 (office), 617-629-3010 (fax)
>
>
>