Date: Fri, 5 Nov 1999 12:03:36 -0600 (CST) From: "Douglas K. Rand" <rand@meridian-enviro.com> To: Brad Chapman <chapmanb@arches.uga.edu> Cc: freebsd-questions@freebsd.org Subject: Re: Intel EtherExpress PRO/10+ and EEPROM problem Message-ID: <14371.7160.823862.191340@deneb.meridian-enviro.com> In-Reply-To: <Pine.A41.4.10.9911041152460.55382-100000@archa13.cc.uga.edu> References: <Pine.A41.4.10.9911041152460.55382-100000@archa13.cc.uga.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
** Brad Chapman <chapmanb@arches.uga.edu> on Thu, 4 Nov 1999 11:56:50 -0500 (EST)
** in [Intel EtherExpress PRO/10+ and EEPROM problem] writes:
Brad> Hello!
Hi!
Brad> I am trying to install an Intel EtherExpress Pro/10+ card on
Brad> FreeBSD 3.3-release and in searching through the -questions
Brad> archive came across your post from February of this year
Brad> concerning the oh-so-annoying error "Board's EEPROM is
Brad> Configured for IRQ 0, using 9." As you hinted to in your posts,
Brad> everything looks okay for me if I run "ifconfig -a" (ie. it
Brad> shows that ex0 is up and has the ip that I gave it) but I'm not
Brad> having any luck connecting externally to a cable modem. My
Brad> kernel config for it looks like: "device ex0 at isa? port? net
Brad> irq 9," so I've only set my irq (which I verified was free) and
Brad> left everything else to autodetect.
Sounds exactly like you have a new Intel EtherExpress Pro/10+ card
with one of the new hardware addresses. Unfortunately, the ex driver
uses the hardware address to decide if the card is a Pro/10 or a
Pro/10+, and I'm not capable of coming up with a better solution. So I
just added the check for an Ethernet address prefix of 00:90:27 in
addition to the existin check of a 00:A0:C9 prefix.
Brad> So before I go in and completely mess everything up, I
Brad> wanted to ask you:
Brad> 1) Do you know if the driver has been update/fixed in
Brad> 3.3-release?
Nope. :(
Brad> a) If not, are the changes you made specific to "your card" or
Brad> do I need to determine something from my card before I go in?
Brad> ie. does the prefix on the MAC address change regularly?
Well, it depends on the hardware address of your card. If the ethernet
address of your Pro/10+ NIC starts with 00:90:27 I'd expect my patch
to work. If it doesn't, you'll either have to tweak the patch, or give
me the prefix and I can tweak it for you.
Brad> b) If so, do you have any clue what my problem might be if it's
Brad> not the same as yours?
If it isn't the same as what I had, and I expect that it is, then I'm
clueless. :)
Brad> 2) This is just to satisfy my own curiousity, but exactly what
Brad> would I be doing by changing this stuff in the drivers?
You would change the ex driver to recognize additional hardware
addresses as a Pro/10+ card.
Hope this helps. Here is the patch:
[-- Attachment #2 --]
--- 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, ":");
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14371.7160.823862.191340>
