[eepro100] Loosing link after network restart

Frank Schmirler frank.schmirler@linogate.com
Fri, 17 Nov 2000 16:08:47 +0100


We have a strange problem with the current eepro100 driver: Issuing an
ifconfig eth0 down the link disappears but neither ifconfig eth0 up nor
a reboot won't bring the link back up again (ifconfig reports that the
interface is UP but RUNNING is missing). I have to unplug the system to
get the (onboard) eepro100 working again. I also tried insmoding and
rmmoding the driver, forcing 100Mbit and 10Mbit with or without
fullduplex - same result independent of the options.

Kernel is 2.0.38 (sorry - we rely on kernel 2.0 due to some addons not
available in 2.2). The original driver shiped with 2.0.38 works fine
with this board (MSI). However it caused problems with the Fujitsu-
Siemens board we frequently use (EEPROM checksum error - reporting the
wrong MAC address) so we need to switch to the new driver. Anybody any
idea?

I attached the driver info and the log output (debug=6) during an
ifconfig down / up.


 eepro100.c:v1.11a 7/31/2000 Donald Becker <becker@scyld.com>
   http://www.scyld.com/network/eepro100.html
 eth0: OEM i82557/i82558 10/100 Ethernet at 0x2829000, 00:10:DC:7D:53:8E, IRQ 5.
   Board assembly 668081-002, Physical connectors present: RJ45
   Primary interface chip i82555 PHY #1.
   General self-test: passed.
   Serial sub-system self-test: passed.
   Internal registers self-test: passed.
   ROM checksum self-test: passed (0x24c9f043).
   Receiver lock-up workaround activated.


Nov 17 14:09:49 defendo kernel: eth0: speedo_open() irq 5.
Nov 17 14:09:49 defendo kernel: eth0: interrupt  status=0x2050.
Nov 17 14:09:49 defendo kernel:  scavenge candidate 0 staus 1a000.
Nov 17 14:09:49 defendo kernel:  scavenge candidate 1 status 2a000.
Nov 17 14:09:49 defendo kernel:  scavenge candidate 2 status 4003a000.
Nov 17 14:09:49 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:09:49 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:09:49 defendo kernel: eth0: Done speedo_open(), status 00000090.
Nov 17 14:09:49 defendo kernel: eth0: interrupt  status=0x2050.
Nov 17 14:09:49 defendo kernel:  scavenge candidate 3 status 3a000.
Nov 17 14:09:49 defendo kernel:  scavenge candidate 4 status 4003a000.
Nov 17 14:09:49 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:09:49 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:09:49 defendo kernel: eth0: interrupt  status=0x2050.
Nov 17 14:09:49 defendo kernel:  scavenge candidate 5 status 4003a000.
Nov 17 14:09:49 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:09:49 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:09:49 defendo kernel: eth0: interrupt  status=0x2050.
Nov 17 14:09:49 defendo kernel:  scavenge candidate 6 status 3a000.
Nov 17 14:09:49 defendo kernel:  scavenge candidate 7 status 4003a000.
Nov 17 14:09:49 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:09:49 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:09:49 defendo kernel: eth0: interrupt  status=0x4050.
Nov 17 14:09:49 defendo kernel:  In speedo_rx().
Nov 17 14:09:49 defendo kernel:   speedo_rx() status 0000a002 len 98.
Nov 17 14:09:49 defendo kernel:   speedo_rx() status 0000a002 len 94.
Nov 17 14:09:49 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:09:49 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:09:50 defendo kernel: eth0: interrupt  status=0x4050.
Nov 17 14:09:50 defendo kernel:  In speedo_rx().
Nov 17 14:09:50 defendo kernel:   speedo_rx() status 0000a002 len 98.
Nov 17 14:09:50 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:09:50 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:09:50 defendo kernel: eth0: interrupt  status=0x4050.
Nov 17 14:09:50 defendo kernel:  In speedo_rx().
Nov 17 14:09:50 defendo kernel:   speedo_rx() status 0000a002 len 94.
Nov 17 14:09:50 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:09:50 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:09:51 defendo kernel: eth0: interrupt  status=0x4050.
Nov 17 14:09:51 defendo kernel:  In speedo_rx().
Nov 17 14:09:51 defendo kernel:   speedo_rx() status 0000a002 len 98.
Nov 17 14:09:51 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:09:51 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:09:51 defendo kernel: eth0: interrupt  status=0x4050.
Nov 17 14:09:51 defendo kernel:  In speedo_rx().
Nov 17 14:09:51 defendo kernel:   speedo_rx() status 0000a002 len 94.
Nov 17 14:09:51 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:09:51 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:09:51 defendo kernel: eth0: interrupt  status=0x4050.
Nov 17 14:09:51 defendo kernel:  In speedo_rx().
Nov 17 14:09:51 defendo kernel:   speedo_rx() status 0000a002 len 98.
Nov 17 14:09:51 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:09:51 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:09:51 defendo kernel: eth0: interrupt  status=0x4050.
Nov 17 14:09:51 defendo kernel:  In speedo_rx().
Nov 17 14:09:51 defendo kernel:   speedo_rx() status 0000a002 len 94.
Nov 17 14:09:51 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:09:51 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:09:51 defendo kernel: eth0: Interface monitor tick, chip status 0050.

... SNIP ...

Nov 17 14:10:12 defendo kernel:  scavenge candidate 11 status 400ca000.
Nov 17 14:10:12 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:10:12 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:10:13 defendo kernel: eth0: interrupt  status=0x4050.
Nov 17 14:10:13 defendo kernel:  In speedo_rx().
Nov 17 14:10:13 defendo kernel:   speedo_rx() status 0000a002 len 90.
Nov 17 14:10:13 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:10:13 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:10:13 defendo kernel: eth0: Interface monitor tick, chip status 0050.
Nov 17 14:10:15 defendo kernel: eth0: Shutting down ethercard, status was 0050.
Nov 17 14:10:15 defendo kernel: eth0: interrupt  status=0x2050.
Nov 17 14:10:15 defendo kernel:  scavenge candidate 12 status 4003a000.
Nov 17 14:10:15 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:10:15 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:10:15 defendo kernel: eth0: Tx ring dump,  Tx queue 13 / 13:
Nov 17 14:10:15 defendo kernel: eth0:   0 0001a000.
Nov 17 14:10:15 defendo kernel: eth0:   1 0002a000.
Nov 17 14:10:15 defendo kernel: eth0:   2 0003a000.
Nov 17 14:10:15 defendo kernel: eth0:   3 0003a000.
Nov 17 14:10:15 defendo kernel: eth0:   4 0003a000.
Nov 17 14:10:15 defendo kernel: eth0:   5 0003a000.
Nov 17 14:10:15 defendo kernel: eth0:   6 0003a000.
Nov 17 14:10:15 defendo kernel: eth0:   7 0003a000.
Nov 17 14:10:15 defendo kernel: eth0:   8 0003a000.
Nov 17 14:10:15 defendo kernel: eth0:   9 0003a000.
Nov 17 14:10:15 defendo kernel: eth0:   10 0003a000.
Nov 17 14:10:15 defendo kernel: eth0:   11 000ca000.
Nov 17 14:10:15 defendo kernel: eth0:   12 4003a000.
Nov 17 14:10:15 defendo kernel: eth0: *=13 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   14 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   15 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   16 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   17 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   18 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   19 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   20 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   21 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   22 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   23 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   24 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   25 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   26 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   27 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   28 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   29 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   30 00000000.
Nov 17 14:10:15 defendo kernel: eth0:   31 00000000.
Nov 17 14:10:15 defendo kernel: eth0:Printing Rx ring (next to receive into 28).
Nov 17 14:10:15 defendo kernel:   Rx ring entry 0  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 1  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 2  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 3  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 4  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 5  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 6  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 7  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 8  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 9  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 10  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 11  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 12  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 13  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 14  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 15  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 16  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 17  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 18  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 19  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 20  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 21  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 22  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 23  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 24  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 25  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 26  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 27  c0000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 28  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 29  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 30  00000001.
Nov 17 14:10:15 defendo kernel:   Rx ring entry 31  00000002.
Nov 17 14:10:15 defendo kernel:   PHY index 1 register 0 is 3000.
Nov 17 14:10:15 defendo kernel:   PHY index 1 register 1 is 782d.
Nov 17 14:10:15 defendo kernel:   PHY index 1 register 2 is 02a8.
Nov 17 14:10:15 defendo kernel:   PHY index 1 register 3 is 0150.
Nov 17 14:10:15 defendo kernel:   PHY index 1 register 4 is 05e1.
Nov 17 14:10:15 defendo kernel:   PHY index 1 register 5 is 41e1.
Nov 17 14:10:15 defendo kernel:   PHY index 1 register 21 is 0000.
Nov 17 14:10:16 defendo kernel: eth0: speedo_open() irq 5.
Nov 17 14:10:16 defendo kernel: eth0: Done speedo_open(), status 00000090.
Nov 17 14:10:16 defendo kernel: eth0: interrupt  status=0x2050.
Nov 17 14:10:16 defendo kernel:  scavenge candidate 0 status 1a000.
Nov 17 14:10:16 defendo kernel:  scavenge candidate 1 status 2a000.
Nov 17 14:10:16 defendo kernel:  scavenge candidate 2 status 4003a000.
Nov 17 14:10:16 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:10:16 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:10:16 defendo kernel: eth0: interrupt  status=0x2050.
Nov 17 14:10:16 defendo kernel:  scavenge candidate 3 status 4003a000.
Nov 17 14:10:16 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:10:16 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:10:16 defendo kernel: eth0: interrupt  status=0x2050.
Nov 17 14:10:16 defendo kernel:  scavenge candidate 4 status 4003a000.
Nov 17 14:10:16 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:10:16 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:10:16 defendo kernel: eth0: interrupt  status=0x2050.
Nov 17 14:10:16 defendo kernel:  scavenge candidate 5 status 3a000.
Nov 17 14:10:16 defendo kernel:  scavenge candidate 6 status 4003a000.
Nov 17 14:10:16 defendo kernel: eth0: interrupt  status=0x0050.
Nov 17 14:10:16 defendo kernel: eth0: exiting interrupt, status=0x0050.
Nov 17 14:10:19 defendo kernel: eth0: Interface monitor tick, chip status 0050.

-- 
Frank Schmirler                           frank.schmirler@linogate.com
linogate - Internet Technologies          Tel.:    (08 21) 25 96 - 360
-------------------------------------------------------------------------------
"It's not easy being green" (Kermit the frog)
-------------------------------------------------------------------------------