[eepro100] eepro100 hangs ...

Pedro Ribeiro pribeiro@isel.pt
Wed, 13 Sep 2000 13:05:52 +0100


My system, a dual PIII550 is sometimes hanging with eepro problems, here
goes some details that I hope could help to fix the problem(s).

The eepro driver included in linux 2.2.17 (eepro100.c:v1.09j-t 9/29/99 /
$Revision: 1.20.2.10 $ 2000/05/31) was hanging with this messages:

Sep 13 11:08:37 garfield kernel: eth0: can't fill rx buffer (force 0)!
Sep 13 11:08:37 garfield kernel: eth0: Tx ring dump,  Tx queue 139246311 /
139246311:
Sep 13 11:08:37 garfield kernel: eth0:     0 200ca000.
Sep 13 11:08:37 garfield kernel: eth0:     1 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:     2 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:     3 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:     4 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:     5 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:     6 400ca000.
Sep 13 11:08:37 garfield kernel: eth0:  *= 7 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:     8 200ca000.
Sep 13 11:08:37 garfield kernel: eth0:     9 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    10 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    11 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    12 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    13 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    14 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    15 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    16 200ca000.
Sep 13 11:08:37 garfield kernel: eth0:    17 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    18 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    19 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    20 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    21 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    22 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    23 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    24 200ca000.
Sep 13 11:08:37 garfield kernel: eth0:    25 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    26 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    27 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    28 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    29 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    30 000ca000.
Sep 13 11:08:37 garfield kernel: eth0:    31 000ca000.
Sep 13 11:08:37 garfield kernel: eth0: Printing Rx ring (next to receive
into 23335935, dirty index
Sep 13 11:08:37 garfield kernel: eth0:     0 00000001.
Sep 13 11:08:37 garfield kernel: eth0:     1 00000001.
Sep 13 11:08:37 garfield kernel: eth0:     2 00000001.
Sep 13 11:08:37 garfield kernel: eth0:     3 00000001.
Sep 13 11:08:37 garfield kernel: eth0:     4 00000001.
Sep 13 11:08:37 garfield kernel: eth0:     5 00000001.
Sep 13 11:08:37 garfield kernel: eth0:     6 00000001.
Sep 13 11:08:37 garfield kernel: eth0:     7 00000001.
Sep 13 11:08:37 garfield kernel: eth0:     8 00000001.
Sep 13 11:08:37 garfield kernel: eth0:     9 00000001.
Sep 13 11:08:37 garfield kernel: eth0:    10 00000001.
Sep 13 11:08:37 garfield kernel: eth0:    11 00000001.
Sep 13 11:08:37 garfield kernel: eth0:    12 00000001.
Sep 13 11:08:37 garfield kernel: eth0:    13 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    14 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    15 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    16 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    17 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    18 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    19 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    20 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    21 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    22 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    23 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    24 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    25 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    26 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    27 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    28 00000001.
Sep 13 11:08:38 garfield kernel: eth0: l  29 c0000001.
Sep 13 11:08:38 garfield kernel: eth0:  * 30 00000000.
Sep 13 11:08:38 garfield kernel: eth0:   =31 00000001.
Sep 13 11:08:38 garfield kernel: :    20 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    21 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    22 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    23 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    24 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    25 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    26 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    27 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    28 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    29 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    30 00000001.
Sep 13 11:08:38 garfield kernel: eth0:    31 00000001.
Sep 13 11:08:38 garfield kernel: eth0: can't fill rx buffer (force 0)!
Sep 13 11:08:38 garfield kernel: eth0: Tx ring dump,  Tx queue 139246330 /
139246330:
Sep 13 11:08:38 garfield kernel: eth0:     0 200ca000.
Sep 13 11:08:38 garfield kernel: eth0:     1 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:     2 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:     3 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:     4 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:     5 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:     6 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:     7 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:     8 200ca000.
Sep 13 11:08:38 garfield kernel: eth0:     9 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    10 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    11 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    12 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    13 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    14 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    15 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    16 200ca000.
Sep 13 11:08:38 garfield kernel: eth0:    17 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    18 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    19 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    20 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    21 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    22 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    23 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    24 200ca000.
Sep 13 11:08:38 garfield kernel: eth0:    25 400ca000.
Sep 13 11:08:38 garfield kernel: eth0:  *=26 000ca000.
Sep 13 11:08:38 garfield kernel: eth0:    27 000ca000.
Sep 13 11:08:39 garfield kernel: eth0:    28 000ca000.
Sep 13 11:08:39 garfield kernel: eth0:    29 000ca000.
Sep 13 11:08:39 garfield kernel: eth0:    30 000ca000.
Sep 13 11:08:39 garfield kernel: eth0:    31 000ca000.
Sep 13 11:08:39 garfield kernel: eth0: Printing Rx ring (next to receive
into 23335943, dirty index
Sep 13 11:08:39 garfield kernel: eth0:     0 00000001.
Sep 13 11:08:39 garfield kernel: eth0:     1 00000001.
Sep 13 11:08:39 garfield kernel: eth0:     2 00000001.
Sep 13 11:08:39 garfield kernel: eth0: l   3 c0000001.
Sep 13 11:08:39 garfield kernel: eth0:  *  4 00000000.
Sep 13 11:08:39 garfield kernel: eth0:     5 00000000.
Sep 13 11:08:39 garfield kernel: eth0:     6 00000000.
Sep 13 11:08:39 garfield kernel: eth0:   = 7 0000a020.
Sep 13 11:08:39 garfield kernel: eth0:     8 00000001.
Sep 13 11:08:39 garfield kernel: eth0:     9 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    10 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    11 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    12 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    13 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    14 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    15 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    16 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    17 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    18 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    19 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    20 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    21 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    22 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    23 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    24 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    25 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    26 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    27 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    28 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    29 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    30 00000001.
Sep 13 11:08:39 garfield kernel: eth0:    31 00000001.
Sep 13 11:08:39 garfield kernel: eth0: can't fill rx buffer (force 0)!
Sep 13 11:08:39 garfield kernel: eth0: Tx ring dump,  Tx queue 139246333 /
139246333:
Sep 13 11:08:39 garfield kernel: eth0:     0 200ca000.
Sep 13 11:08:39 garfield kernel: eth0:     1 000ca000.
Sep 13 11:08:39 garfield kernel: eth0:     2 000ca000.
Sep 13 11:08:39 garfield kernel: eth0:     3 000ca000.
Sep 13 11:08:39 garfield kernel: eth0:     4 000ca000.
Sep 13 11:08:39 garfield kernel: eth0:     5 000ca000.
Sep 13 11:08:39 garfield kernel: eth0:     6 000ca000.
Sep 13 11:08:39 garfield kernel: eth0:     7 000ca000.

I'v started now to use your latest drivers from netdriver-2.0.src.rpm (hope
to maintain the machine more time up ...)

After boot the driver gave an syslog message:

Sep 13 13:45:50 garfield kernel: eepro100.c:v1.11a 7/31/2000 Donald Becker
<becker@scyld.com>
Sep 13 13:45:50 garfield kernel:
http://www.scyld.com/network/eepro100.html
Sep 13 13:45:50 garfield kernel: eth0: Intel PCI EtherExpress Pro100 at
0xe001e000, 00:A0:C9:D8:52:A6, IRQ 18.
Sep 13 13:45:50 garfield kernel:   Board assembly 704666-002, Physical
connectors present: RJ45
Sep 13 13:45:50 garfield kernel:   Primary interface chip i82555 PHY #1.
Sep 13 13:45:51 garfield kernel:   General self-test: passed.
Sep 13 13:45:51 garfield kernel:   Serial sub-system self-test: passed.
Sep 13 13:45:51 garfield kernel:   Internal registers self-test: passed.
Sep 13 13:45:51 garfield kernel:   ROM checksum self-test: passed
(0x49caa8d6).
Sep 13 13:45:51 garfield kernel:   Receiver lock-up workaround activated.
Sep 13 12:45:53 garfield kernel: nfsd_fh_init : initialized fhcache,
entries=1024
Sep 13 12:45:59 garfield kernel: eth0: Command unit failed to mark command
00000000 as complete at 255.

mii-diag now reports:

[root@garfield src]# /usr/local/sbin/mii-diag -v
mii-diag.c:v2.00 4/19/2000  Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Using the default interface 'eth0'.
 MII PHY #1 transceiver registers:
   3000 782d 02a8 0150 01e1 41e1 0001 ffff
   ffff ffff ffff ffff ffff ffff ffff ffff
   0203 0000 0001 ffff 0000 0004 ffff 0003
   0028 0000 0000 0000 ffff ffff ffff ffff.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 You have link beat, and everything is working OK.
   This transceiver is capable of  100baseTx-FD 100baseTx 10baseT-FD
10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Your link partner advertised 41e1: 100baseTx-FD 100baseTx 10baseT-FD
10baseT.
 MII PHY #1 transceiver registers:
   3000 782d 02a8 0150 01e1 41e1 0001 ffff
   ffff ffff ffff ffff ffff ffff ffff ffff
   0a03 0000 0001 0000 0000 0000 0000 0000
   0000 0000 0000 0000 ffff ffff ffff ffff.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 Basic mode status register 0x782d ... 782d.
   Link status: established.
   Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Vendor ID is 00:aa:00:--:--:--, model 21 rev. 0.
   No specific information is known about this transceiver type.
 I'm advertising 01e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT
   Advertising no additional info pages.
   IEEE 802.3 CSMA/CD protocol.
 Link partner capability is 41e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Negotiation  completed.

I'm available to give you more details/debug

TIA

[]-------------------------------------------------------------[]
  Pedro Ribeiro
  Online: http://www.isel.ipl.pt/~pribeiro/
  IRC(PTnet) Nick: PAntMaR
  e-Mail: Personal: pribeiro@net.ipl.pt
          IPLNet/ISELNet Admin: helpdesk@net.ipl.pt
  PGP Key Available in keyservers.
  PGPFP: 6430 6CA7 7642 36D6 718B  A884 FDF0 E8F1 30EA 1D19
[]-------------------------------------------------------------[]