Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Feb 1999 16:32:56 -0600 (CST)
From:      "Douglas K. Rand" <rand@meridian-enviro.com>
To:        freebsd-questions@FreeBSD.ORG
Subject:   Re: Two ISA Intel EtherExpress Pro/10+ cards
Message-ID:  <14035.11416.794297.939217@deneb.meridian-enviro.com>
In-Reply-To: <14031.20418.90174.211965@deneb.meridian-enviro.com>
References:  <14031.20418.90174.211965@deneb.meridian-enviro.com>

next in thread | previous in thread | raw e-mail | index | archive | help
** Douglas K Rand <rand@meridian-enviro.com> on Sat, 20 Feb 1999 18:13:54 -0600 (CST)
** in [Two ISA Intel EtherExpress Pro/10+ cards] writes:

Douglas> I'm having difficulity getting an old 486 (EISA) to work with two
Douglas> Intel EtherExpress Pro/10+ cards. 

Well, I don't know if answering my own question is a good thing or
not, but here goes.

After some assistance from Javir Martin Rueda <jmrueda@diatel.upm.es>
the author of the ex driver, I figured out that Intel is now shipping
EtherExpress Pro/10+ cards with a different prefix on the MAC
address. The prefix of the MAC address is used to determine if the
card is a Pro/10 or a Pro/10+. Adding my prefix to the code fixed all
my problems.

Here are the diffs against the 3.0-RELEASE if_ex.c driver:

*** if_ex.c-orig        Sun Jun  7 12:10:30 1998
--- if_ex.c     Tue Feb 23 16:18:01 1999
***************
*** 206,214 ****
        tmp = eeprom_read(iobase, EE_IRQ_No) & IRQ_No_Mask;
  
        /* work out which set of irq <-> internal tables to use */
!       if (sc->arpcom.ac_enaddr[0] == 0x00 &&
!           sc->arpcom.ac_enaddr[1] == 0xA0 &&
!           sc->arpcom.ac_enaddr[2] == 0xC9) {    /* it's a 10+ */
                sc->irq2ee = plus_irq2eemap;
                sc->ee2irq = plus_ee2irqmap;
        } else {                                  /* it's an ordinary 10 */
--- 206,217 ----
        tmp = eeprom_read(iobase, EE_IRQ_No) & IRQ_No_Mask;
  
        /* work out which set of irq <-> internal tables to use */
!       if ((sc->arpcom.ac_enaddr[0] == 0x00 &&
!            sc->arpcom.ac_enaddr[1] == 0xA0 &&
!            sc->arpcom.ac_enaddr[2] == 0xC9) ||
!           (sc->arpcom.ac_enaddr[0] == 0x00 &&
!            sc->arpcom.ac_enaddr[1] == 0x90 &&
!            sc->arpcom.ac_enaddr[2] == 0x27)) {    /* it's a 10+ */
                sc->irq2ee = plus_irq2eemap;
                sc->ee2irq = plus_ee2irqmap;
        } else {                                  /* it's an ordinary 10 */
***************
*** 274,282 ****
        if_attach(ifp);
        ether_ifattach(ifp);
  
!       if (sc->arpcom.ac_enaddr[0] == 0x00 &&
!           sc->arpcom.ac_enaddr[1] == 0xA0 &&
!           sc->arpcom.ac_enaddr[2] == 0xC9) {
                printf("ex%d: Intel EtherExpress Pro/10+, address %6D, connector ", dev->id_unit, sc->arpcom.ac_enaddr, ":");
        } else {
                printf("ex%d: Intel EtherExpress Pro/10, address %6D, connector ", dev->id_unit, sc->arpcom.ac_enaddr, ":");
--- 277,288 ----
        if_attach(ifp);
        ether_ifattach(ifp);
  
!       if ((sc->arpcom.ac_enaddr[0] == 0x00 &&
!            sc->arpcom.ac_enaddr[1] == 0xA0 &&
!            sc->arpcom.ac_enaddr[2] == 0xC9) ||
!           (sc->arpcom.ac_enaddr[0] == 0x00 &&
!            sc->arpcom.ac_enaddr[1] == 0x90 &&
!            sc->arpcom.ac_enaddr[2] == 0x27)) {
                printf("ex%d: Intel EtherExpress Pro/10+, address %6D, connector ", dev->id_unit, sc->arpcom.ac_enaddr, ":");
        } else {
                printf("ex%d: Intel EtherExpress Pro/10, address %6D, connector ", dev->id_unit, sc->arpcom.ac_enaddr, ":");


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14035.11416.794297.939217>