[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 -------