[eepro100] Eepro100 stops receiving ping

Taylor, ForrestX forrestx.taylor@intel.com
Thu, 15 Mar 2001 11:05:28 -0800

On Redhat 6.2 kernel 2.2.16-3, I am having problems with an on-board NIC on
an SMP machine.  I am also running autofs4 (automounting /home partition),
and ClearCase (version control software).  I also tried a regular eepro100+
card, with the same results.

The problem:  sometimes the NIC quits responding.  This is a major concern,
because all users home directories are auto mounted, thus even an ls will
hang the system.  I can verify this using ping.  After a couple hundred
ping, it claims that it doesn't receive any more responses.  In the ping
statistics, it claims that it continues to transmit them, but does not
receive any answers.  If I stop ping, and then restart, it will do the same
thing--send for a while and then hang.  If I look at ifconfig, the transmit
and receive numbers continue to climb, but ping says that it doesn't receive

I tried to force it to half-duplex, and it seemed to help, but I am still
having problems.  It will receive for several thousand now, but will hang
for no apparent reason.  The first time that it hung, I was pinging, and
then tried a traceroute.  It took it a few seconds to come back with
something, and that made ping hang.  The second time, I started Netscape,
and it said that it couldn't find my proxy.  When I looked at ping, it had
stopped.  All subsequent instances of traceroute (which returned
immediately) and Netscape didn't seem to effect ping.  I let ping run last
night, and it made it to 7500, but the 50000 after that didn't get returned.
I tried to unplug the cable and plug it back in, but still nothing happened
(mii-diag said that I lost link, but then regained it).  No messages show up
in /var/log/messages.

Below is the result of eepro100-diag and mii-diag while it is hanging (it
seems to be the same as when it is working).  I have never been able to
capture these at the exact moment that the ping hangs (I'm not that fast!)

eepro100-diag.c:v2.02 7/19/2000 Donald Becker (becker@scyld.com)
Index #1: Found a Intel i82557 (or i82558) EtherExpressPro100B adapter at
i82557 chip registers at 0x2800:
  00000050 1f2d68e4 00000000 00080002 182545e1 00000600
  No interrupt sources are pending.
   The transmit unit state is 'Suspended'.
   The receive unit state is 'Ready'.
  This status is normal for an activated but idle interface.
Intel EtherExpress Pro 10/100 EEPROM contents:
  Station address 00:90:27:E0:35:EA.
  Board assembly 000000-000, Physical connectors present: RJ45
  Primary interface chip i82555 PHY #1.
 MII PHY #1 transceiver registers:
  2000 780d 02a8 0154 05e1 45e1 0001 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0a02 0000 0001 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000.

Basic registers of MII PHY #1:  2000 780d 02a8 0154 05e1 45e1 0001 0000.
 Basic mode control register 0x2000: Auto-negotiation disabled, with
 Speed fixed at 100 mbps, half-duplex.
 You have link beat, and everything is working OK.
 Your link partner advertised 45e1: Flow-control 100baseTx-FD 100baseTx
10baseT-FD 10baseT, w/ 802.3X flow control.

Any help would be appreciated.