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;