我最近从 24.04 升级到了 Ubuntu 24.10,一切似乎都运行良好,但有一件事除外:从挂起状态恢复时,网卡完全关闭。卡上的灯完全熄灭。这是一个有线适配器,而不是 wifi。
到目前为止,除了重新启动之外,我所做的任何事情都没有导致网卡重新启动,例如重新启动网络管理器。“ip a”中的网卡显示状态为关闭。
2: enp6s0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether c8:7f:54:cf:f6:44 brd ff:ff:ff:ff:ff:ff
我找不到任何方法来重新激活它。我尝试过systemctl restart NetworkManager
一些其他命令,也尝试过在 UI 中摆弄它。
到目前为止,只有重新启动才能使卡重新激活并正常运行。
lshw -C network
将我的网卡标识为:
[ 1.615681] Intel(R) 2.5G Ethernet Linux Driver
*-network
description: Ethernet interface
product: Ethernet Controller I225-V
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:06:00.0
logical name: enp6s0
version: 01
我认为暂停操作发送了暂停网络适配器电源的命令,然后在恢复时不会恢复适配器电源。但我现在很困惑,因为我认为这是某种硬件设置。
我尝试了 AI 的以下建议,试图从这种状态启动它:
sudo ethtool -r enp6s0
Cannot restart autonegotiation: No such device
sudo ip link set enp6s0 up
RTNETLINK answers: No such device
sudo service udev restart
但迄今为止一切都无济于事。
更新
经过网上的一些研究,我找到了一种重新启动网络适配器的方法。
modprobe -r igc
modprobe igc
systemctl restart NetworkManager
这使接口恢复正常,网络也可用。但我运行了一些 VirtualBox Ubuntu VM。它们似乎没有从该过程中恢复。
我认为暂停会完全关闭网卡,但我不希望它这样做。
快乐的一天。我似乎找到了解决问题的方法。
详细信息:我发现在 modprobe 删除并添加 igc 驱动程序之后的“systemctl restart NetworkManager”是不必要的——我想我只是第一次尝试时没有等待足够长的时间。
但是 modeprobe -r igc/modprobe igc 解决方案不是最佳方案,因为当我在 VirtualBox 中运行一些 ubuntu 虚拟机时,它们似乎无法恢复。网络驱动程序的删除和重新添加导致它“不同”。所以他们需要重新启动。
最后,AI 指示我在
eee_enable=0 and pcie_port_pm=off
/etc/defaults/grub 中添加如下内容:GRUB_CMDLINE_LINUX_DEFAULT="安静启动eee_enable=0 pcie_port_pm=off "
这将禁用:节能以太网 (EEE) 和 PCIe 电源管理
然而,这并不能独自实现这一点。我将保持禁用状态,但最终产生影响的是添加了 wakeonlan
在 /etc/netplan/*.yaml 中(与你的网卡对应的文件)
我实际上并不需要唤醒局域网,但我相信启用它可以使网卡保持足够的唤醒状态以接收到局域网唤醒信号,从而解决我的问题。