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>