Boomerang TX problems

Johan Lundgren admin@airliners.net
Sun Feb 28 19:45:26 1999


I run a Linux webserver with the 3Com 3c900 Boomerang 10Mbps Combo card
installed. It's a loaded server with an average of more than 6
requests/sec. Ever since I got the card a few months ago (I had a ISA 3c509
before) I've had problems with TX timeouts. I always thought it was me that
done something wrong but I'm not so sure anyone.

The problem is as follows: Every once in a while, mostly during peak load
hours I get a
"kernel: eth0: transmit timed out, tx_status 00 status e000"
message in my logs. I didn't care about it much at first as it didn't seem
to cause much harm. But as the server got more loaded I experienced it more
frequently. At peak hours the transmit timeout errors can suddenly start
occurring with a seconds interval and kill all network traffic. I have to
reboot the machine to get it online again.

I've checked for IRQ conflicts, moved the card around different PCI slots,
tried different BIOS settings but to no avail. 

I have "non-PnP OS" set in BIOS, i use the kernel 2.0.35 and the card
driver 0.99H. The motherboard is an ASUS (T55P2T4 with a P200).

The situation is getting desperate as the TX transmit errors occurs more
and more frequently. Anything you can think of that might solve the
situation is highly appreciated.

Below are some printouts from logs and the vortex-diag program.

Regards,
Johan Lundgren
admin@airliners.net

At boot:
3c59x.c:v0.99H 11/17/98 Donald Becker
http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html 
eth0: 3Com 3c900 Boomerang 10Mbps Combo at 0xe000,  00:60:97:60:cd:2d, IRQ 11 
8K word-wide RAM 3:5 Rx:Tx split, autoselect/10baseT interface. 
Enabling bus-master transmits and whole-frame receives. 

In the system logs:
kernel: eth0: transmit timed out, tx_status 00 status e000. 
kernel:   Flags; bus-master 1, full 1; dirty 1959784 current 1959800. 
kernel:   Transmit list 00000000 vs. 0038a2a0. 
kernel:   0: @0038a220  length 80000136 status 00000136 
kernel:   1: @0038a230  length 80000136 status 00000136 
kernel:   2: @0038a240  length 8000024e status 0000024e 
kernel:   3: @0038a250  length 8000024e status 0000024e 
kernel:   4: @0038a260  length 8000024e status 0000024e 
kernel:   5: @0038a270  length 800000f4 status 000000f4 
kernel:   6: @0038a280  length 80000036 status 80000036 
kernel:   7: @0038a290  length 8000024e status 8000024e 
kernel:   8: @0038a2a0  length 800005ea status 000005ea 
kernel:   9: @0038a2b0  length 800005ea status 000005ea 
kernel:   10: @0038a2c0  length 800005ea status 000005ea 
kernel:   11: @0038a2d0  length 800005ea status 000005ea 
kernel:   12: @0038a2e0  length 800005ea status 000005ea 
kernel:   13: @0038a2f0  length 800005ea status 000005ea 
kernel:   14: @0038a300  length 800005ea status 000005ea 
kernel:   15: @0038a310  length 800005ea status 000005ea 
kernel: eth0: Resetting the Tx ring pointer. 


vortex-diag -aa
vortex-diag.c:v1.05 5/22/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Found a 3Com PCI Ethernet 3c900 rev 0 at 0xe000.
The Vortex chip may be active, so FIFO registers will not be read.
To see all register values use the '-f' flag.
Initial window 7, registers values by window:
  Window 0: 0000 0000 0000 0000 0000 00a2 ffff 0000.
  Window 1: FIFO FIFO 0000 2000 8000 00e9 13fc 2000.
  Window 2: 6000 6097 2dcd 0000 0000 0000 06c6 4000.
  Window 3: 02d8 0103 0000 0000 e138 0bff 13ff 6000.
  Window 4: 0000 00cd 0000 0cc0 0000 88c0 0000 8000.
  Window 5: 1ffc fffc 06c6 0600 0005 06de 06c6 a000.
  Window 6: 0000 0000 0000 0100 0000 003c 01fa c000.
  Window 7: a2e8 0038 0000 0000 8000 00ff 500c e000.
Vortex chip registers at 0xe000
  0xE010: **FIFO** **FIFO** 00008000 000013fc
  0xE020: 00000021 00000000 070d3822 06000080
  0xE030: 00000000 0000b275 0038a050 00000000
 No interrupt sources are pending.
 Transceiver/media interfaces available:  10baseT 10base2 AUI.
 MAC settings: half-duplex.

vortex-diag -e
vortex-diag.c:v1.05 5/22/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Found a 3Com PCI Ethernet 3c900 rev 0 at 0xe000.
EEPROM contents:
  0060 9760 cd2d 9001 a024 0036 4a48 6d50
  0418 0000 0060 9760 cd2d 0010 0000 0000
  00a6 0000 02d8 0103 0000 0000 0000 006e
  ffff ffff 500c 500c 500c 500c 500c 500c
  500c 500c 500c 500c 500c 500c 500c 500c
  500c 500c 500c 500c 500c 500c 500c 500c
  500c 500c 500c 500c 500c 500c 500c 500c
  500c 500c 500c 500c 500c 500c 500c 500c
 The word-wide EEPROM checksum is 0x9caa.
Parsing the EEPROM of a 3Com Vortex/Boomerang:
 3Com Node Address 00:60:97:60:CD:2D (used as a unique ID only).
 OEM Station address 00:60:97:60:CD:2D (used as the ethernet address).
 Manufacture date (MM/DD/YY) 1/4/80, division 6, product HJ.
Options: .
  Vortex checksum is 6e (vs. 6e),Cyclone checksum is 00 (vs. 500c).

vortex-diag -mm
vortex-diag.c:v1.05 5/22/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Found a 3Com PCI Ethernet 3c900 rev 0 at 0xe000.
 ***WARNING***: No MII transceivers found!