Date: Wed, 24 Apr 2002 13:34:20 -0600 From: "John Nielsen" <oniblerz@attbi.com> To: <freebsd-stable@freebsd.org>, "Karl Heller" <kheller2@mac.com> Subject: Re: EtherExpress 16 not probed at boot on 4.5R Message-ID: <02be01c1ebc7$07fee890$0900a8c0@max> References: <5.1.0.14.2.20020422121910.03571c18@pop1.ins.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. ------=_NextPart_000_02BB_01C1EB94.BD02A980 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit ----- Original Message ----- From: "Karl Heller" <kheller2@mac.com> To: <freebsd-stable@freebsd.org> Sent: Wednesday, April 24, 2002 10:39 AM Subject: EtherExpress 16 not probed at boot on 4.5R > Hello, > > I posted a bug report about this but haven't heard anything back. I'll > post here instead. =) > > http://www.freebsd.org/cgi/query-pr.cgi?pr=37240 > > I have a Intel EtherExpress 16 that will not probe on boot, or with a > custom kernel. However, under 3.4R it does find it. I'm just switching > boot floppies and notice this. I've since installed 4.5R using CDRom, > however, I'd like to get it working. Any thoughts or anyone want to help > debug this one. There was a previous bug report for another version with > similar problems but the issue was dropped. > > Please respond via email as I'm having some problems getting on the stable > email list. There was a thread about this a while ago on the newsgroup (the subject was "Ether16 NIC" if you want to look it up on google). Martin Birgmeier posted a patch which I successfully applied to a -stable machine and got my card working. I'm attaching a copy of Martin's patch so you can use it. To the list: PR kern/16937 is marked as closed even though this is an issue with -stable. There may be other PR's on this issue as well, but I don't know if any of them have patches included. If one of you wants to submit/test/commit this I think that would be great. JN ------=_NextPart_000_02BB_01C1EB94.BD02A980 Content-Type: application/octet-stream; name="if_ie.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="if_ie.patch" *** sys/dev/ie/if_ie.c.ORIG Fri Jul 21 20:34:23 2000=0A= --- sys/dev/ie/if_ie.c Sat Sep 9 07:22:28 2000=0A= ***************=0A= *** 148,154 ****=0A= #define IED_RNR 0x04=0A= #define IED_CNA 0x08=0A= #define IED_READFRAME 0x10=0A= ! static int ie_debug =3D IED_RNR;=0A= =0A= #endif=0A= =0A= --- 148,154 ----=0A= #define IED_RNR 0x04=0A= #define IED_CNA 0x08=0A= #define IED_READFRAME 0x10=0A= ! static int ie_debug =3D IED_RINT | IED_READFRAME | IED_RNR;=0A= =0A= #endif=0A= =0A= ***************=0A= *** 722,728 ****=0A= printf("ie%d: WARNING: board configured "=0A= "at irq %u, using %u\n",=0A= dvp->id_unit, dvp->id_irq, irq);=0A= ! irq =3D dvp->id_unit;=0A= }=0A= } else {=0A= dvp->id_irq =3D irq;=0A= --- 722,728 ----=0A= printf("ie%d: WARNING: board configured "=0A= "at irq %u, using %u\n",=0A= dvp->id_unit, dvp->id_irq, irq);=0A= ! irq =3D dvp->id_irq;=0A= }=0A= } else {=0A= dvp->id_irq =3D irq;=0A= ***************=0A= *** 859,864 ****=0A= --- 859,867 ----=0A= /* Don't ack interrupts which we didn't receive */=0A= ie_ack(ie->scb, IE_ST_WHENCE & status, unit, ie->ie_chan_attn);=0A= =0A= + if (ie->hard_type =3D=3D IE_EE16) /* XXX Heavy traffic sometimes = hangs an*/=0A= + DELAY(15); /* XXX EE16. This delay seems to cure. */=0A= + =0A= if (status & (IE_ST_RECV | IE_ST_RNR)) {=0A= #ifdef DEBUG=0A= in_ierint++;=0A= ***************=0A= *** 2105,2110 ****=0A= --- 2108,2114 ----=0A= outb(PORT + IEE16_CONFIG, bart_config);=0A= ee16_interrupt_enable(ie);=0A= ee16_chan_attn(unit);=0A= + DELAY(15);=0A= }=0A= ie->arpcom.ac_if.if_flags |=3D IFF_RUNNING; /* tell higher levels=0A= * we're here */=0A= *** sys/dev/ie/if_iee16.h.ORIG Sun Aug 6 18:10:50 2000=0A= --- sys/dev/ie/if_iee16.h Sat Sep 9 07:22:28 2000=0A= ***************=0A= *** 71,80 ****=0A= --- 71,84 ----=0A= =0A= /* Locations in the EEPROM */=0A= #define IEE16_EEPROM_CONFIG1 0x00 /* Configuration register 1 */=0A= + #define IEE16_CONNECT_BNCTPE 0x1000 /* 0 =3D AUI, 1 =3D BNC/TPE */=0A= #define IEE16_EEPROM_IRQ 0xE000 /* Encoded IRQ */=0A= #define IEE16_EEPROM_IRQ_SHIFT 13 /* To shift IRQ to lower bits */=0A= #define IEE16_EEPROM_LOCK_ADDR 0x01 /* contains the lock bit */=0A= #define IEE16_EEPROM_LOCKED 0x01 /* means that it is locked */=0A= + =0A= + #define IEE16_EEPROM_CONFIG2 0x05 /* Configuration register 2 */=0A= + #define IEE16_CONNECT_TPE 0x0001 /* 0 =3D BNC, 1 =3D TPE */=0A= =0A= #define IEE16_EEPROM_ENET_LOW 0x02 /* Ethernet address, low word */=0A= #define IEE16_EEPROM_ENET_MID 0x03 /* Ethernet address, middle word */=0A= *** sys/i386/isa/isa_compat.h.ORIG Sun Sep 23 21:58:01 2001=0A= --- sys/i386/isa/isa_compat.h Fri Feb 1 12:02:05 2002=0A= ***************=0A= *** 31,36 ****=0A= --- 31,37 ----=0A= #include "ar.h"=0A= #include "cx.h"=0A= #include "el.h"=0A= + #include "ie.h"=0A= #include "le.h"=0A= #include "lnc.h"=0A= #include "rdp.h"=0A= ***************=0A= *** 80,85 ****=0A= --- 81,87 ----=0A= extern struct isa_driver ardriver;=0A= extern struct isa_driver cxdriver;=0A= extern struct isa_driver eldriver;=0A= + extern struct isa_driver iedriver;=0A= extern struct isa_driver ledriver;=0A= extern struct isa_driver lncdriver;=0A= extern struct isa_driver rdpdriver;=0A= ***************=0A= *** 194,199 ****=0A= --- 196,204 ----=0A= =0A= /* NET */=0A= =0A= + #if NIE > 0=0A= + { INTR_TYPE_NET, &iedriver },=0A= + #endif=0A= #if NLE > 0=0A= { INTR_TYPE_NET, &ledriver },=0A= #endif=0A= ------=_NextPart_000_02BB_01C1EB94.BD02A980-- 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?02be01c1ebc7$07fee890$0900a8c0>