Hello,
I am being plagued by
Sep 16 18:38:14 mcl_x eth1: Media Link Off
Sep 16 18:38:38 mcl_x eth1: Media Link On 10mbps half-duplex
Sep 16 18:38:42 mcl_x NETDEV WATCHDOG: eth1: transmit timed out
Sep 16 18:38:42 mcl_x eth1: Transmit timeout, status 00000004 00000000
Sep 16 18:38:50 mcl_x NETDEV WATCHDOG: eth1: transmit timed out
Sep 16 18:38:50 mcl_x eth1: Transmit timeout, status 00000004 00000000
.......
The problem is that if the interface goes down for any reason
it gets broken. The Link off/on is expected it's what follows
that is not.
The only fix that I have at present is a reboot.
The interface is connected to a 10mbps hub that does
no autonegotiation.
This seems to happen every time the interface goes down.
When the above errors occur the interface usually becomes almost
completely unresponsive. e.g. Ping round trip times via this
interface range up to 5s. It is ocurring consistently on a number
of different computers and is I believe due to a bug.
I noticed:
http://www.ussg.iu.edu/hypermail/lin...03.3/0018.html
This seems to state that the driver fails if an attempt is made to
transmit a packet before autonegotiation is complete.
I have therefore tried to get the interface to use settings specified
by me but can find no way to accomplish this.
"mii-tool -F 10baseT-HD eth1" does change it but only until it goes down
again. When it comes back up we are in the "no negotiate" mode again.
This means that autonegotiation is ON but that it has failed.
I have also tried ethtool but it won't work against my driver.
mcl_x-~#ethtool -s eth1 speed 10 duplex half autoneg off
Cannot get current device settings: Operation not supported
not setting speed
not setting duplex
not setting autoneg
mcl_x-~#
I have learned more about linux startup than I really want to know
but still feel no closer to a solution.
The hardware is a firewall appliance that uses Redhat Linux as its OS.
uname -a
Linux 2.4.9-34.11xxx #1 Tue Jan 28 16:53:15 CST 2003 i686 unknown
Since it's a commercial product I am a little reluctant to fiddle
with the code although I guess that I might be able to build a
development system I don't even have one right now.
Can anyone tell me if there is a way to configure the ethernet
ports such that they NEVER negotiate at all.
It has been suggested that increasing
/sbin/sysctl -w net.core.netdev_max_backlog=300
from its present value may help but I am a little worried
that I may need to change other parameters (eg memory) too and in
any case don't think that it will work.
Thanks a lot for any ideas.