如何診斷故障的(板載)網路適配器

如何診斷故障的(板載)網路適配器

我正在尋找有關診斷 Linux 下乙太網路連接問題的建議。我懷疑這是一個硬體問題,但我並不完全確定。它是一個 nVidia 晶片組和乙太網路適配器。

lspci當我運行並且forcedeth驅動程式已加載時,該設備會顯示。

我已指派靜態 IP 位址並指定網關(路由器)IP 位址。但是,當我 ping 路由器時,沒有得到任何回應。使用相同的設置,但使用 USB->乙太網路適配器,一切正常。這就是為什麼我認為這是端口的問題。

我是否必須假設這是硬體問題,還是可以執行更多診斷?我對能夠提供有關硬體狀態的更詳細資訊(如果存在的話)的工具特別感興趣。

答案1

在懷疑實際的乙太網路卡之前,我總是先懷疑電纜。他們幾乎從不失敗!為了有條不紊地調試問題,我首先要消除以下問題:

  1. 乙太網路電纜
  2. NIC 和交換器上的乙太網路母連接器
  3. 網路上的另一台裝置使用相同的 IP

一旦上述潛在問題被消除,那麼就轉向 NIC 本身及其軟體/驅動程式/配置。

若要偵錯 NIC,您可以執行下列操作:

  1. 檢查dmesg日誌中有關 NIC 的消息
  2. ifconfig確認NIC 的配置訊息
  3. 用於ethtool eth0確認網卡健康並正常運作

乙太網路工具

這是輸出範例ethtool

$ sudo -i ethtool eth0
Settings for eth0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pg
    Wake-on: d
    Current message level: 0x000000ff (255)
    Link detected: yes

您也可以用來ethtool -S <dev>獲取有關 NIC 遇到的故障類型的性質的更多資訊:

$ sudo -i ethtool -S eth0
NIC statistics:
     tx_bytes: 28770995867
     rx_bytes: 48077578307
     tx_broadcast: 126301
     rx_broadcast: 556519
     tx_multicast: 23471
     rx_multicast: 208434
     tx_unicast: 56635512
     rx_unicast: 62288584
     tx_mac_pause: 0
     rx_mac_pause: 2
     collisions: 0
     late_collision: 0
     aborted: 0
     single_collisions: 0
     multi_collisions: 0
     rx_short: 0
     rx_runt: 0
     rx_64_byte_packets: 949129
     rx_65_to_127_byte_packets: 9301705
     rx_128_to_255_byte_packets: 22481955
     rx_256_to_511_byte_packets: 433087
     rx_512_to_1023_byte_packets: 1755854
     rx_1024_to_1518_byte_packets: 28131809
     rx_1518_to_max_byte_packets: 0
     rx_too_long: 0
     rx_fifo_overflow: 0
     rx_jabber: 0
     rx_fcs_error: 0
     tx_64_byte_packets: 806109
     tx_65_to_127_byte_packets: 16397830
     tx_128_to_255_byte_packets: 20935587
     tx_256_to_511_byte_packets: 2783712
     tx_512_to_1023_byte_packets: 1635233
     tx_1024_to_1518_byte_packets: 14226813
     tx_1519_to_max_byte_packets: 0
     tx_fifo_underrun: 0

參考

相關內容