Re: Problem: NIC transmit timeouts



Thanks for your reply.
I have an idea what you're talking about, but no more i'm afraid.
I'm no programmer and i don't know how to try what you suggested.
What i did try was applying some patches manually that i found in the mailing list archives.

This is one of them:

--- drivers/net/sunhme.c.~1~ Sun Aug 11 18:37:34 2002
+++ drivers/net/sunhme.c Sun Aug 11 18:38:17 2002
@@ -1640,6 +1640,7 @@
HMD((", enable global interrupts, "));
hme_write32(hp, gregs + GREG_IMASK,
(GREG_IMASK_GOTFRAME | GREG_IMASK_RCNTEXP |
+ GREG_IMASK_TXALL |
GREG_IMASK_SENTFRAME | GREG_IMASK_TXPERR));

/* Set the transmit ring buffer size. */
@@ -2125,8 +2126,8 @@
happy_meal_mif_interrupt(hp);
}

- if (happy_status & GREG_STAT_TXALL) {
- HMD(("TXALL "));
+ if (happy_status & GREG_STAT_HOSTTOTX) {
+ HMD(("HOSTTOTX "));
happy_meal_tx(hp);
}

@@ -2155,7 +2156,7 @@

if (!(happy_status & (GREG_STAT_ERRORS |
GREG_STAT_MIFIRQ |
- GREG_STAT_TXALL |
+ GREG_STAT_HOSTTOTX |
GREG_STAT_RXTOHOST)))
continue;

@@ -2172,8 +2173,8 @@
happy_meal_mif_interrupt(hp);
}

- if (happy_status & GREG_STAT_TXALL) {
- HMD(("TXALL "));
+ if (happy_status & GREG_STAT_HOSTTOTX) {
+ HMD(("HOSTTOTX "));
happy_meal_tx(hp);
}

The other just put a "udelay(1)" on line 1999 of sunhme.c.
With the udelay(1) it seemed like after a reboot it would take longer for the timeout to happen. The other made no difference.

Very thankful for your time.
Jonas



----- Original Message ----- From: "John Z. Bohach" <jzb@xxxxxxxxxxxxx>
To: "PaNiC" <panic@xxxxxxxxxxxxxx>; <linux-kernel@xxxxxxxxxxxxxxx>
Sent: Monday, March 06, 2006 6:33 PM
Subject: Re: Problem: NIC transmit timeouts


On Monday 06 March 2006 04:28, PaNiC wrote:
1. The problem is that the outbound interface in a Sun Enterprise 250
running maquerade gets transmit timeouts frequently.

2. I get the error "NETDEV WATCHDOG: eth0: transmit timed out" and a
couple of seconds later the interface jumps back up again. This

I can't say what the cause of your particular NETDEV WATCHDOG timeout may
be, but I had the same problem, and I root-caused it to the host bus <--> PCI bridge
configuration. In particular, the multi-transaction timeout register in the bridge
wasn't programmed, and heavy PCI traffic would cause aborts. Also, the
ICH configuration register had to be programmed according to the manufacturer's
recommendations.

This was on Intel h/w, and the registers to which I refer are
proprietary, so its a bit difficult to know what values to program where,
but it might give you a place to start. On the other hand, some people have
reported issues with their device driver causing some timeouts, but your symptoms
seem to more closely resemble what I was seeing than those folks who had
s/w issues.

Regards,
John





-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: Serial driver error handling
    ... In discussions with our main programmer here (I am mainly an ... just return EOF as a "nothing available" indicator. ... EOF has a somewhat different significance than in the non-blocking case. ... I like the non-blocking timeout model since my usage might be listening ...
    (comp.arch.embedded)
  • RE: default timeout for IO::Socket::INET
    ... oh will be trying to connect to the remote host forever until it gets ... Based on my reading of the code it looks like it doesn't timeout by default. ... The most important skill a programmer can have is the ability to read. ...
    (perl.beginners)
  • Re: How does this make you feel?
    ... If it is possible to offload work from the programmer in such a common case, ... the end user doesn't care in the least about computer architecture aesthetics. ... behaviour of a conventionally conceieved register. ... advocating a change in the way registers are conceived from a CPU ...
    (comp.arch)
  • Re: Help to copy PAL16 / GAL16 / GAL20 ICs
    ... > these chips and fear I may run in to this issue. ... > fear it may be more programmer then I might need. ... > what options do I have to try and reverse engineer these chips? ... the internal gate and register mapping, ...
    (sci.electronics.basics)
  • Re: ATA device reset, shoud I be concerned?
    ... while the command is not in flight, ... Maybe the difference is not in timeout but what the driver does after ... libata ignores almost everything (it ... TF status register says so. ...
    (Linux-Kernel)