Linux Mint - Intel 82579LM NIC 和硬件单元挂起

Linux Mint - Intel 82579LM NIC 和硬件单元挂起

几个月前,我在配有 Supermicro X9SCM 系统板的系统上安装了 Linux Mint 19.1 x64。 X9SCM 有两个集成 NIC:

Intel 82574L Gigabit Network Connection
Intel 82579LM Gigabit Network Connection (Lewisville)

Intel 82574L 千兆位网络连接已解决问题。

Intel 82579LM 千兆位网络连接 (Lewisville) 正在使用禁用 NetworkManager 的 Linux 内核桥。

大约每六分钟,Intel 82579LM 千兆位网络连接 (Lewisville) 就会报告以下内容:

e1000e 0000:00:19.0 eno1: Detected Hardware Unit Hang:
    TDH                  <d2>
    TDT                  <43>
    next_to_use          <43>
    next_to_clean        <d1>
    buffer_info[next_to_clean]:
    time_stamp           <103d3f01c>
    next_to_watch        <d2>
    jiffies              <103d3f8e0>
    next_to_watch.status <0>
    MAC Status             <40080083>
    PHY Status             <796d>
    PHY 1000BASE-T Status  <3c00>
    PHY Extended Status    <3000>
    PCI Status             <10>
e1000e 0000:00:19.0 eno1: Reset adapter unexpectedly
br0: port 1(eno1) entered disabled state
e1000e: eno1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
br0: port 1(eno1) entered blocking state
br0: port 1(eno1) entered forwarding state

尝试了各种以太网电缆和交换机端口,但没有任何改变。

答案1

Intel 82579LM 千兆位网络连接 (Lewisville) 默认启用卸载,禁用卸载可以解决该问题。

确定网卡设备:

ip addr show
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000

判断卸载是否开启(on):

sudo ethtool -k eno1
tcp-segmentation-offload: on
generic-segmentation-offload: on

要进行测试,请暂时(每次重新启动后重置)禁用卸载:

sudo ethtool -K eno1 tso off
sudo ethtool -K eno1 gso off

“检测到硬件单元挂起”和“意外重置适配器”的日志条目应该停止。

要在禁用 NetworkManager 的情况下添加永久配置更改:

sudo nano /etc/network/interfaces

添加以下内容:

post-up /sbin/ethtool -K eno1 tso off gso off

-> Ctrl + o -> Enter -> Ctrl + x

重新启动计算机。

确定卸载是否禁用(off):

sudo ethtool -k eno1
tcp-segmentation-offload: off
generic-segmentation-offload: off

我花了几天时间解决这个问题,希望对其他人有所帮助。

---------- 网络管理器 ----------

我只需要在这个特定场景中禁用卸载,禁用 NetworkManager 并使用 Linux 内核桥接 QEMU/KVM。在配置网桥之前,我没有注意到是否存在挂起和重置问题。如果有,您可以将适当的命令添加到启动脚本中,以在继续使用 NetworkManager 的同时实现相同的结果。以下未经测试:

sudo crontab -e

按“1”按钮进行纳米。

在最后一行输入以下内容:

@reboot sleep 10 && ethtool -K eno1 tso off
@reboot sleep 10 && ethtool -K eno1 gso off

sudo shutdown -r now

---------- lshw 输出 ----------

*-network
     description: Ethernet interface
     product: 82579LM Gigabit Network Connection (Lewisville)
     vendor: Intel Corporation
     physical id: 19
     bus info: pci@0000:00:19.0
     logical name: eno1
     version: 05
     serial: <REMOVED>
     size: 1Gbit/s
     capacity: 1Gbit/s
     width: 32 bits
     clock: 33MHz
     capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
     configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k duplex=full firmware=0.13-4 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
     resources: irq:30 memory:df900000-df91ffff memory:df925000-df925fff ioport:f020(size=32)

相关内容