解決 watchdog timeout 問題

Q1. 出現錯誤訊息 wtachdog timeout ?

Error Message:
系統訊息 (/var/log/messages) 出現如下訊息 (watchdog timeout) 代表該網路卡可能出了點問題?
vr0 : watchdog timeout

Ans:
man page 的解釋 watchdog timeout The device has stopped responding to the network, or there is a problem with the network connection (cable),所以您可以依照如下步驟進行檢查:
  1. 檢查網路線是否有問題
  2. 將網卡換另外一個 PCI Slot 看看
  3. 換片網路卡試試

此次的解決方式為 換至另一個 PCI Slot 後就再也沒有錯誤訊息出現了。



Q2. kernel em0: wtachdog timeout --resetting?

Error Message:
此次的作業系統、硬體、網卡等資訊如下
  • 作業系統: FreeBSD 7.2-Release
  • 主機硬體: Intel SR2300
  • 內建網卡: 82546EB Dual Port Gigabit Ethernet Controller (Copper)

狀況為當安裝 FreeBSD 7.2-Release 完成並設定 IP Address 後可 Ping 到 127.0.0.1 及設定的網卡 IP Address,但嘗試 Ping Gateway_IP 時便沒有回應之後便出現如下錯誤訊息 (所以主機連基本的網路連線都有問題 !!)。
 Jul 29 11:46:33 jiakai2 kernel: em1: watchdog timeout -- resetting
 Jul 29 11:46:33 jiakai2 kernel: em1: link state changed to DOWN
 Jul 29 11:46:35 jiakai2 kernel: em1: link state changed to UP

網路卡硬體資訊如下:
# pciconf -lv
 em0@pci0:3:7:0: class=0x020000 card=0x341a8086 chip=0x10108086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82546EB Dual Port Gigabit Ethernet Controller (Copper)'
    class      = network
    subclass   = ethernet
 em1@pci0:3:7:1: class=0x020000 card=0x341a8086 chip=0x10108086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82546EB Dual Port Gigabit Ethernet Controller (Copper)'
    class      = network
    subclass   = ethernet

# sysctl dev.em.0 dev.em.1
 dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 6.9.6
 dev.em.0.%driver: em
 dev.em.0.%location: slot=7 function=0
 dev.em.0.%pnpinfo: vendor=0x8086 device=0x1010 subvendor=0x8086 subdevice=0x341a class=0x020000
 dev.em.0.%parent: pci3
 dev.em.0.debug: -1
 dev.em.0.stats: -1
 dev.em.0.rx_int_delay: 0
 dev.em.0.tx_int_delay: 66
 dev.em.0.rx_abs_int_delay: 66
 dev.em.0.tx_abs_int_delay: 66
 dev.em.0.rx_processing_limit: 100
 dev.em.1.%desc: Intel(R) PRO/1000 Network Connection 6.9.6
 dev.em.1.%driver: em
 dev.em.1.%location: slot=7 function=1
 dev.em.1.%pnpinfo: vendor=0x8086 device=0x1010 subvendor=0x8086 subdevice=0x341a class=0x020000
 dev.em.1.%parent: pci3
 dev.em.1.debug: -1
 dev.em.1.stats: -1
 dev.em.1.rx_int_delay: 0
 dev.em.1.tx_int_delay: 66
 dev.em.1.rx_abs_int_delay: 66
 dev.em.1.tx_abs_int_delay: 66
 dev.em.1.rx_processing_limit: 100


Ans:
個人測試過但失敗的方式如下
  1. 更新驅動版本: 我們可由上面訊息看到 FreeBSD 7.2-Release 的網卡驅動版本為 6.9.6,嘗試將驅動更新為 Intel Network Adapter Gigabit Base Driver for FreeBSD* 7.x 最新驅動版本 6.9.12 但狀況沒有解決。
  2. 增加參數 /boot/loader.conf: 找了 Google 及 Maillist 測試過 debug.mpsafenet=0,但狀況沒有解決。
  3. 增加參數 /etc/sysctl.conf: 找了 Google 及 Maillist 測試過關閉 MSI、改變 RX / TX 數值、啟用 Polling、啟用 TSO...等,但狀況沒有解決。
  4. 限制網卡速度: 因為連接的 Switch 為 10 / 100,將網卡速度從 Auto 改為 100baseTX 後狀況沒有解決。

根據 man page 的解釋 watchdog timeout The device has stopped responding to the network, or there is a problem with the network connection (cable),所以您可以依照如下步驟進行檢查。
  1. 檢查網路線是否有問題
  2. 將網卡換另外一個 PCI Slot 看看
  3. 換片網路卡試試

此次的解決方式為 換張網路卡 將別的網卡插下去網路線接上後網路連線狀況便一切正常,目前測試過的網卡如下:
  • Intel 82550/1/7/8/9 EtherExpress PRO/100(B) Ethernet Adapter
  • Intel 82540EM Gigabit Ethernet Controller (Driver version 6.9.6)