以太网上的 NetworkManager 超时和“ip-config-unavailable”

Del*_*tik 8 networking linux home-networking ethernet networkmanager

我无法让这台笔记本电脑Craptop使用该eth0接口连接到 Internet ,但它可以使用该wlan0接口连接。NetworkManager, management ,eth0在尝试查找 DHCP 服务器(作为我的家庭路由器192.168.0.1)时超时。

另一台笔记本电脑Deltique可以使用相同的以太网电缆很好地连接和协商 DHCP。

在要求Wireshark监控eth0两台机器后,我发现Deltique192.168.0.1在发送广播后与IP地址协商255.255.255.255,但Craptop发送了四个DHCP广播没有收到任何回复。

Craptop上的以太网端口似乎可以正常工作,因为它可以检测到我何时插入电线,但是为什么Craptop无法接收任何数据包?

Craptop缺少一个驱动程序?我怎样才能进一步解决这个问题?

我在下面提供了有关我的设置的详细信息:


日志和命令输出

网络管理员(来自/var/log/syslog

lshw

Wireshark:DHCP 数据包

【Wireshark 截图】

请注意,这个超级用户问题是无关的,因为它谈到无法连接到wlan0.

Del*_*tik 9

可能的原因是路由器上的以太网端口有缺陷。 直到 2015 年 4 月 30 日我才找到支持这一点的证据,直到 2015 年 8 月 10 日我才建立联系。

我应该做的

一些额外的故障排除步骤:

  • 我应该运行sudo ethtool -S eth0以查看网络接口控制器 (NIC) 统计信息中是否有任何错误。

    由于我能够通过以太网发送但不能接收,我可能已经看到类似rx_crc_errors每次接收尝试的统计增量。

  • 我应该尝试将以太网电缆的路由器端插入不同的路由器端口。

    当然,我将以太网电缆的计算机端插入两台不同的计算机,但这让我相信计算机 ( Craptop ) 出现故障,因为另一台 ( Deltique ) 能够连接到路由器。

  • 在工作计算机Deltique 上,我应该运行sudo ethtool eth0以查看是否建立了良好的链接。

    Deltique具有 1Gbps 的容量,路由器也是如此,因此ethtool应该显示Speed: 1000Mb/sDuplex: Full。我后来在 2015 年 4 月 30 日发现,有缺陷的端口会导致ethtool返回不同的、更令人担忧的值。

  • 我应该运行一个速度基准来测试以太网链接,以确保我在Deltique和路由器之间获得了预期的全部性能。

    如果我进行了速度测试,我可能会看到 1MiB/s 的传输速度,表明存在链接问题,即使在Deltique也是如此

  • 为了排除电缆问题,我应该尝试使用不同的千兆以太网电缆。

    事实证明电缆没有问题,但无论如何这是一个很好的故障排除步骤。

证据和解释

2015 年 4 月 30 日,我注意到我的可信赖rsync -avzHXShPs命令的最大速度约为 1MiB/s。我通过监控iftop和尝试在另一台计算机上进行 Internet 下载来排除其他流量,这台计算机传输数据的速度快了 10 倍。

我检查了网络链接ethtool

root@node51 [~]# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: No
        Speed: 10Mb/s
        Duplex: Half
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes
Run Code Online (Sandbox Code Playgroud)

啊哈!10Mbps 半双工。这不正常,而且速度很慢。作为参考,这是通过切换路由器上的以太网端口捕获的预期(良好)输出:

root@node51 [~]# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: Symmetric
        Link partner advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes
Run Code Online (Sandbox Code Playgroud)

计算机和路由器试图协商 越来越慢的速度,直到建立一个可靠的速度。选择了最慢的一种,10BASE-T 半双工。

强制全 1000BASE-T 全双工 ( ethtool -s eth0 speed 1000 duplex full) 预期性能导致受影响的计算机从网络中掉线,强烈表明路由器不想在更快的链接上进行通信。

Craptop最初仅限于 100Mbps 全双工,可能没有机会协商 10Mbps 半双工。

现在我已经确定了坏的以太网端口,我需要做的就是不要使用该端口或获取新的路由器。

2015 年 7 月 27 日,我在安装新路由器后退回了有缺陷的路由器。

今天,Craptop运行在具有 100Mbps 全双工以太网连接的容错网络绑定上:

root@node52 [~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eth0 (primary_reselect always)
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: wlan0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 3
Permanent HW addr: 00:1f:3a:55:dc:0d
Slave queue ID: 0

Slave Interface: eth0
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 3
Permanent HW addr: 00:1e:68:32:4a:b5
Slave queue ID: 0
Run Code Online (Sandbox Code Playgroud)