[vortex-bug] sporadic "eth0: Transmit error, Tx status register 82." Errors

Andi Hechtbauer anti@spin.de
31 Jul 2000 16:32:37 +0200


>>>>> "DB" == Donald Becker <becker@scyld.com> writes:

    DB> On 29 Jul 2000, Andi Hechtbauer wrote:
    >> I'm using 3c59x.c:v0.99H 11/17/98 Donald Becker with two 3Com
    >> 3C905B 100bTX (rev 48) NICs in a AMD-K6(tm) 3D /400 Linux
    >> 2.2.12 Machine.
    DB> ...
    >> Since then I'm seeing sporadic "eth0: Transmit error, Tx status
    >> register 82." Messages in our logs, and reading the list
    >> archive I found this may be caused by various things:

    DB> You missed the real reason. It's clearly described at
    DB> http://www.scyld.com/network/vortex.html

    DB> 0x82 Out of window collision.  This typically occurs when some
    DB> other Ethernet host is incorrectly set to full duplex on a
    DB> half duplex network.

Hm, well, since I don't have access to the other boxes on this
lan, I might have to discuss that with my ISP... Is there a way
to find out which host is configured incorrectly (could I or my
ISP spot the culprit using some kind of packet sniffer)?

    >> RX packets:1974491954 errors:56 dropped:0 overruns:88458
    >> frame:89 This bothers me.

    DB> This *should* bother you.  Some other host is hosing your
    DB> network.  The driver usually recovers from out-of-window
    DB> collisions, but that's not a well-tested code path.  I can
    DB> generate a few random out-of-window collisions by forcing the
    DB> link partner to full duplex, but I don't currently have the
    DB> set-up to generate heavy streams of them.

The line reads 
RX packets:2076360643 errors:56 dropped:0 overruns:88458 frame:89
now, so there haven't been any errors since. Just FYI. However I
still keep getting the log message (Transmit error...) every now 
and then.

    >> The system is a server under high network load and works
    >> reliably; every some weeks or so, though, the NIC which really
    >> does all the work (eth0), stops doing just that.

    DB> Are there any messages?

No, the driver quietly stops working, AFAICS.

    DB> The driver version has a bug where, when it has too much work
    DB> to do, disables its interrupts with the message: "%s: Too much
    DB> work in interrupt, status %4.4x.  Temporarily disabling
    DB> functions (%4.4x).\n" This was code was intended to protect
    DB> the machine when the hardware failed or the network load was
    DB> far too high to handle.

No such message in our logs.

    DB> [...]

    DB> Even if you don't see the message, you can find out if this
    DB> has occured by running vortex-diag

    >> $> sudo ./vortex-diag -v vortex-diag.c:v2.02 7/1/2000 Donald
    >> Becker (becker@scyld.com) Index #1: Found a 3c905B Cyclone
    >> 100baseTx adapter at 0xdc00.  Indication enable is 06c6,
    >> interrupt enable is 06de.
    DB>                                                   ^^^^ This 
    DB> value will be changed to disable interrupt sources.

Only in the "hanging" state of the driver, I'd suppose. I'll check
this, if the hangs ever occur again, which I don't hope, I'm going
to update the driver/kernel Real Soon Now.

Thanks for your quick reply,

regards,
-- 
Andi Hechtbauer                                           anti@spin.de 
System Administration                         voice: +49 941 94 65 937
SPiN GmbH               http://www.spin.de/     fax: +49 941 94 65 938  
------- web design - java chats - guestbooks - java/cgi coding -------