`
icarusli
  • 浏览: 531148 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

解决“NETDEV WATCHDOG: eth0: transmit timed out”

阅读更多


    前天有台服务器出现网卡异常情况,具体表现是从公网ping不通该网卡,从内网卡登陆到该机器后,发现其应用服务都正常,重新启动网络后解决问题,查看日志信息,发现有以下错误信息:
 
Apr 13 23:24:24 test kernel: NETDEV WATCHDOG: eth0: transmit timed out,Disabled Privacy Extensions on device c0332e60(lo)。
 
    经过查找资料,发现是属于一个疑难杂症的问题,开始以为是驱动版本过低,但是想想这样的网卡对linux而言是多么的标准呀,百思不得其解中,加入这两个参数,问题解决。
 
方法:
/boot/grub/menu.lst文件,在启动的核心kernel那行最后加上
acpi=off noapic
 
1)acpi=off禁止了一些电源高级管理功能,对你的应用程序没有影响。
2)noapic改变了中断方式,对应用也没有影响
 
 
—————————————————————————————————————————————————
ACPI和APIC有什么关系?
 
   很多人问道了什么ACPI,什么是APIC,他们有没有关系?名字这么相近。下面给出我对其的一些理解,具体的解释可以查看内核文档库的内核参数文件:
/usr/src/`uname -r`/Documents/kernel-parameters.txt
ACPI就是Advanced Configuration and Power Interface的缩写,意思是“高级配置与电源接口”。这是英特尔、微软和东芝共同开发的一种电源管理标准。
  ACPI可实现以下功能:   
  1、用户可以使外设在指定时间开关;   
  2、使用笔记本电脑的用户可以指定计算机在低电压的情况下进入低功耗状态,以保证重要的应用程序运行;   
  3、操作系统可以在应用程序对时间要求不高的情况下降低时钟频率;
  4、操作系统可以根据外设和主板的具体需求为它分配能源;
  5、在无人使用计算机时可以使计算机进入休眠状态,但保证一些通信设备打开;
  6、即插即用设备在插入时能够由ACPI来控制。
  不过,ACPI和其他的电源管理方式一样,要想享受到上面这些功能,必须要有软件和硬件的支持。在软件方面,Windows 98及其后续产品和Windows 2000都对ACPI给予了全面的支持;而Linux的内核目

前对此支持得并不是太理想。硬件方面比较麻烦,除了要求主板、显卡和网卡等外设要支持ACPI外,还需要机箱电源的配合。电源在提供5伏电压给主板的同时,还必须使电流稳定在720毫安以上才可以

,这样它才能够实现电脑的“睡眠”和“唤醒”。
  ACPI共有六种状态,分别是S0到S5,它们代表的含义分别是:
  S0--实际上这就是我们平常的工作状态,所有设备全开,功耗一般会超过80W;
  S1--也称为POS(Power on Suspend),这时除了通过CPU时钟控制器将CPU关闭之外,其他的部件仍然正常工作,这时的功耗一般在30W以下;(其实有些CPU降温软件就是利用这种工作原理)
  S2--这时CPU处于停止运作状态,总线时钟也被关闭,但其余的设备仍然运转;
  S3--这就是我们熟悉的STR(Suspend to RAM),这时的功耗不超过10W;
  S4--也称为STD(Suspend to Disk),这时系统主电源关闭,但是硬盘仍然带电并可以被唤醒;
  S5--这种状态是最干脆的,就是连电源在内的所有设备全部关闭,功耗为0。
  我们最常用到的是S3状态,即Suspend to RAM(挂起到内存)状态,简称STR。顾名思义,STR就是把系统进入STR前的工作状态数据都存放到内存中去。在STR状态下,电源仍然继续为内存等最必要的

设备供电,以确保数据不丢失,而其他设备均处于关闭状态,系统的耗电量极低。一旦我们按下Power按钮(主机电源开关),系统就被唤醒,马上从内存中读取数据并恢复到STR之前的工作状态。内存

的读写速度极快,因此我们感到进入和离开STR状态所花费的时间不过是几秒钟而已;而S4状态,即 STD(挂起到硬盘)与STR的原理是完全一样的,只不过数据是保存在硬盘中。由于硬盘的读写速度比

内存要慢得多,因此用起来也就没有STR那么快了。 STD的优点是只通过软件就能实现,比如Windows 2000就能在不支持STR的硬件上实现STD。
之前的电源管理是APM(Advanced Power Management),那么ACPI和APM相比有什么区别呢?
2、ACPI与APM比较
APM 1.0&1.1:由BIOS执行电源管理;
APM 1.2:操作系统定义电源管理时间,由BIOS负责执行;
ACPI:BIOS收集硬件信息,定义电源管理方案;由操作系统负责执行。
APM是一种软件解决方案,因此是与操作系统有关的, 而ACPI是工业标准,包括了软件和硬件方面的规范。
APIC (高级可编程中断控制器)对计算机来讲有两个作用,
一是管理IRQ的分配,可以把传统的16个IRQ扩展到24个(传统的管理方式叫PIC),以适应更多的设备。
二是管理多CPU。由于Nf2主板并不支持多CPU,所以,APIC关闭直接的影响是减少了可用的IRQ。
不过,如果板卡不是非常多的话,关闭 APIC对系统是没有什么影响的。
要实现SMP功能,我们使用的CPU必须具备以下要求:
CPU内部必须内置APIC单元。Intel 多处理规范的核心就是高级可编程中断控制器(Advanced Programmable Interrupt Controllers--APICs)的使用。CPU通过彼此发送中断来完成它们之间的通信。通

过给中断附加动作(actions),不同的CPU可以在某种程度上彼此进行控制。每个CPU有自己的APIC(成为那个CPU的本地APIC),并且还有一个I/O APIC来处理由I/O设备引起的中断,这个I/O APIC是安

装在主板上的,但每个CPU上的APIC则不可或缺,否则将无法处理多CPU之间的中断协调。
APIC可能遇到的问题,很多这类问题可以通过BIOS更新来解决。
下面的是通过更改HAL类型来解决
  CPU实际运行频率与BIOS设定频率不符
  NF2的用户大约有10%的会出现CPU实际运行频率与BIOS设定频率不符的问题。我们称之为“频率不对”。
  这种现象带来的直接后果就是在测试3dmark或跑3D游戏的时候,会感觉不流畅,也称之为“顿”。
  一般在更改BIOS设置后、更新驱动后重启时,用测试软件如Aida32、MBM5等可以看到CPU的运行频率和你在BIOS里设置得不一样,而且差距很大。这个时候,用super pi测试CPU速度,会比平常花费

时间长好几秒,用3dmark跑测试,会比平常低几百分甚至上千分。在3dmark中看到的CPU频率,也与BIOS设定不符合。
  如果出现这种情况,则属于我们所讨论的“频率不对”的问题。
  不过,不是所有的3D游戏“顿”都是这个原因。判断的方法是:如果你只有个别游戏“顿”,或者用上述软件测试频率正确,就不是此问题。
  如果判断确实属此问题,解决的方法也很简单,经过网友讨论,只要关闭APIC功能即可。(注意,是APIC,不是ACPI)。
有一些服务器(比如IBM的,HP的),安装LINUX时,会给出内核的错误,导致无法安装,这个时候可以在安装的时候输入
linux acpi=off noapic
应该是安装上的。 
 

 


=====================================================================================
2.6内核,用iptables做了一个简单的NAT,

eht0: DLink530TX网卡,连接外网
eht1:主板集成ntel pro/100VE ,连接LAN

modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

结果发现有时候会在屏幕上提示以下信息:

NETDEV WATCHDOG :eth0: transmit timed out
eth0: transmit timed out,status 00000000,resetting....

然后,NAT就不正常了
客户端上网的速度非常慢,甚至连接不了各大网站,


网络上的解决方法是

ethtool -K eth0 tso off

或者重新安装一下驱动
这个市intel 1000M网卡的处理方法

 

 

======================================================================================

这个问题可真是疑难杂症了,从2001年甚至更早到2009年5月就在前几天,都有人在网上问这个问题,并且能得到答案的人很少,能最终解决了的更是少之又少。我也遇到了这个问题,经过千辛万苦

终于找到了答案。这个问题的答案不只一个,我做个小结,你可以挨个试试,应该有一个适合你的情况。

先说我的情况。我以前是debian + win2K 双系统。最近终于决定要升级到winxp了。在原来win的分区重新装了xp后,就出现这种问题了。可偏偏此前还升级了debian,并在xp下运行过 p2pover之

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

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

linux就可以联网了。

下面是我在搜索过程中看到的其他情况的解决办法:

1. 打开/boot/grub/menu.lst文件,在启动的核心kernel那行最后加上: acpi=off noapic。

 其中:1) acpi=off 禁止了一些电源高级管理功能,对你的应用程序没有影响。
 2)noapic 改变了中断方式,对应用也没有影响。


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看看,或到网上查查。

分享到:
评论

相关推荐

    LINUX服务器前台常出现的提示及含意.pdf

    6. **NETDEV WATCHDOG: eth1: transmit timed out** - **含义**:网卡传送数据超时。 - **分析**: - 表明网络通信出现了严重问题,通常是网络断线或网卡故障造成的。 - 需要及时检查网络连接状态,并考虑更换或...

    Linux服务器常出现的错误及其代表的含义

    - `NETDEV WATCHDOG: eth1: transmit timed out` - `eth1: link down` - `eth1: link up, 10Mbps, half-duplex, lpa 0x0000` - `eth2: link up, 100Mbps, full-duplex, lpa 0x41E1` - `setting full-duplex ...

    Linux 应用程序connect timeout原因

    为了解决“connect timeout”的问题,我们需要深入分析数据包在网络传输过程中的各个环节,并识别可能导致数据包丢失的因素。下面将详细介绍整个流程中的关键环节及其潜在问题。 ### 数据包接收流程 1. **物理网卡...

    netdev网络设备

    在某些2.6.24rc版本之后,用户开始遇到在网络设备卸载时出现的警告信息:“unregister_netdevice: waiting for tun0 to become free. Usage count = 1”。这种现象不仅出现在虚拟网络设备(如tun0)上,还出现在通过...

    netdev:异步多供应商库,用于与网络设备进行交互

    耐特夫 异步多供应商库,用于与网络设备进行交互 受到netmiko的启发 要求: 异步的 异步SSH Python> = 3.5 pyYAML ... async with netdev . create ( ** param ) as ios : # Testing sending sim

    SDK对接解码器接口调用及Demo使用流程(宇视科技).pdf

    8. 实况上墙操作或被动解码操作:使用 NETDEV_XW_CreateLiveBind 接口将视频源信息发送给解码设备,使用 NETDEV_StartPassiveDecode 开启解码设备被动收流,使用 NETDEV_SendPassiveData 接口向设备发送流数据。...

    netDev:通用网络设备(netDev)的EPICS设备和驱动程序支持

    通用网络设备(netDev)的EPICS设备和驱动程序支持 设备和驱动程序支持-横河电机FA-M3系列可编程逻辑控制器-横河电机MW100系列数据采集单元-横河电机DARWIN系列数据采集单元-Keyence KV-5000 / KV-7000系列可编程...

    netdev-features.rar_evfeature的读法_out

    "netdev-features.rar_evfeature的读法_out"这个标题暗示了我们正在讨论一个关于如何理解和使用网络设备特定功能(evfeature)的压缩包文件,特别是涉及到从某种输出(out)中解读这些特性。描述中提到的“Netdev ...

    netdev_stdlib:Netdev是由Puppet,Inc维护的与供应商无关的网络抽象框架

    网络设备标准库 概述 该模块实现网络设备支持程序的类型规范。 本模块的目的是提供Puppet类型,以针对特定的网络设备模型编写这些类型的提供程序实现。 这些模块支持这些类型的旧版Puppet和版本。...

    虚拟网卡驱动源代码(原版)

    memcpy(dev->dev_addr, "\0SNUL0", ETH_ALEN); if (dev == snull_devs[1]) dev->dev_addr[ETH_ALEN-1]++; /* \0SNUL1 */ netif_start_queue(dev); return 0; } int snull_release(struct net_device *dev) { ...

    softap_ap6212a0_tinav2.1_验证通过_旧版本的系统_20170915_1223没有外层目录.7z

    <M> Connection tracking timeout tuning via Netlink <*> Netfilter Xtables support (required for ip_tables) *** Xtables combined modules *** (有很多项,在下面!) <*> "conntrack" connection ...

    exanic-software-base-v2.7.1

    这个版本的发布旨在提升设备性能、稳定性,并解决之前版本中可能存在的问题。Exanic是一家专注于高速网络解决方案的公司,其产品通常用于数据中心、网络测试和监控等场景。 在“exanic-software_base-v2.7.1”...

    wl_netdev.rar_The Network

    《网络驱动程序详解——以wl_netdev为例》 在计算机科学与信息技术领域,网络驱动程序是操作系统与硬件设备之间的桥梁,它们负责管理网络接口卡(NIC)与其他网络设备的通信。"wl_netdev.rar_The Network"这个...

    vport-netdev.rar_Called

    标题 "vport-netdev.rar_Called" 暗示了我们正在探讨的议题与Linux内核中的网络设备接口,特别是“vport”(虚拟端口)相关,并且涉及到RCU读锁(Read-Copy Update)和底半部(Bottom-Half)机制。描述中提到的...

    en_netdev.rar_V2

    标题 "en_netdev.rar_V2" 提供的信息表明这是一个与网络设备驱动相关的代码包,可能是针对Linux内核版本2.13.6的更新或优化。"V2"可能表示这是该驱动程序的第二个主要版本,暗示在之前的基础上有所改进或修复了已知...

    QEMU虚拟机网卡及网络配置

    7. **配置QEMU使用TAP设备**:使用`-netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device e1000,netdev=net0`命令配置QEMU使用TAP设备。 通过这种方式,虚拟机可以像物理机一样自由地访问外部网络,...

    netdev.vger.kernel.org.0

    标题“netdev.vger.kernel.org.0”似乎与网络设备驱动程序或Linux内核的开发有关,这通常指的是一个邮件列表归档或者源代码仓库的名称。描述中的内容相同,进一步证实了它可能是一个网络开发者社区的邮件列表,或者...

    Equallogic连接Redhat的配置

    - **自动挂载设置**:编辑`/etc/fstab`文件,加入`/dev/mapper/<LUN_WWID> /mnt/eqlun ext4 defaults,_netdev 0 0`,其中`_netdev`参数用于确保LUN在网络启动后才进行挂载,并在网络关闭前解除挂载。 以上步骤详细...

Global site tag (gtag.js) - Google Analytics