From owner-freebsd-questions Tue Jul 30 14:09:55 1996 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id OAA07110 for questions-outgoing; Tue, 30 Jul 1996 14:09:55 -0700 (PDT) Received: from shell.aros.net (root@shell.aros.net [205.164.111.19]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id OAA07072 for ; Tue, 30 Jul 1996 14:09:24 -0700 (PDT) Received: (from angio@localhost) by shell.aros.net (8.7.5/8.7.3) id PAA12460; Tue, 30 Jul 1996 15:09:07 -0600 (MDT) From: Dave Andersen Message-Id: <199607302109.PAA12460@shell.aros.net> Subject: Re: Wierd problem with dual ethernet boards To: jason@pdh.com (Jason Rhoads) Date: Tue, 30 Jul 1996 15:09:06 -0600 (MDT) Cc: questions@freebsd.org In-Reply-To: <199607301956.MAA27820@pdh.com> from Jason Rhoads at "Jul 30, 96 12:58:35 pm" X-Mailer: ELM [version 2.4ME+ PL13 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-questions@freebsd.org X-Loop: FreeBSD.org Precedence: bulk AFAIK, it's a bug in some revisions of the EtherExpress card. The fix is to down and up the interface using ifconfig -- that'll bring it back to life. Ugly, but it works. When we were using one of those cards, I wrote a quick perl script that ran every minute to see if the world was alive and reset the interface. It's at the end of this message. It worked for me, but YMMV. Dave Andersen Lo and behold, Jason Rhoads once said: > I am running two Intel EtherExpress 100B boards on a FreeBSD (2.1) machine. > The interfaces work great ... at first. After several hours (usually 10-12 > hours) of operation packets sent through one of the interfaces are dropped. > Any ideas on what is going on? TIA > > - Jason > -- angio@aros.net Complete virtual hosting and business-oriented system administration Internet services. (WWW, FTP, email) http://www.aros.net/ http://www.aros.net/about/virtual "There are only two industries that refer to their customers as 'users'." #!/usr/bin/perl if (!(&checkhost("127.0.0.1"))) { die "I am dead!\n"; } if (!&checkhost("205.164.111.1")) { print "World is dead.. I'm resetting the ethernet card.\n"; system("/sbin/ifconfig fxp0 down"); system("/sbin/ifconfig fxp0 up"); print "Ethernet card reset.\n"; } sub checkhost { local($host) = $_[0]; $ping = 0; $ping = `/sbin/ping -n -c 1 $host`; if ($ping =~ /100% packet loss/) { # print "$host is dead\n"; 0; } else { # print "$host is alive\n"; 1; } } } else { # print "$host is alive\n"; 1; } }