tx timeout error

Olivier Montanuy olivier.montanuy@cnet.francetelecom.fr
Wed Aug 26 06:41:22 1998


After 3 days of experiments I still experience tx timeout errors with 3c900.
Is there something rotten in 3c900, and should I get card from another brand?


System: P2/350, ABIT, PCI slots with Adaptec 2490 SCSI card,
Mystique and 3C900 on 10baseT. pretty standard, I'd say.
I checks the 10baseT cables and they looked ok (and they work...
at least most of the time).
O/S: Linux redhat 5.1 with 3c59x.c:v0.99E 5/12/98
 There is no other O/S on this machine (especially no win95/98)

Observation:

- if the Adaptec 2490 is put close to the 3c900, the tx time-out happen
  within 5 minutes.

           kernel: eth0: 3Com 3c900 Boomerang 10Mbps/Combo at 0x6800,
00:60:08:bd:b8:d3, IRQ 9
           kernel: eth0: transmit timed out, tx_status 00 status e800.
           kernel: eth0: transmit timed out, tx_status 00 status e000.
           kernel: eth0: Tx Ring full, refusing to send buffer.

- if there is an empty PCI slot next to the 3c900, the tx time-out happens
   within a few hours. Removing the Adaptec SCSI card doesn't improve the
situation.

- If I remove routed and named from the system (because they regularly send
broadcasts)
   the tx time-out still happen, but it take around 36 hours - unfortunately a
Linux server isn't
   supposed to reboot once a  day, countrary to NT.

        kernel: eth0: 3Com 3c900 Boomerang 10Mbps/Combo at 0x6800,
00:60:97:6e:62:04, IRQ 9
        kernel: eth0: Host error, FIFO diagnostic register 2000.
        kernel: eth0: transmit timed out, tx_status 00 status 8000.
        kernel: eth0: transmit timed out, tx_status 00 status e800.

- I tried to stuff in a 3c509 combo in this PC but it never accepted to work
with 10 base T.
  Trying to re-configure it with isapnp failed, even though the card replies to
pnpdump.
   So I really have to use the 3c900.

- I have two HP vectra PPro/200 (HP motherboard) that somehow accept to work
with 3c900.
   They are running RedHat 4.2, with 3c59x.c:v0.46C 10/14/97.
    From time to times, at boot, the 3c900 reports a PCI device ID of 0000
instead of 5900, and it takes
    a power shutdown to resotre the right ID.

My conclusions:

- The 3c900 have a problem with PCI, or maybe a problem with some PCI
motherboards.
   They seem to be much too sensitive to the presence of other devices on the
PCI bus.
- There might be a problem with the current 3c59x driver, that wasn't present in
version v0.46c.
    Unfortunately there are too many diffs for me to understand the changes.
- It would be cool if the driver documented the status registers, in the source
code
   or directly in the kernel messages. Where can the 3c900 docs be obtained?

  Olivier Montanuy