如何诊断有故障的(板载)网络适配器

如何诊断有故障的(板载)网络适配器

我正在寻找有关诊断 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

参考

相关内容