From owner-freebsd-questions Tue Feb 23 14:33:27 1999 Delivered-To: freebsd-questions@freebsd.org Received: from procyon.meridian-enviro.com (thunder.meridian-enviro.com [207.109.234.227]) by hub.freebsd.org (Postfix) with ESMTP id 9BAB411C7F for ; Tue, 23 Feb 1999 14:33:06 -0800 (PST) (envelope-from rand@meridian-enviro.com) Received: from deneb.meridian-enviro.com (deneb.meridian-enviro.com [10.10.10.32]) by procyon.meridian-enviro.com (8.9.2/8.9.2) with ESMTP id QAA29367 for ; Tue, 23 Feb 1999 16:33:05 -0600 (CST) Received: (from rand@localhost) by deneb.meridian-enviro.com (8.9.2/8.9.2) id QAA02594; Tue, 23 Feb 1999 16:32:57 -0600 (CST) From: "Douglas K. Rand" MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14035.11416.794297.939217@deneb.meridian-enviro.com> Date: Tue, 23 Feb 1999 16:32:56 -0600 (CST) To: freebsd-questions@FreeBSD.ORG Subject: Re: Two ISA Intel EtherExpress Pro/10+ cards In-Reply-To: <14031.20418.90174.211965@deneb.meridian-enviro.com> References: <14031.20418.90174.211965@deneb.meridian-enviro.com> X-Mailer: VM 6.47 under 20.4 "Emerald" XEmacs Lucid X-Face: $L%T~#'9fAQ])o]A][d7EH`V;"_;2K;TEPQB=v]rDf_2s% 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 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