Subject: Re: eisa device ADP7880 not configured; Intel fast ethernet; other stuff
To: John Kohl <jtk@kolvir.arlington-heights.ma.us>
From: Bernd Ernesti <netbsd@arresum.inka.de>
List: port-i386
Date: 04/29/1997 23:42:16
On Tue Apr 29 23:11:29 1997, John Kohl wrote:
>
> I'm fiddling with a 4-way pentium pro dell box at work, with a boot
> floppy, just to see what hardware it has. It has a dual-channel (I
> think, either that or two devices) Adaptec 7880 Ultra/Ultra Wide
> controller with BIOS enabled.
>
> It doesn't configure, saying something like
> eisa0: device ADP7880 in slot 14 not configured
Build a kernel with 'options EISAVERBOSE' to get the eisa id.
Then change src/sys/dev/eisa/ahc_eisa.c
> I would expect that the ahc driver should probably work correctly for
> this thing, but there might be nuances to proper configuration. Can any
> of you lend hints that I could try?
This is a diff, but I think it needs some work.
Bernd
Note, the value for EISA_DEVICE_ID_ADAPTEC_AIC7880 is only a guess.
Please get the right id with EISAVERBOSE.
*** ahc_eisa.c-orig Sat Mar 15 10:37:59 1997
--- ahc_eisa.c-new Tue Apr 29 23:33:55 1997
***************
*** 64,69 ****
--- 64,70 ----
#include <dev/aic7xxx/aic7xxx_reg.h>
#define EISA_DEVICE_ID_ADAPTEC_AIC7770 0x04907770
+ #define EISA_DEVICE_ID_ADAPTEC_AIC7880 0x04907880 /* XXXX ? */
#define EISA_DEVICE_ID_ADAPTEC_274x 0x04907771
#define EISA_DEVICE_ID_ADAPTEC_284xB 0x04907756 /* BIOS enabled */
#define EISA_DEVICE_ID_ADAPTEC_284x 0x04907757 /* BIOS disabled*/
***************
*** 264,270 ****
/* must match one of our known ID strings */
if (strcmp(ea->ea_idstring, "ADP7770") &&
! strcmp(ea->ea_idstring, "ADP7771")
#if 0
&& strcmp(ea->ea_idstring, "ADP7756") /* not EISA, but VL */
&& strcmp(ea->ea_idstring, "ADP7757") /* not EISA, but VL */
--- 265,272 ----
/* must match one of our known ID strings */
if (strcmp(ea->ea_idstring, "ADP7770") &&
! strcmp(ea->ea_idstring, "ADP7771") &&
! strcmp(ea->ea_idstring, "ADP7880")
#if 0
&& strcmp(ea->ea_idstring, "ADP7756") /* not EISA, but VL */
&& strcmp(ea->ea_idstring, "ADP7757") /* not EISA, but VL */
***************
*** 320,325 ****
--- 322,330 ----
case EISA_DEVICE_ID_ADAPTEC_284x:
type = AHC_284;
break;
+ case EISA_DEVICE_ID_ADAPTEC_AIC7880:
+ type = AHC_AIC7880;
+ break;
default:
printf("aic7770_attach: Unknown device type!\n");
return -1;
***************
*** 369,374 ****
--- 374,382 ----
} else if (strcmp(ea->ea_idstring, "ADP7771") == 0) {
model = EISA_PRODUCT_ADP7771;
type = AHC_274;
+ } else if (strcmp(ea->ea_idstring, "ADP7880") == 0) {
+ model = EISA_PRODUCT_ADP7880;
+ type = AHC_AIC7880;
#if 0
} else if (strcmp(ea->ea_idstring, "ADP7756") == 0) {
model = EISA_PRODUCT_ADP7756;