Date: Wed, 4 Oct 2000 07:44:42 -0400 (EDT) From: Thomas David Rivers <rivers@dignus.com> To: imp@village.org, rivers@dignus.com Cc: behanna@zbzoom.net, freebsd-stable@FreeBSD.ORG, jim@siteplus.net, steve@sse0691.bri.hp.com Subject: Re: 4.1-RELEASE pccard? Message-ID: <200010041144.HAA84948@lakes.dignus.com> In-Reply-To: <200010032346.RAA31311@harmony.village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> > In message <200010032214.SAA82730@lakes.dignus.com> Thomas David Rivers writes: > : I 4.1(.1) I get: > : > : ed1 at port 0x300-0x31f ir1 3 slot 1 on pccard1 > : ed1: address 01:02:00:ff:15:1d, type NE2000 (16 bit) > : > > This is a big clue that something bad is wrong. > > Warner > Warner is right... Just to verify things further - I hardcoded the mac address in if_ed.c:ed_get_Linksys() (wrapping an #if 0 around the code that gets it before and simply setting the bytes in sc->arpcom.ac_enaddr[].) This worked beautifully - and my laptop is no `on the net.' The code for this in the 3.4 PAO is: /* * 0x14-0x19 : Physical Address Register 0-5 (PAR0-PAR5) * 0x1A : Card ID Register (CIR) * 0x1B : Check Sum Register (SR) */ for (sum = 0, i = 0x4; i < 0xc; i++) sum += inb(sc->asic_addr + i); if (sum != 0xff) return 0; /* invalid DL10019C */ for (i = 0; i < ETHER_ADDR_LEN; i++) { sc->arpcom.ac_enaddr[i] = inb(sc->asic_addr + 0x4 + i); /* printf("%02x.", sc->arpcom.ac_enaddr[i]); */ } return 2; while the code for this in 4.1.1 is: /* * Linksys registers(offset from ASIC base) * * 0x04-0x09 : Physical Address Register 0-5 (PAR0-PAR5) * 0x0A : Card ID Register (CIR) * 0x0B : Check Sum Register (SR) */ for (sum = 0, i = 0x04; i < 0x0c; i++) sum += ed_asic_inb(sc, i); if (sum != 0xff) return (0); /* invalid DL10019C */ for (i = 0; i < ETHER_ADDR_LEN; i++) { sc->arpcom.ac_enaddr[i] = ed_asic_inb(sc, 0x04 + i); } it turns out that `sum' was not 0xff (but 0x51) as it should have been... but, everything looks just fine to me... (of course, I'm not "up" on the busifying of everything - so I'm not sure if ed_asic_inb() actually expands to the same things as the basic inb() was in 3.4.) But - this seems to be the place for the difficulties... - Dave Rivers - 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?200010041144.HAA84948>