zoukankan      html  css  js  c++  java
  • intel的网卡故障

    现象:

         机器键盘接入,敲入无反应;机器无法ping通,整台机器假死状态。

         查看message的日志,日志为如下内容:

    Aug 29 02:33:55 TSMIS-CF kernel: 0000:00:19.0: eth0: Detected Hardware Unit Hang:
    Aug 29 02:33:55 TSMIS-CF kernel:   TDH                  <60>
    Aug 29 02:33:55 TSMIS-CF kernel:   TDT                  <66>
    Aug 29 02:33:55 TSMIS-CF kernel:   next_to_use          <66>
    Aug 29 02:33:55 TSMIS-CF kernel:   next_to_clean        <60>
    Aug 29 02:33:55 TSMIS-CF kernel: buffer_info[next_to_clean]:
    Aug 29 02:33:55 TSMIS-CF kernel:   time_stamp           <bcfbc>
    Aug 29 02:33:55 TSMIS-CF kernel:   next_to_watch        <60>
    Aug 29 02:33:55 TSMIS-CF kernel:   jiffies              <c2565>
    Aug 29 02:33:55 TSMIS-CF kernel:   next_to_watch.status <0>
    Aug 29 02:33:55 TSMIS-CF kernel: MAC Status             <80000>
    Aug 29 02:33:55 TSMIS-CF kernel: PHY Status             <ffff>
    Aug 29 02:33:55 TSMIS-CF kernel: PHY 1000BASE-T Status  <ffff>
    Aug 29 02:33:55 TSMIS-CF kernel: PHY Extended Status    <ffff>
    Aug 29 02:33:55 TSMIS-CF kernel: PCI Status             <10>
    Aug 29 02:33:57 TSMIS-CF kernel: 0000:00:19.0: eth0: Detected Hardware Unit Hang:
    Aug 29 02:33:57 TSMIS-CF kernel:   TDH                  <60>
    Aug 29 02:33:57 TSMIS-CF kernel:   TDT                  <66>
    Aug 29 02:33:57 TSMIS-CF kernel:   next_to_use          <66>
    Aug 29 02:33:57 TSMIS-CF kernel:   next_to_clean        <60>
    Aug 29 02:33:57 TSMIS-CF kernel: buffer_info[next_to_clean]:
    Aug 29 02:33:57 TSMIS-CF kernel:   time_stamp           <bcfbc>
    Aug 29 02:33:57 TSMIS-CF kernel:   next_to_watch        <60>
    Aug 29 02:33:57 TSMIS-CF kernel:   jiffies              <c2d35>
    Aug 29 02:33:57 TSMIS-CF kernel:   next_to_watch.status <0>
    Aug 29 02:33:57 TSMIS-CF kernel: MAC Status             <80000>
    Aug 29 02:33:57 TSMIS-CF kernel: PHY Status             <ffff>
    Aug 29 02:33:57 TSMIS-CF kernel: PHY 1000BASE-T Status  <ffff>
    Aug 29 02:33:57 TSMIS-CF kernel: PHY Extended Status    <ffff>
    Aug 29 02:33:57 TSMIS-CF kernel: PCI Status             <10>
    Aug 29 02:33:58 TSMIS-CF kernel: NETDEV WATCHDOG: eth0: transmit timed out
    Aug 29 02:34:03 TSMIS-CF kernel: e1000e: eth0 NIC Link is Up 10 Mbps Half Duplex, Flow Control: None
    Aug 29 02:34:03 TSMIS-CF kernel: 0000:00:19.0: eth0: 10/100 speed: disabling TSO

    问题原因:

           英文解释:

           Several adapters with the 82573 chipset display "TX unit hang" messages during normal operation with the e1000 driver. The issue appears both with TSO enabled and disabled, and is caused by a power management function that is enabled in the EEPROM. Early releases of the chipsets to vendors had the EEPROM bit that enabled the feature. After the issue was discovered newer adapters were released with the feature disabled in the EEPROM.(网址:http://serverfault.com/questions/193114/linux-e1000e-intel-networking-driver-problems-galore-where-do-i-start

            中文解释,掉电后数据不丢失的存储芯片存储电源管理继续有效。尤其在e1000的早期的网卡驱动中。

    问题解决:

          1、确认你的网卡版本和内核版本

           [root@TSMIS-CF ~]# lspci|grep Eth
    01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
    02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection

          [root@TSMIS-CF ~]# uname -a
    Linux TSMIS-CF 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux

       2 、在  /boot/grub/menu.lst  文件中增加  kopt=pcie_aspm=off

              解释:(大概意思就是禁止PCI的电源管理,内核的加载参数见文档:https://www.kernel.org/doc/Documentation/kernel-parameters.txt

          pcie_aspm=	[PCIE] Forcibly enable or disable PCIe Active State Power
    			Management.
    		off	Disable ASPM.
    		force	Enable ASPM even on devices that claim not to support it.
    			WARNING: Forcing ASPM on may cause system lockups.

    =================================问题解决=============================================================
  • 相关阅读:
    【转】extern "C"的含义和用法
    python的shelve库
    【转】TCP是流传输协议,UDP是包传输协议
    【转】TCP慢启动、拥塞避免、快速重传、快速恢复
    【转】C/C++多线程编程中什么情况下需要加volatile?
    【转】C++对象是创建在堆上,还是在栈上?
    【转】腾讯高级工程师:一道面试题引发的高并发性能调试思考
    【转】C++类的sizeof大小
    【转】C编译器内存对齐
    【转】c++中使用memset初始化类对象
  • 原文地址:https://www.cnblogs.com/xianqingzh/p/3449075.html
Copyright © 2011-2022 走看看