Subject: Trouble with ie1 driver
To: None <port-i386@NetBSD.ORG>
From: Joel Reicher <void@yoyo.cc.monash.edu.au>
List: port-i386
Date: 03/22/1997 02:43:35
I have an Intel EtherExpress in my machine that I know works, as I have 
tested it under Windows 95 (*ducks* I only use it for games!). On boot up 
the kernel doesn't acknowledge it, and I've traced the problem to the 
piece of code below. It is 1.2 kernel source.

The problem is that with the value my board returns, i becomes 1 for 
which there is no case and the default case exits out of the driver init.

Has anybody seen this before? The value is _consistently_ 1.

Also, I am not on this list, not being able to cope with the volume, so 
could you please reply back to

void@yoyo.cc.monash.edu.au

Many TIA,

	- Joel

/usr/src/sys/dev/isa/if_ie.c, line 645:

        if ((ia->ia_maddr == MADDRUNK) || (ia->ia_msize == 0)) {
                i = (ee16_read_eeprom(sc, 6) & 0x00ff ) >> 3;
                switch(i) {
                        case 0x03: 
                                ia->ia_maddr = 0xCC000; 
                                break;
                        case 0x06:
                                ia->ia_maddr = 0xD0000;
                                break;
                        case 0x0c:
                                ia->ia_maddr = 0xD4000; 
                                break;
                        case 0x18:
                                ia->ia_maddr = 0xD8000;
                                break; 
                        default:
                                return 0 ;
                                break; /* NOTREACHED */
                }
                ia->ia_msize = 0x8000;
        }