Subject: Re: Still no rz1...
To: Simon Burge <simonb@telstra.com.au>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: port-pmax
Date: 11/14/1997 02:31:29
On Fri, 14 Nov 1997 03:56:08 -0500 (EST)  "Jeffrey D. McMahill" wrote:

> I'm trying to upgrade my DS3100 from 1.2G to 1.3_ALPHA, but my
> root disk (rz1) is no longer recognized by the kernel.

[snip of good output]

> However, using the latest 1.3_ALPHA kernel (1392442 Nov 13 04:58 netbsd.aout),
> rz0 is still recognized, but rz1 no longer shows up.


On Fri, 14 Nov 1997 20:37:19 +1100,
 Simon Burge <simonb@telstra.com.au> replies:

>I booted up a 3100 earlier today with two RZ23L's from the ecoff version
>of the same kernel you used without any problems.  Unfortunately, I
>don't have any non-DEC disks to test this.

>Michael, anything you changed recently with the sii stuff that could have
>affected this?

Michael didnd't change the sii driver at all. He just added a line to
rz.c to fix a bogus non-initialization in the code I cut-and-pasted
together.  I somehow forgot to initialize the size field of the SCSI
mode-sense command.  (It worked okay on the asc because the length was
set to 10 by the preceding READ_CAPACITY command, and most drives were
apparently happy with the too-long command. The sii driver reported a
phase error and gave up. I remembered some sloppyness about the SCSI
command size which helped steer Michael right to the problem.)

Even if the get-geometry call fails, the driver should still configure
a drive, as long as the READ_CAPACITY call gives a nonzero size.  I'd
guess somehow this Hitachi drive is no longer answering the
READ_CAPACITY request. Odd, since I decided not to change that code,
from fear of breaking something.

Jeffrey, what happens if you powercycle the 3100 and the drive
completely? Does that help?  If not, I gues we'll have to look at
building a kernel with debugging compiled in.

Or can you compile and test a patched rz driver locally from your 1.2G
system?  If so, the first thing is to change rz.c to print out the
result of rz_getsize(). It's only called once, should be easy to
find....