"NETDEV WATCHDOG: eth0: transmit timed out"问题解决办法小结

Linux中的一种解决办法:

1. 打开/boot/grub/menu.lst文件,在启动的核心kernel那行最后加上: acpi=off noapic。

   其中:

         1) acpi=off 禁止了一些电源高级管理功能,对你的应用程序没有影响。

         2) noapic 改变了中断方式,对应用也没有影响。
   详见: NETDEV WATCHDOG: eth0: transmit timed out问题

2. ethtool -K eth0 tso off

3. 重新装网卡驱动。 
  

 rmmod r8169 && modprobe r8169 && update-modules

 
   或更彻底点重新下载个驱动安装,不一定下最新的,因为更新的驱动可能会不适合一些老网卡,所以老的驱动可能没有这个 问题。

4. 换用旧的内核试试。

5. 关闭ecn。 在文件/etc/sysctl.conf中加入

 net.ipv4.tcp_ecn=0 

6. 关闭IPV6支持。在文件/etc/modprobe.d/aliases中把alias net-pf-10 ipv6 替换成如下两行:

   alias net-pf-10 off 
   alias ipv6 off 

7. 强制设定网卡工作模式: mii-tool 100baseTx-HD
   100baseTx-HD 是100M双绞线全双工的意思。其他的可以mii-tool --help看看,或到网上查查。

 

另外看到别人的办法:

  以前是debian + win2K 双系统。最近终于决定要升级到winxp了。

  在原来win的分区重新装了xp后,就出现这种问题了。

  可偏偏此前还升级了debian,并在xp下运行过p2pover之类的软件。所以问题原因就不好确定了。

  最后,确定原因是:winxp的网卡设置里有一项功能是在关闭xp时关闭网卡的网络唤醒(wake-on-lan)。而debian却偏偏不能把这个打开。这才出现了这个问题。

  解决办法呢,就是在winxp下,右键点击“网上邻居”,点击“属性”,在右键点击“本地连接”,再点“属性”->"配置"->"高级",然后设置“Wake-on-LAN”为“enable”。然后重启,进入linux就可以联网了。

Friday, July 19, 2013 | Networking

文章评论

No comments posted yet.

发表评论

Please add 4 and 8 and type the answer here: