[eepro100] "Transmit timed out:" when activating the interface

erik gostischa franta frost@proximitygroup.com
Wed, 27 Dec 2000 18:00:24 -0500


hi all,

I just just compiled a 2.2.18 kernel from the vanilla source .
on a dual pentium box with two Intel EEPRO interfaces.
rev 5 & rev 9 I think
and I am using the newest 1.12 eepro driver from donald becker.

well, everything seems to work fine..except:
at boot up (or everytime I restart the network of course)
I get folowing error message:

eth0: Transmit timed out: status 0000  0090 at 0/7 commands 0001a000 
00020000 00030000
(you'll find a more complete dmesg dump at the end of this message)

so, question:
can I overlook this, is it important, I am concerned about the satbility of
this box because I had the "reporting no rx buffers" error message a few 
months ago.
What I did back then is switch to the intel drivers, but I cant use 
those any more since I
am using the 2.2.18 kernel now.
(I believe the 2.2.18 doesnt incoporate the udelay function anymore, 
instead there is a
mdelay, which is of course more acurate, but counts in milliseconds 
instead of microseconds)

My watered down sys specs: RH6.2, N440BX Intel MB, SMP kernel but only 
one processor in the system


thx alot for all replies, erik


here is the output of a few diag programs also frmo donald becker:
(these were all done after the system had been running for a while (2h), 
after I did a test
copy of 2.5GB over the network to see if it is stable and after I shut 
down the network)



eepro-diag with -a flag:

eepro100-diag.c:v2.02 7/19/2000 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a Intel i82557 (or i82558) EtherExpressPro100B adapter 
at 0x1080.
i82557 chip registers at 0x1080:
  00000000 00000000 00000000 00080002 182540a1 00000600
  No interrupt sources are pending.
  The transmit unit state is 'Idle'.
  The receive unit state is 'Idle'.
  This status is unusual for an activated interface.
Index #2: Found a Intel i82557 (or i82558) EtherExpressPro100B adapter 
at 0x1060.
i82557 chip registers at 0x1060:
  00000000 00000000 00000000 00080002 18250000 00000600
  No interrupt sources are pending.
  The transmit unit state is 'Idle'.
  The receive unit state is 'Idle'.
  This status is unusual for an activated interface.




eepro-diag with -e flag:

eepro100-diag.c:v2.02 7/19/2000 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a Intel i82557 (or i82558) EtherExpressPro100B adapter 
at 0x1080.
Intel EtherExpress Pro 10/100 EEPROM contents:
  Station address 00:90:27:59:01:E5.
  Board assembly 721383-006, Physical connectors present: RJ45
  Primary interface chip i82555 PHY #1.
Index #2: Found a Intel i82557 (or i82558) EtherExpressPro100B adapter 
at 0x1060.
Intel EtherExpress Pro 10/100 EEPROM contents:
  Station address 00:A0:C9:AD:0F:B9.
  Receiver lock-up bug exists. (The driver work-around *is* implemented.)
  Board assembly 677173-001, Physical connectors present: RJ45
  Primary interface chip i82555 PHY #1.




eepro-diag with -m flag:

eepro100-diag.c:v2.02 7/19/2000 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a Intel i82557 (or i82558) EtherExpressPro100B adapter 
at 0x1080.
MII PHY #1 transceiver registers:
  3000 782d 02a8 0154 05e1 40a1 0001 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0a02 0000 0001 0000 0000 0000 0000 0000
  0000 0000 0b10 0000 0000 0000 0000 0000.
MII PHY #1 transceiver registers:
  3000 782d 02a8 0154 05e1 40a1 0001 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0a02 0000 0001 0000 0000 0000 0000 0000
  0000 0000 0b10 0000 0000 0000 0000 0000.
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. 4.
  No specific information is known about this transceiver type.
I'm advertising 05e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT
  Advertising no additional info pages.
  IEEE 802.3 CSMA/CD protocol.
Link partner capability is 40a1: 100baseTx 10baseT.
  Negotiation  completed.
Index #2: Found a Intel i82557 (or i82558) EtherExpressPro100B adapter 
at 0x1060.
MII PHY #1 transceiver registers:
  3000 7809 02a8 0150 05e1 0000 0000 ffff
  ffff ffff ffff ffff ffff ffff ffff ffff
  0000 0000 0001 0000 0000 0000 0000 0000
  0000 0000 0000 0000 ffff ffff ffff ffff.
MII PHY #1 transceiver registers:
  3000 7809 02a8 0150 05e1 0000 0000 ffff
  ffff ffff ffff ffff ffff ffff ffff ffff
  0000 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 0x7809 ... 7809.
  Link status: not established.
  Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
  Able to perform Auto-negotiation, negotiation not complete.
Vendor ID is 00:aa:00:--:--:--, model 21 rev. 0.
  No specific information is known about this transceiver type.
I'm advertising 05e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT
  Advertising no additional info pages.
  IEEE 802.3 CSMA/CD protocol.
Link partner capability is 0000:.
  Negotiation did not complete.




mii-diag:

Basic registers of MII PHY #1:  3000 782d 02a8 0154 05e1 40a1 0001 0000.
Basic mode control register 0x3000: Auto-negotiation enabled.
You have link beat, and everything is working OK.
Your link partner advertised 40a1: 100baseTx 10baseT.




pci-config:

pci-config.c:v2.01 7/4/2000 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Device #1 at bus 0 device/function 0/0, 71928086.
Device #2 at bus 0 device/function 13/0, 000f1000.
Device #3 at bus 0 device/function 13/1, 000f1000.
Device #4 at bus 0 device/function 14/0, 12298086.
Device #5 at bus 0 device/function 15/0, 12298086.
Device #6 at bus 0 device/function 18/0, 71108086.
Device #7 at bus 0 device/function 18/1, 71118086.
Device #8 at bus 0 device/function 18/2, 71128086.
Device #9 at bus 0 device/function 18/3, 71138086.
Device #10 at bus 0 device/function 20/0, 00bc1013.




a dmesg dump gives me:

eth0: Tx ring dump,  Tx queue 7 / 0:
eth0: * 0 0001a000.
eth0:   1 00020000.
eth0:   2 00030000.
eth0:   3 00030000.
eth0:   4 00030000.
eth0:   5 00030000.
eth0:   6 40030000.
eth0:  =7 00000000.
eth0:   8 00000000.
eth0:   9 00000000.
eth0:   10 00000000.
eth0:   11 00000000.
eth0:   12 00000000.
eth0:   13 00000000.
eth0:   14 00000000.
eth0:   15 00000000.
eth0:   16 00000000.
eth0:   17 00000000.
eth0:   18 00000000.
eth0:   19 00000000.
eth0:   20 00000000.
eth0:   21 00000000.
eth0:   22 00000000.
eth0:   23 00000000.
eth0:   24 00000000.
eth0:   25 00000000.
eth0: 26 00000000.
eth0: 27 00000000.
eth0: 28 00000000.
eth0: 29 00000000.
eth0: 30 00000000.
eth0: 31 00000000.
eth0:Printing Rx ring (next to receive into 0).
Rx ring entry 0 00000001.
Rx ring entry 1 00000001.
Rx ring entry 2 00000001.
Rx ring entry 3 00000001.
Rx ring entry 4 00000001.
Rx ring entry 5 00000001.
Rx ring entry 6 00000001.
Rx ring entry 7 00000001.
Rx ring entry 8 00000001.
Rx ring entry 9 00000001.
Rx ring entry 10 00000001.
Rx ring entry 11 00000001.
Rx ring entry 12 00000001.
Rx ring entry 13 00000001.
Rx ring entry 14 00000001.
Rx ring entry 15 00000001.
Rx ring entry 16 00000001.
Rx ring entry 17 00000001.
  Rx ring entry 18  00000001.
  Rx ring entry 18  00000001.
  Rx ring entry 19  00000001.
  Rx ring entry 20  00000001.
  Rx ring entry 21  00000001.
  Rx ring entry 22  00000001.
  Rx ring entry 23  00000001.
  Rx ring entry 24  00000001.
  Rx ring entry 25  00000001.
  Rx ring entry 26  00000001.
  Rx ring entry 27  00000001.
  Rx ring entry 28  00000001.
  Rx ring entry 29  00000001.
  Rx ring entry 30  00000001.
  Rx ring entry 31  c0000002.
  PHY index 1 register 0 is 3000.
  PHY index 1 register 1 is 782d.
  PHY index 1 register 2 is 02a8.
  PHY index 1 register 3 is 0154.
  PHY index 1 register 4 is 05e1.
  PHY index 1 register 5 is 40a1.
  PHY index 1 register 21 is 0000.
eth0: Tx ring dump,  Tx queue 7 / 0:
eth0: * 0 0001a000.
eth0:   1 00020000.
eth0:   2 00030000.
eth0:   3 00030000.
eth0:   4 00030000.
eth0:   5 00030000.
eth0:   6 40030000.
eth0:  =7 00000000.
eth0:   8 00000000.
eth0:   9 00000000.
eth0:   10 00000000.
eth0:   11 00000000.
eth0:   12 00000000.
eth0:   13 00000000.
eth0:   14 00000000.
eth0:   15 00000000.
eth0:   16 00000000.
eth0:   17 00000000.
eth0:   18 00000000.
eth0:   19 00000000.
eth0:   20 00000000.
eth0:   21 00000000.
eth0:   22 00000000.
eth0:   23 00000000.
eth0:   24 00000000.
eth0:   25 00000000.
eth0:   26 00000000.
eth0:   27 00000000.
eth0:   28 00000000.
eth0:   29 00000000.
eth0:   30 00000000.
eth0:   31 00000000.
eth0:Printing Rx ring (next to receive into 0).
  Rx ring entry 0  00000001.
  Rx ring entry 1  00000001.
  Rx ring entry 2  00000001.
  Rx ring entry 3  00000001.
  Rx ring entry 4  00000001.
  Rx ring entry 5  00000001.
  Rx ring entry 6  00000001.
  Rx ring entry 7  00000001.
  Rx ring entry 8  00000001.
  Rx ring entry 9  00000001.
  Rx ring entry 10  00000001.
  Rx ring entry 11  00000001.
  Rx ring entry 12  00000001.
  Rx ring entry 13  00000001.
  Rx ring entry 14  00000001.
  Rx ring entry 15  00000001.
  Rx ring entry 16  00000001.
  Rx ring entry 17  00000001.
  Rx ring entry 18  00000001.
  Rx ring entry 19  00000001.
  Rx ring entry 20  00000001.
  Rx ring entry 21  00000001.
  Rx ring entry 22  00000001.
  Rx ring entry 23  00000001.
  Rx ring entry 24  00000001.
  Rx ring entry 25  00000001.
  Rx ring entry 26  00000001.
  Rx ring entry 27  00000001.
  Rx ring entry 28  00000001.
  Rx ring entry 29  00000001.
  Rx ring entry 30  00000001.
  Rx ring entry 31  c0000002.
  PHY index 1 register 0 is 3000.
  PHY index 1 register 1 is 782d.
  PHY index 1 register 2 is 02a8.
  PHY index 1 register 3 is 0154.
  PHY index 1 register 4 is 05e1.
  PHY index 1 register 5 is 40a1.
  PHY index 1 register 21 is 0000.