Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Mar 2000 01:30:03 -0800 (PST)
From:      "Ted Mittelstaedt" <tedm@toybox.placo.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: i386/16214: Driver for Intel EtherExpress 16 is unreliable, (if_ie.c)
Message-ID:  <200003100930.BAA66735@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/16214; it has been noted by GNATS.

From: "Ted Mittelstaedt" <tedm@toybox.placo.com>
To: <freebsd-gnats-submit@FreeBSD.org>, <fitz@jfitz.com>
Cc:  
Subject: Re: i386/16214: Driver for Intel EtherExpress 16 is unreliable, (if_ie.c)
Date: Fri, 10 Mar 2000 00:03:52 -0800

 Hi All,
 
 What follows is a patch file of the driver that is created from the
 modified driver source posted to the URL listed above.  This is posted
 to help this PR conform with how PR's are requested to be filed.
 
 *** /usr/src/sys/i386/isa/if_ie.c	Sun Aug 29 09:07:22 1999
 --- if_ie.c	Thu Mar  9 23:29:55 2000
 ***************
 *** 564,569 ****
 --- 564,570 ----
   	struct	ie_softc *ie = (struct ie_softc *)sc;
   	int	unit = ie - &ie_softc[0];
 
 + 	return;
   	ee16_reset_586(unit);
   	outb(PORT + IEE16_ECTRL, IEE16_RESET_ASIC);
   	outb(PORT + IEE16_ECTRL, 0);
 ***************
 *** 635,640 ****
 --- 636,644 ----
   	bd_maddr = 0;
   	i = (ee16_read_eeprom(sc, 6) & 0x00ff) >> 3;
   	switch (i) {
 + 	case 0x01:
 + 		bd_maddr = 0xC8000;
 + 		break;
   	case 0x03:
   		bd_maddr = 0xCC000;
   		break;
 ***************
 *** 648,653 ****
 --- 652,658 ----
   		bd_maddr = 0xD8000;
   		break;
   	default:
 + 		printf("ie%d: unknown maddr id: %x\n", unit, i);
   		bd_maddr = 0;
   		break;
   	}
 ***************
 *** 875,880 ****
 --- 880,888 ----
 
   	/* Don't ack interrupts which we didn't receive */
   	ie_ack(ie->scb, IE_ST_WHENCE & status, unit, ie->ie_chan_attn);
 +
 + 	if (ie->hard_type == IE_EE16) /* XXX Heavy traffic sometimes hangs an*/
 + 		DELAY(15);            /* XXX EE16. This delay seems to cure. */
 
   	if (status & (IE_ST_RECV | IE_ST_RNR)) {
   #ifdef DEBUG
 
 
 I am also referencing the following PR's, i386/3502, kern/11164, and
 kern/15882,
 in an effort to combine all these PR's which are all centered on one thing -
 how the Intel Etherexpress 16 driver is "a piece of crap" as stated by it's
 author. :-)  Follows are a synopsis (I have rewritten the titles for
 clarity):
 
 
 i386/3502:  NFS activity on a system with an E16 hangs the initiating
 process.
 
 The details of the symptoms listed on the webpage referenced by the URL in
 PR
 i386/16214 match i386/3502 - this is the same bug.
 
 kern/11164: Improper table calculations in E16 driver will panic the system
 
 This PR references a patch to correct the driver, without it on cards with
 less than 16k memory window the driver crashes.  The submitter listed a
 problem with a NI5210 with 8k of ram.  The PR does not state if the patch
 was ever applied and is still open.
 
 kern/15882: attempting to ifconfig up an E16 crashes the system
 
 The submitter's system hung during version 3.4 installation.  No further
 info
 on the submitters system or network was supplied.  I myself have found that
 a
 FreeBSD 3.4 installation out of the box also will not work with the E16,
 with
 exactly the same symptoms.  (system hangs as soon as it tries upping the
 interface)
 
 On my system, it was plugged into a busy network.  I'd assume the same with
 kern/15882.  Thus I conclude that this is also the same bug as in i386/3502
 and i386/16214
 
 I HAVE ALSO FOUND that 3com 3c507 cards are NOT recognized by the ie driver.
 The driver initialization aborts with an unknown card id error message.
 
 Conclusions:
 
 PR's kern/15882, i386/3502 and i386/16214 all reference the same bug and
 should be combined.
 
 
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003100930.BAA66735>