EEPro100 Card hang.... (Wierd)

abob@dpd130.rh.psu.edu abob@dpd130.rh.psu.edu
Tue Mar 2 12:41:57 1999


I'm having a wierd problem with my EEPro100 card.  Most of the time, it works
fine, but every so often, it refuses to see any incoming traffic.  Today, I
was copying a file via nfs and it decided to stop.  I have net monitor that
shows incoming/outgoing traffic and it was at zero and all my active net
sessions hung.  I ran tcpdump, and all of a sudden everything started working
again.  Okay, so I stop tcpdump and everything stops again.  So, I 
"ifconfig eth0 promisc", and it works fine, "ifconfig eth0 -promisc" and
everything stops again.  "ifconfig eth0 down ; ifconfig eth0 -promisc ..."
fixes it.  It seems that my card forgot to listen for packets with its
ethernet address on it.  Multicast is not enabled on my system.  I'm running
2.2.2-ac5 (driver version 1.06), but I've had problems like this since 2.0.x
Is this a hardware or software problem?  Can anyone point me in the right
place to start looking for how to fix this?  

Thanks.

diag logs (these were done before I tcpdump'ed, if that makes any difference):
# ./eepro-diag -a -w -v -f
eepro100-diag.c:v0.07 2/25/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Found Intel i82557/i82558 Speedo3 chip at 0x7000.
i82557 chip registers at 0x7000:
  00000050 000074d0 00000000 00080002 183f001d 00000600
  No interrupt sources are pending.
   The transmit unit state is 'Suspended'.
   The receive unit state is 'Ready'.
Intel EtherExpress Pro 10/100 EEPROM contents:
  Station address 00:A0:C9:1E:7D:4B.
  Receiver lock-up bug exists. (The driver work-around *is* implemented.)
  Board assembly 352509-003, Physical connectors present: RJ45
  Primary interface chip DP83840 PHY #1.
  Transceiver-specific setup is required for the DP83840 transceiver.
 MII PHY #1 transceiver registers:
  3100 782d 2000 5c00 01e1 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 8462
  8000 0061 0000 3000 a3b9 0080 ea05 001d.
----
After I downed the interface, diag looks like: (not sure if this will be of
	any help, but..)
# ./eepro-diag -a -w -v -f
eepro100-diag.c:v0.07 2/25/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Found Intel i82557/i82558 Speedo3 chip at 0x7000.
i82557 chip registers at 0x7000:
  00000050 01756010 00000000 00080002 18203100 00000600
  No interrupt sources are pending.
   The transmit unit state is 'Suspended'.
   The receive unit state is 'Ready'.
Intel EtherExpress Pro 10/100 EEPROM contents:
  Station address 00:A0:C9:1E:7D:4B.
  Receiver lock-up bug exists. (The driver work-around *is* implemented.)
  Board assembly 352509-003, Physical connectors present: RJ45
  Primary interface chip DP83840 PHY #1.
  Transceiver-specific setup is required for the DP83840 transceiver.
 MII PHY #1 transceiver registers:
  3100 7829 2000 5c00 01e1 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 8040
  8000 0041 0000 3000 a3b9 0047 e205 001d.
----
kernel log:
eth0: Intel EtherExpress Pro 10/100 at 0x7000, 00:A0:C9:1E:7D:4B, IRQ 12.
  Board assembly 352509-003, Physical connectors present: RJ45
  Primary interface chip DP83840 PHY #1.
  DP83840 specific setup, setting register 23 to 8462.
  General self-test: passed.
  Serial sub-system self-test: passed.
  Internal registers self-test: passed.
  ROM checksum self-test: passed (0x49caa8d6).
  Receiver lock-up workaround activated.
...		
eth0: Transmit timed out: status 0010  0000 at 47670/47685 command 000c0000.
eth0: Trying to restart the transmitter...
device eth0 entered promiscuous mode
device eth0 left promiscuous mode
...

-- 
Daniel Drown <abob@dpd130.rh.psu.edu>