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" <[email protected]>
To: "PaNiC" <[email protected]>; <[email protected]>
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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]