Fedora 38:无法使用以太网

Fedora 38:无法使用以太网

我目前正在尝试切换到 Fedora,但无法通过有线连接进行通信。

我不知道出了什么问题,从计算机方面来看一切都很好,但我无法访问互联网。

现在我正在使用带有 wifi 扩展卡的电脑,但我更喜欢使用我的 LAN,就像我在 Windows 上所做的那样。

lspci -v -s我得到:

00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 04)
    DeviceName:  Onboard LAN
    Subsystem: Hewlett-Packard Company Device 18e7
    Flags: bus master, fast devsel, latency 0, IRQ 28
    Memory at f7f00000 (32-bit, non-prefetchable) [size=128K]
    Memory at f7f3d000 (32-bit, non-prefetchable) [size=4K]
    I/O ports at f080 [size=32]
    Capabilities: [c8] Power Management version 2
    Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [e0] PCI Advanced Features
    Kernel driver in use: e1000e
    Kernel modules: e1000e

..所以有一个驱动程序,我检查了一下,它是正确的。

ifconfig我得到:

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::d7ca:22ac:2be6:6e32  prefixlen 64  scopeid 0x20<link>
        inet6 fd00::f44d:810d:f682:c4  prefixlen 64  scopeid 0x0<global>
        ether 64:51:06:52:33:54  txqueuelen 1000  (Ethernet)
        RX packets 8550  bytes 1058180 (1.0 MiB)
        RX errors 0  dropped 5512  overruns 0  frame 0
        TX packets 336  bytes 45969 (44.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xf7f00000-f7f20000 

..但是没有ipv4地址,所以是我的路由器故障吗?

我尝试过以下方法:

首先,我重新安装了驱动程序,这让情况变得更糟(之后没有连接,只是收到类似“无法激活以太网连接”的错误)。

我已经阅读了一些与此问题相关的帖子,并将其添加pcie_aspm=off到我的内核行中。

我真的不知道更多,所以非常感谢您的帮助!

答案1

尝试sudo ethtool eno1查看是否正确检测到另一端的链路和速度/双工设置。还应sudo ethtool -S eno1显示更长的数据包/错误计数器列表,这可能有助于确定有线连接丢弃传入数据包的原因。

有时,现代 NIC 的节能以太网功能可能会让旧的网络交换机/路由器感到困惑。您可以通过以下方式查看此功能的状态:

sudo ethtool --show-eee eno1

响应可能如下所示:

EEE settings for eno1:
        EEE status: enabled - active
        Tx LPI: 17 (us)
        Supported EEE link modes:  100baseT/Full
                                   1000baseT/Full
        Advertised EEE link modes:  100baseT/Full
                                    1000baseT/Full
        Link partner advertised EEE link modes:  100baseT/Full
                                                 1000baseT/Full

如果“链路伙伴通告的 EEE 链路模式”为空,则电缆另一端的交换机/路由器并未声称支持 EEE,并且可能会被它混淆。在这种情况下,看看告诉您的 NIC 停止尝试使用 EEE 是否有帮助:

sudo ethtool --set-eee eno1 eee off

如果这有帮助,您可能需要永久禁用 EEE 功能,这样它就不会在重新启动后重新激活。有很多方法可以做到这一点;这是一个应该与您的网络配置管理方式几乎无关的配置。

要永久禁用 EEE,请创建一个名为以下内​​容的systemd 单元模板文件:/etc/systemd/system/[email protected]

[Unit]
Description=Disable EEE for %i
After=sys-subsystem-net-devices-%i.device
DefaultDependencies=no

[Service]
ExecStart=/usr/sbin/ethtool --set-eee %i eee off
ExecStop=/usr/sbin/ethtool --set-eee %i eee on
Type=oneshot
RemainAfterExit=true

[Install] 
WantedBy=multi-user.target

然后运行:

sudo systemctl enable [email protected]

使其持久,并且

sudo systemctl start [email protected]

立即激活它而无需重新启动。

如果您需要将其应用于其他网络接口,则只需使用最后两个命令,根据需要更改网络接口的名称。


输出中的这些行ifconfig eno1表明 NIC 已丢弃所有收到的数据包的一半以上:

    RX packets 8550  bytes 1058180 (1.0 MiB)
    RX errors 0  dropped 5512  overruns 0  frame 0

谷歌搜索“Intel I217-LM drop packet”告诉我,Dell OptiPlex 9020 SFF 和 HP EliteDesk 800 G1 系统也有类似的症状,原因显然是使用的物理连接器组件:UDE RU1H251NRW2FRJ45 插孔 + 2x USB 2.0 端口。请在英特尔自己的支持论坛上查看此主题。

Subsystem:输出中的行表明lspci -v -s您的系统是某种 Hewlett-Packard 型号。您应该检查 HP 支持页面以了解您的系统型号:如果此问题会影响您的型号,我预计 HP 可能已发布有关此问题的支持通知。

由于英特尔显然计划在 I217-LM 上“开始产品停产流程”在今年最后一个季度,我认为您的系统并不是那么新,如果遇到此问题,可以选择保修更换。

相关内容