网络随机断开和连接

网络随机断开和连接

当我在计算机上工作时,网络有时会多次断开连接并重新连接。这种情况不定期发生,我无法重现它。有谁知道我该如何解决这个问题?

这里是硬件信息:

Network:
  Device-1: Intel Ethernet I219-LM vendor: Holco Enterprise Co /Shuttle
    driver: e1000e v: kernel port: N/A bus-ID: 00:1f.6
  IF: eth1 state: down mac: <filter>
  Device-2: Intel Ethernet I225-V vendor: Holco Enterprise Co /Shuttle
    driver: igc v: kernel port: N/A bus-ID: 01:00.0
  IF: eth0 state: up speed: 2500 Mbps duplex: full mac: <filter>

# nmcli device show
GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         80:EE:73:FA:CF:22
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     eth0
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnecti>
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.1.106/24
IP4.GATEWAY:                            192.168.1.1
IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 100
IP4.ROUTE[2]:                           dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]:                             192.168.1.1
IP4.SEARCHES[1]:                        shuttle
IP6.ADDRESS[1]:                         2a02:1210:7489:a300:2697:710a:426:426d/64
IP6.ADDRESS[2]:                         2a02:1210:7489:a300:e284:205d:22b6:9db1/64
IP6.ADDRESS[3]:                         fe80::1744:cadf:be2:4aee/64
IP6.GATEWAY:                            fe80::a6ce:daff:feb7:b0a0
IP6.ROUTE[1]:                           dst = 2a02:1210:7489:a300::/64, nh = ::, mt = >
IP6.ROUTE[2]:                           dst = fe80::/64, nh = ::, mt = 1024
IP6.ROUTE[3]:                           dst = ::/0, nh = fe80::a6ce:daff:feb7:b0a0, mt>
IP6.DNS[1]:                             2a02:1210:7489:a300::1
IP6.SEARCHES[1]:                        home

GENERAL.DEVICE:                         eth1
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         80:EE:73:FA:CF:21
GENERAL.MTU:                            1500
GENERAL.STATE:                          20 (unavailable)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
WIRED-PROPERTIES.CARRIER:               off
IP4.GATEWAY:                            --
IP6.GATEWAY:                            --

GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
GENERAL.HWADDR:                         00:00:00:00:00:00
GENERAL.MTU:                            65536
GENERAL.STATE:                          10 (unmanaged)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
IP4.ADDRESS[1]:                         127.0.0.1/8
IP4.GATEWAY:                            --
IP6.ADDRESS[1]:                         ::1/128
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = ::1/128, nh = ::, mt = 256

这里是日志的输出:

# journalctl -u NetworkManager -f
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.1141] device (eth0): carrier: link connected
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.1143] device (eth0): state change: unavailable -> disconnected (reason 'carrier-changed', sys-iface-state: 'managed')
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.1151] policy: auto-activating connection 'eth0' (7ba00b1d-8cdd-30da-91ad-bb83ed4f7474)
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.1156] device (eth0): Activation: starting connection 'eth0' (7ba00b1d-8cdd-30da-91ad-bb83ed4f7474)
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.1157] device (eth0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.1158] manager: NetworkManager state is now CONNECTING
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.1160] device (eth0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.1356] device (eth0): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.1362] policy: set 'eth0' (eth0) as default for IPv4 routing and DNS
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.2509] device (eth0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.2598] device (eth0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.2600] device (eth0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.2604] manager: NetworkManager state is now CONNECTED_SITE
Dec 06 09:11:46 sh NetworkManager[919]: <info>  [1701850306.2606] device (eth0): Activation: successful, device activated.

到目前为止我尝试过:

  • 更换所有电缆
  • 更换开关
  • 重新安装整个系统
  • 关闭 IPV6 但没有任何帮助。

答案1

您的eth0接口是 Intel I225-V。如果你用谷歌搜索它,你会发现很多关于它的尖酸刻薄的讨论。

https://www.intel.com/content/www/us/en/support/articles/000057261/ethernet-products/gigabit-ethernet-controllers-up-to-2-5gbe.html

https://community.intel.com/t5/Ethernet-Products/Intel-I225-V-Drops-Connections/mp/1474748

似乎有一大批 Intel I225-V 芯片存在硬件错误。显然,收到该批次大部分主板的制造商是华硕和技嘉,但其他制造商可能也收到了一些有缺陷的芯片。

该芯片的最初版本确实要求在 2.5G 速度下有 8 字节的数据包间间隙,而不是规范允许的 5 字节间隙。这将导致数据包丢失并以 1 GB 速度重新协商链路。反复的重新谈判可能会导致速度大幅放缓。请参阅英特尔官方勘误表:https://cdrdv2.intel.com/v1/dl/getContent/621661

随后的修订试图解决该问题,但显然第一次并没有完全正确,或者由于第一次修复而出现了其他问题。

由于您的 I225-V 显然已集成到主板(如 所示vendor: Holco Enterprise Co /Shuttle),请查看您的系统/主板供应商是否以 BIOS 更新的形式或作为单独的 NIC 固件更新的形式提供固件更新。

显然,固件解决方法可能需要针对主板型号进行调整,因此您应该更喜欢来自特定主板/系统供应商的固件而不是通用固件。

但是,如果您有其中一个有缺陷的芯片修订版,则固件解决方法可能无法实现稳定的 2.5G 链路,而是会使卡更持久地切换到 1G 链路,无论硬件如何,该链路都应该保持稳定漏洞。

显然,B3 芯片版本(大部分?)可用,而旧版本在各个方面都存在问题。

相关内容