Date: 06 Nov 1999 18:29:22 -0600 From: rand@meridian-enviro.com (Douglas K. Rand) To: Warner Losh <imp@village.org> Cc: freebsd-stable@FreeBSD.ORG Subject: Re: Intel EtherExpress Pro/10+ on -stable Message-ID: <87d7tni1p9.fsf@deneb.meridian-enviro.com> In-Reply-To: Warner Losh's message of "Tue, 2 Nov 1999 23:19:06 -0700 (MST)" References: <199911030619.XAA18084@harmony.village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-= ** Warner Losh <imp@village.org> on Tue, 2 Nov 1999 23:19:06 -0700 (MST) ** in [Intel EtherExpress Pro/10+ on -stable] writes: Warner> I've had 0 luck getting my Intel EtherExpress PRO/10+ working Warner> on my 3.3-stable system. It never seems to get interrupts. Warner> I've disabled plug and play, and have tried it at two Warner> differend IRQs, which I set with the softset2 program that Warner> came with my etherpro 10+ (version 3.5). Has anybody managed Warner> to make one of these work in a -stable system? I ran into a problem with the ISA Intel EtherExpress Pro/10+ in that the ex driver used the hardware address to determine if the card is a Pro/10 or a Pro/10+. If you have a Pro/10+ and the ethernet address doesn't start with 00:A0:C9 then you need to patch if_ex.c to recognize the new hardware address prefix as a Pro/10+. Here is the diff I did to if_ex.c to get it to work for me: --=-=-= Content-Type: text/plain; name=diff Content-Disposition: attachment; filename=diff Content-Description: if_ex.c-patch --- if_ex.c-orig Tue Sep 28 04:57:33 1999 +++ if_ex.c Tue Sep 28 04:59:29 1999 @@ -207,9 +207,9 @@ 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+ */ + 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 */ @@ -277,9 +277,8 @@ 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) { + 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-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?87d7tni1p9.fsf>