Subject: Re: SCSI/disklabel questions
To: Michael Wolfson <mw34@cornell.edu>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-hp300
Date: 07/01/1998 15:28:43
On Mon, 29 Jun 1998 16:36:23 -0400 (EDT)
Michael Wolfson <mbw@xarph.ee.cornell.edu> wrote:
> Hey, allright! Thanks, that was indeed the case.
>
> Before commenting out dca*:
> dca1 at dio0 scode 7 ipl 3: no fifo
This was wrong, and it was a bug in the dio autoconfig code. I have fixed
it (a patch that should go into 1.3.x is appended below), and will commit
it shortly...
> After commenting out dca*:
> nhpib0 at dio0 scode 7 ipl 3: internal HP-IB
> hpibbus0 at nhpib0
> rd0 at hpibbus0 slave 2 punit 0hpibbus0: swait timeout
> hpibbus0: swait timeout
> hpibbus0: swait timeout
> : 7959B
>
> Just like Scott said, some timeouts, but nothing critical. Actually, I
> seem to recall the timeouts starting with NetBSD 1.2 on my 370 (no scsi).
> And I also seem to remember having problems (starting with 1.2) getting my
> 370 to recognize 7959B drives if 7937H drives were attached. But it's not
> an issue anymore, since I have meanwhile upgraded to a 425s with three
> 2213A drives (quite a bit smaller and quieter than four 7937H drives).
Eventually, I'd like to find out why the swait timeouts happen, but
they seem to only be during the probe... "hmm..."
> Now all we need to do is track down why, on 400 series, it thinks scode 7
> ipl 3 is a dca and precludes its use as nhpib.
Like I said, it's fixed... (at least this patch should do it... the problem
doesn't happen on my hardware, but given the patch, you could understand
why that might be the case :-)
Jason R. Thorpe thorpej@nas.nasa.gov
NASA Ames Research Center Home: +1 408 866 1912
NAS: M/S 258-5 Work: +1 650 604 0935
Moffett Field, CA 94035 Pager: +1 650 428 6939
Index: dio.c
===================================================================
RCS file: /cvsroot/src/sys/arch/hp300/dev/dio.c,v
retrieving revision 1.12
diff -c -r1.12 dio.c
*** dio.c 1998/01/12 18:30:49 1.12
--- dio.c 1998/07/01 22:36:07
***************
*** 144,150 ****
bzero(&da, sizeof(da));
da.da_bst = HP300_BUS_SPACE_DIO;
da.da_scode = scode;
! da.da_id = DIO_ID(va);
if (DIO_ISFRAMEBUFFER(da.da_id))
da.da_secid = DIO_SECID(va);
--- 144,157 ----
bzero(&da, sizeof(da));
da.da_bst = HP300_BUS_SPACE_DIO;
da.da_scode = scode;
! /*
! * Internal HP-IB doesn't always return a device ID,
! * so we rely on the sysflags.
! */
! if ((scode == 7) && internalhpib)
! da.da_id = DIO_DEVICE_ID_IHPIB;
! else
! da.da_id = DIO_ID(va);
if (DIO_ISFRAMEBUFFER(da.da_id))
da.da_secid = DIO_SECID(va);
Index: nhpib.c
===================================================================
RCS file: /cvsroot/src/sys/arch/hp300/dev/nhpib.c,v
retrieving revision 1.19
diff -c -r1.19 nhpib.c
*** nhpib.c 1998/01/12 18:31:04 1.19
--- nhpib.c 1998/07/01 22:36:16
***************
*** 164,177 ****
{
struct dio_attach_args *da = aux;
! /*
! * Internal HP-IB doesn't always return a device ID,
! * so we rely on the sysflags.
! */
! if (da->da_scode == 7 && internalhpib)
! return (1);
!
! if (da->da_id == DIO_DEVICE_ID_NHPIB)
return (1);
return (0);
--- 164,171 ----
{
struct dio_attach_args *da = aux;
! if (da->da_id == DIO_DEVICE_ID_NHPIB ||
! da->da_id == DIO_DEVICE_ID_IHPIB)
return (1);
return (0);