Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Oct 1997 22:55:52 +0200
From:      Stefan Esser <se@FreeBSD.ORG>
To:        Philippe Regnauld <regnauld@deepo.prosa.dk>
Cc:        freebsd-scsi@FreeBSD.ORG
Subject:   Re: 2.2.2 anc NCR875 failures
Message-ID:  <19971008225552.49139@mi.uni-koeln.de>
In-Reply-To: <19971008113725.46245@deepo.prosa.dk>; from Philippe Regnauld on Wed, Oct 08, 1997 at 11:37:25AM %2B0200
References:  <19971008113725.46245@deepo.prosa.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1997-10-08 11:37 +0200, Philippe Regnauld <regnauld@deepo.prosa.dk> wrote:
> I just got (a week ago) a new machine to run a keyserver on...
> The configuration is
> 
> TX97/K6-180, NCR-875, 64MB RAM, 2 x 2.2 Atlas II UW disks.
> 
> I've had the following failure three times so far, I would
> guess during some fair amount of disk i/o: (written on paper,
> I'm trying to reread myself):
> 
> 
> ncr0: ERROR (81:0) 8af80 (10/1b) @24:00000000

The NCR is failing on one the first instructions, and 
the error code indicates that an illegal instruction
has been fetched. This was most probably caused by a 
jump to the immediate operand of an instruction:

/*--------------------------< START >-----------------------*/ {
	/*
	**	Claim to be still alive ...
	*/
	SCR_COPY (sizeof (((struct ncb *)0)->heartbeat)),
		KVAR (KVAR_TIME_TV_SEC),
		NADDR (heartbeat),
	/*
	**      Make data structure address invalid.
	**      clear SIGP.
	*/
	SCR_LOAD_REG (dsa, 0xff),
		0,
	SCR_FROM_REG (ctest2),
===>>>		0,

The NCR processor tried to execute that constant 0, and
it was not recognized as a valid instruction ...

Hmmm, the (10/1b) in the error message indicate, that
synchronous transfers have been negotiated (the offset
is set to 0x10 == 16 bytes), but the clock pre-scaler
(0x1b) is not set correctly for the 53c875, it appears!

But I don't understand, how you can possibly complete a 
single SCSI transfer, at twice the correct clock rate.

You did not tell, which version of the NCR driver (and
FreeBSD) that is. The pre-scaler may be correct, if you
are running the NCR driver as of FreeBSD-2.2.2 and if 
the 53c875 is revision 2 or newer.

> In the two other cases, I had some other message, every
> 30 sec. or so, like "retrying block = xxxyyy".  No crash,
> no reboot...

Hmmm, there is no such message anywhere in the NCR
driver.

> I had to go and manually reset the machine (off-site!) every
> time.

Sorry to hear that ...

> I tried reducing TAG number in ncrcontrol -- nada.

No, your problem is different from the QUEUE FULL 
situation others are suffering from. But that may
still hurt you, if you got revision LXY4 firmware
in your Atlas II drives ...

> Help ?

Please let me know, what version of FreeBSD and the
NCR driver you are using. Booting with "-v -v" will
enable extra verbose boot message, and there will be
more information on the NCR initalization. I'd like
to know those messages. 

I'm very sorry for the inconvenience. I'll try to help 
you get this problem solved as quickly as possible, but 
it does look like a hardware problem to me, currently.

But it may also be because of the timing loop used to
measure the NCR 875 clock frequency, which may fail on 
your particular hardware, for as of now unknown reasons.

Regards, STefan



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