9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] 53c895 failed to INIT
@ 2000-07-28 10:08 arisawa
  0 siblings, 0 replies; 6+ messages in thread
From: arisawa @ 2000-07-28 10:08 UTC (permalink / raw)
  To: 9fans

Hello,

We can find the line:
#define SYM_895_DID	0x000c
in scsincr53c8xx.c. However it seems this is not used
anywhere.

We can also find following lines bellow the line.

{ SYM_875_DID,   0x01, "SYM53C875r1",	Burst128, 16, Prefetch|LocalRAM|BigFifo|Differential|Wide|Ultra },
{ SYM_875_DID,   0xff, "SYM53C875",	Burst128, 16, Prefetch|LocalRAM|BigFifo|Differential|Wide|Ultra|ClockDouble },
{ SYM_885_DID,   0xff, "SYM53C885",	Burst128, 16, Prefetch|LocalRAM|BigFifo|Wide|Ultra|ClockDouble },
{ SYM_896_DID,   0xff, "SYM53C896",	Burst128, 16, Prefetch|LocalRAM|BigFifo|Wide|Ultra|ClockDouble },

SYS53C895 does not apear here.
Therefore init fails.

Does it mean SYS53C895 is not supported?

I added entry:
{ SYM_895_DID,   0xff, "SYM53C895",	Burst128, 16, Prefetch|LocalRAM|BigFifo|Wide|Ultra|ClockDouble },
and ran 9pcfs (based on emelie), then I reached "config:" message without
error message.

now I am formatting....
I will report the result.

Kenji Arisawa
E-mail: arisawa@aichi-u.ac.jp


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9fans] 53c895 failed to INIT
@ 2000-07-28 10:32 nigel
  0 siblings, 0 replies; 6+ messages in thread
From: nigel @ 2000-07-28 10:32 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 605 bytes --]

There is a problem with taking this approach, as I have already noted.

Time for some more detail. 

The 895 is capable of Ultra2 transfers. To do this it has a 4x clock multiplier,
not a 2x clock multiplier. Your settings pretend the 895 only has a 2x multiplier.

If you use these settings, then when sending data
to the disk, it will be sent 2x faster the disk expects. This may be OK, because
disks are often over specified, but it is risky for a fileserver.

If you wait a short time, I will post a modified version of scsincr53c8xx.c which
is better for you. Not perfect, but better.


[-- Attachment #2: Type: message/rfc822, Size: 2619 bytes --]

From: arisawa@ar.aichi-u.ac.jp
To: 9fans@cse.psu.edu
Subject: Re: [9fans] 53c895 failed to INIT
Date: Fri, 28 Jul 2000 06:08:07 -0400 (EDT)
Message-ID: <200007281008.GAA12337@cse.psu.edu>

Hello,

We can find the line:
#define SYM_895_DID	0x000c
in scsincr53c8xx.c. However it seems this is not used
anywhere.

We can also find following lines bellow the line.

{ SYM_875_DID,   0x01, "SYM53C875r1",	Burst128, 16, Prefetch|LocalRAM|BigFifo|Differential|Wide|Ultra },
{ SYM_875_DID,   0xff, "SYM53C875",	Burst128, 16, Prefetch|LocalRAM|BigFifo|Differential|Wide|Ultra|ClockDouble },
{ SYM_885_DID,   0xff, "SYM53C885",	Burst128, 16, Prefetch|LocalRAM|BigFifo|Wide|Ultra|ClockDouble },
{ SYM_896_DID,   0xff, "SYM53C896",	Burst128, 16, Prefetch|LocalRAM|BigFifo|Wide|Ultra|ClockDouble },

SYS53C895 does not apear here.
Therefore init fails.

Does it mean SYS53C895 is not supported?

I added entry:
{ SYM_895_DID,   0xff, "SYM53C895",	Burst128, 16, Prefetch|LocalRAM|BigFifo|Wide|Ultra|ClockDouble },
and ran 9pcfs (based on emelie), then I reached "config:" message without
error message.

now I am formatting....
I will report the result.

Kenji Arisawa
E-mail: arisawa@aichi-u.ac.jp

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9fans] 53c895 failed to INIT
@ 2000-07-28  8:36 nigel
  0 siblings, 0 replies; 6+ messages in thread
From: nigel @ 2000-07-28  8:36 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 321 bytes --]

Oh dear. I read the code too early in the morning.

It appears the table entry is missing for 895.

But things are worse. The code is too old for an 895.

We need to transfer /sys/src/9/pc/sd53c8xx.c to
/sys/src/fs/*/scsincr53c8xx.c, and also the microcode.

I run my fileserver on an 875 which is OK (just).


[-- Attachment #2: Type: message/rfc822, Size: 4356 bytes --]

From: arisawa@ar.aichi-u.ac.jp
To: 9fans@cse.psu.edu
Subject: Re: [9fans] 53c895 failed to INIT
Date: Fri, 28 Jul 2000 01:21:51 -0400 (EDT)
Message-ID: <200007280521.BAA08647@cse.psu.edu>

Hello,

nigel@9fs.org said:
>#define KPRINT if(1)print
>#define IPRINT if(1)print
>#define DEBUG(n) ((n) <= 2)

and jmk@plan9.bell-labs.com:
>Which of the fileserver kernels are you using (plan9pc, emelie, etc.)?
>They were all slightly different in the original release but will all
>be the same in the update planned this weekend.
>
>What do you have in plan9.ini?

Thanks.

My 9pcfs is based on emelie and my plan9.ini is as follows.
----- plan9.ini ----
*nomp=1
bootfile=fd0!dos!9pcfs
distname=plan9
scsi0=type=53c8xx
ether0=type=elnk3
monitor=cga
mouseport=ps2
nvr=fd!0!plan9.nvr
sysname=gaea
--------------------

Manual says known scsi type is mylex and 53c8xx.
Not ncr53c8xx.
However you will find in fs/emelie/scsi.c:

static struct {
	char*	type;
	Scsiio	(*reset)(int, ISAConf*);
} scsictlr[] = {
	{ "aha1542", buslogic, },
	{ "buslogic", buslogic, },
	{ "ncr53c8xx", ncr53c8xxreset, },
	{ 0, },
};

So I have add a line this time
	{ "53c8xx", ncr53c8xxreset, },
so that 9pcfs can go farther to the line including (*scsictlr[n].reset)(ctlrno, ctlr))
 in fs/emelie/scsi.c:
		for(n = 0; scsictlr[n].type; n++) {
			if(strcmp(scsictlr[n].type, ctlr->type))
				continue;
			if((ctlr->io = (*scsictlr[n].reset)(ctlrno, ctlr)) == 0)
				break;

However problem has not fixed; 9pcfs shows the same message as before:
scsi#0: 53c895: port 0 Failed to INIT controller
So I investigated farther.

In the function ncr53c8xxreset() in fs/emelie/scsincr53c8xx.c,
9pcfs can proceed to init(ctlr, isa, differential).
So I added the debugging code in init function as follows:
	rid = pcicfgr8(pcidev, PciRID);
	for (var = 0; var < MAXVAR; var++) {
print("scsincr53c8xx.c: init():  did=%d,%d rid=%d, %d\n",
pcidev->did,variant[var].did,rid,variant[var].maxrid);
		if (pcidev->did == variant[var].did && rid <= variant[var].maxrid)
			break;
	}
	if (var >= MAXVAR)
		return 0;
	print("scsi#%d: %s rev. 0x%.2x intr=%d command=%.4x\n",
		ctlr->ctlrno, variant[var].name, rid,
		pcidev->intl, pcicfgr16(pcidev, PciPCR));

The result is:
scsincr53c8xx.c: init():  did=12,1 rid=1,15
scsincr53c8xx.c: init():  did=12,1 rid=1,31
scsincr53c8xx.c: init():  did=12,1 rid=1,255
scsincr53c8xx.c: init():  did=12,5 rid=1,255
scsincr53c8xx.c: init():  did=12,4 rid=1,255
scsincr53c8xx.c: init():  did=12,3 rid=1,15
scsincr53c8xx.c: init():  did=12,3 rid=1,255
scsincr53c8xx.c: init():  did=12,6 rid=1,15
scsincr53c8xx.c: init():  did=12,6 rid=1,255
scsincr53c8xx.c: init():  did=12,15 rid=1,1
scsincr53c8xx.c: init():  did=12,15 rid=1,255
scsincr53c8xx.c: init():  did=12,13 rid=1,255
scsincr53c8xx.c: init():  did=12,11 rid=1,255

Thanks again.

Kenji Arisawa
E-mail: arisawa@aichi-u.ac.jp

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9fans] 53c895 failed to INIT
@ 2000-07-28  5:21 arisawa
  0 siblings, 0 replies; 6+ messages in thread
From: arisawa @ 2000-07-28  5:21 UTC (permalink / raw)
  To: 9fans

Hello,

nigel@9fs.org said:
>#define KPRINT if(1)print
>#define IPRINT if(1)print
>#define DEBUG(n) ((n) <= 2)

and jmk@plan9.bell-labs.com:
>Which of the fileserver kernels are you using (plan9pc, emelie, etc.)?
>They were all slightly different in the original release but will all
>be the same in the update planned this weekend.
>
>What do you have in plan9.ini?

Thanks.

My 9pcfs is based on emelie and my plan9.ini is as follows.
----- plan9.ini ----
*nomp=1
bootfile=fd0!dos!9pcfs
distname=plan9
scsi0=type=53c8xx
ether0=type=elnk3
monitor=cga
mouseport=ps2
nvr=fd!0!plan9.nvr
sysname=gaea
--------------------

Manual says known scsi type is mylex and 53c8xx.
Not ncr53c8xx.
However you will find in fs/emelie/scsi.c:

static struct {
	char*	type;
	Scsiio	(*reset)(int, ISAConf*);
} scsictlr[] = {
	{ "aha1542", buslogic, },
	{ "buslogic", buslogic, },
	{ "ncr53c8xx", ncr53c8xxreset, },
	{ 0, },
};

So I have add a line this time
	{ "53c8xx", ncr53c8xxreset, },
so that 9pcfs can go farther to the line including (*scsictlr[n].reset)(ctlrno, ctlr))
 in fs/emelie/scsi.c:
		for(n = 0; scsictlr[n].type; n++) {
			if(strcmp(scsictlr[n].type, ctlr->type))
				continue;
			if((ctlr->io = (*scsictlr[n].reset)(ctlrno, ctlr)) == 0)
				break;

However problem has not fixed; 9pcfs shows the same message as before:
scsi#0: 53c895: port 0 Failed to INIT controller
So I investigated farther.

In the function ncr53c8xxreset() in fs/emelie/scsincr53c8xx.c,
9pcfs can proceed to init(ctlr, isa, differential).
So I added the debugging code in init function as follows:
	rid = pcicfgr8(pcidev, PciRID);
	for (var = 0; var < MAXVAR; var++) {
print("scsincr53c8xx.c: init():  did=%d,%d rid=%d, %d\n",
pcidev->did,variant[var].did,rid,variant[var].maxrid);
		if (pcidev->did == variant[var].did && rid <= variant[var].maxrid)
			break;
	}
	if (var >= MAXVAR)
		return 0;
	print("scsi#%d: %s rev. 0x%.2x intr=%d command=%.4x\n",
		ctlr->ctlrno, variant[var].name, rid,
		pcidev->intl, pcicfgr16(pcidev, PciPCR));

The result is:
scsincr53c8xx.c: init():  did=12,1 rid=1,15
scsincr53c8xx.c: init():  did=12,1 rid=1,31
scsincr53c8xx.c: init():  did=12,1 rid=1,255
scsincr53c8xx.c: init():  did=12,5 rid=1,255
scsincr53c8xx.c: init():  did=12,4 rid=1,255
scsincr53c8xx.c: init():  did=12,3 rid=1,15
scsincr53c8xx.c: init():  did=12,3 rid=1,255
scsincr53c8xx.c: init():  did=12,6 rid=1,15
scsincr53c8xx.c: init():  did=12,6 rid=1,255
scsincr53c8xx.c: init():  did=12,15 rid=1,1
scsincr53c8xx.c: init():  did=12,15 rid=1,255
scsincr53c8xx.c: init():  did=12,13 rid=1,255
scsincr53c8xx.c: init():  did=12,11 rid=1,255

Thanks again.

Kenji Arisawa
E-mail: arisawa@aichi-u.ac.jp


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9fans] 53c895 failed to INIT
@ 2000-07-27  6:24 nigel
  0 siblings, 0 replies; 6+ messages in thread
From: nigel @ 2000-07-27  6:24 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 679 bytes --]

Interesting. Well, the fileserver code is rather behind the cpu code
for this controller. Perhaps jmk's rumoured fileserver hacks to allow
driver sharing will help here.

In the meantime, you may enable diagnostics in scsincr53c8xx.c:

/*******************************/
/* Fileserver specific defines */
/*******************************/
#ifdef FS
#define xalloc(n) ialloc(n, 1)
#define KADDR(a) ((void*)((ulong)(a)|KZERO))

#define KPRINT if(1)print
#define IPRINT if(1)print
#define DEBUG(n) ((n) <= 2)
#define IFLUSH()
#endif

This will produce a lot of output. Perhaps it should be caught
using a uart console....

It will certainly give more clues.


[-- Attachment #2: Type: message/rfc822, Size: 2372 bytes --]

From: arisawa@ar.aichi-u.ac.jp
To: 9fans@cse.psu.edu
Subject: [9fans] 53c895 failed to INIT
Date: Thu, 27 Jul 2000 02:01:36 -0400 (EDT)
Message-ID: <200007270601.CAA09518@cse.psu.edu>

Hello,

I am installing 9fs. The target is as bellow:
MB: ASUS SP97-V
cpu: K6/233
ether: 3C905b
scsi card: SYM53C895
scsi #0: IBM DNES-309170LV (9GB Ultra2 SCSI)

This mother board lead me "config:" message of 9pcfs.
However SCSI is something weird.
The messages are as follows:

ether#0: elnk3: port 0xB800 irq=9: ....
sd53c8xx: SYM53C895 rev. 0x01 intr+10 command=2000017
found 9PCFS ...
...
scsi#0: 53c895: port 0 Failed to INIT controller
...
config: ...
...
config: ream main
config: end
sysinit
devinit w0
stack trace of 1
1048 stack out of 4000
...
panic: scsiio: device : w0


I could format the disk using scsi configuration menu
that is shown before FD is accessed.

Any ideas are welcome.

Kenji Arisawa
E-mail: arisawa@aichi-u.ac.jp

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [9fans] 53c895 failed to INIT
@ 2000-07-27  6:01 arisawa
  0 siblings, 0 replies; 6+ messages in thread
From: arisawa @ 2000-07-27  6:01 UTC (permalink / raw)
  To: 9fans

Hello,

I am installing 9fs. The target is as bellow:
MB: ASUS SP97-V
cpu: K6/233
ether: 3C905b
scsi card: SYM53C895
scsi #0: IBM DNES-309170LV (9GB Ultra2 SCSI)

This mother board lead me "config:" message of 9pcfs.
However SCSI is something weird.
The messages are as follows:

ether#0: elnk3: port 0xB800 irq=9: ....
sd53c8xx: SYM53C895 rev. 0x01 intr+10 command=2000017
found 9PCFS ...
...
scsi#0: 53c895: port 0 Failed to INIT controller
...
config: ...
...
config: ream main
config: end
sysinit
devinit w0
stack trace of 1
1048 stack out of 4000
...
panic: scsiio: device : w0


I could format the disk using scsi configuration menu
that is shown before FD is accessed.

Any ideas are welcome.

Kenji Arisawa
E-mail: arisawa@aichi-u.ac.jp


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2000-07-28 10:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-07-28 10:08 [9fans] 53c895 failed to INIT arisawa
  -- strict thread matches above, loose matches on Subject: below --
2000-07-28 10:32 nigel
2000-07-28  8:36 nigel
2000-07-28  5:21 arisawa
2000-07-27  6:24 nigel
2000-07-27  6:01 arisawa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).