[tulip-bug] Netgear FA310TX won't reconnect after network disconnect

Scott I. McFarlane simcfarl@usgs.gov
Mon, 19 Mar 2001 15:59:30 -0700 (MST)


This problem seems to have started after I upgraded to RedHat 6.2 which
contains the v0.91g-ppc driver.  I also have this problem with Redhat 7.0
which has the same version and have downloaded 0.92t driver and applied
the two patches suggested by Josip Loncaric each separately and together.
These are the patches found at
http://www.scyld.com/pipermail/tulip-bug/2001-February/thread.html
Titled "patch avoids lockups under high load".

The problem is that sometimes after resetting the switch or unplugging the
network connection that the Netgear card is connected to it fails to
reconnect to the network.  I must shutdown the network interface and start
it back up to get it to respond again.  The problem does not seem to
occur until the transmit threshold is increased above the 128 which seems
to be the default.  The following tulip-diag reports seem to illustrate
the problem:

# ./tulip-diag -efm
tulip-diag.c:v2.06 1/8/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Lite-On 82c168 PNIC adapter at 0xe400.
 Port selection is MII, full-duplex.
 Transmit started, Receive started, full-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit threshold is 128.
 A simplifed EEPROM data table was found.
 The EEPROM does not contain transceiver control information.
 MII PHY found at address 1, status 0x782d.
 MII PHY #1 transceiver registers:
   1000 782d 7810 0000 01e1 41e1 0001 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 4000 0000 3ff9 0010 0000 0002
   0001 0000 0000 0000 0000 0000 0000 0000.

Disconnecting and reconnecting works fine after this.

Running netpipe (2.4) for long enough causes the threshold to increase:

# ./tulip-diag -efm
tulip-diag.c:v2.06 1/8/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Lite-On 82c168 PNIC adapter at 0xe400.
 Port selection is MII, full-duplex.
 Transmit started, Receive started, full-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit threshold is 256.
 A simplifed EEPROM data table was found.
 The EEPROM does not contain transceiver control information.
 MII PHY found at address 1, status 0x782d.
 MII PHY #1 transceiver registers:
   1000 782d 7810 0000 01e1 41e1 0001 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 4000 0000 38c8 0010 0000 0002
   0001 0000 0000 0000 0000 0000 0000 0000.

Then after disconnecting and reconnecting the TP wire I no longer have a
network connection.

# ./tulip-diag -efm
tulip-diag.c:v2.06 1/8/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Lite-On 82c168 PNIC adapter at 0xe400.
 Port selection is 10mpbs-serial, half-duplex.
 Transmit started, Receive started, half-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Waiting for Tx to finish'.
  The transmit threshold is 96.
 A simplifed EEPROM data table was found.
 The EEPROM does not contain transceiver control information.
 MII PHY found at address 1, status 0x7829.
 MII PHY #1 transceiver registers:
   1000 782d 7810 0000 01e1 41e1 0003 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 4000 0000 3ff9 0010 0000 0002
   0001 0000 0000 0000 0000 0000 0000 0000.

It says it has connected at half-duplex with a transmit threshold of 96.

After bringing down and back up eth0 I get:

# ./tulip-diag -efm
tulip-diag.c:v2.06 1/8/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Lite-On 82c168 PNIC adapter at 0xe400.
 Port selection is MII, full-duplex.
 Transmit started, Receive started, full-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit threshold is 128.
 A simplifed EEPROM data table was found.
 The EEPROM does not contain transceiver control information.
 MII PHY found at address 1, status 0x782d.
 MII PHY #1 transceiver registers:
   1000 782d 7810 0000 01e1 41e1 0001 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 4000 0000 38c8 0010 0000 0002
   0001 0000 0000 0000 0000 0000 0000 0000.

It seems that something needs to be reinitialized after a loss of signal.

Any suggestions?