Skip site navigation (1)Skip section navigation (2)
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>