Fedora 40 Wired network stopped working on kernel 6.9.4-200.fc40 and above

Wired network interface problem on Fedora kernel 6.9.4-200.fc40 and above
On Fedora kernel 6.8.11-300.fc40 works fine.

Update
After another restart I see I am getting IP now but I can’t ping my router.

❯ ping -c 4 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.

--- 192.168.0.1 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3078ms
❯ ip addr show dev enp2s0
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 58:47:ca:74:30:a3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.122/24 brd 192.168.0.255 scope global dynamic noprefixroute enp2s0
       valid_lft 86070sec preferred_lft 86070sec
❯ nmcli connection
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ec1f99fd-05d6-3cf9-a0c3-c12b6b830837  ethernet  enp2s0
lo                  738ef826-3657-428a-aca6-5d915bc2c82d  loopback  lo
br-1e1340c479ef     31565371-fcea-466f-bd46-4d7f20c9b349  bridge    br-1e1340c479ef
docker0             d49025e9-fef4-4a59-af41-5f1e3b13d553  bridge    docker0

Also I see the following error when I disconnect / connect cable.

sudo dmesg -w

[ 1802.047327] pcieport 0000:00:02.1: PCIe Bus Error: severity=Correctable, type=Data Link Layer, (Receiver ID)
[ 1802.047332] pcieport 0000:00:02.1:   device [1022:14ee] error status/mask=000000c0/00006000
[ 1802.047337] pcieport 0000:00:02.1:    [ 6] BadTLP
[ 1802.047343] pcieport 0000:00:02.1:    [ 7] BadDLLP
[ 1802.047346] pcieport 0000:00:02.1: AER:   Error of this Agent is reported first
[ 1802.047351] r8169 0000:02:00.0: PCIe Bus Error: severity=Correctable, type=Data Link Layer, (Transmitter ID)
[ 1802.047354] r8169 0000:02:00.0:   device [10ec:8125] error status/mask=00001000/0000e000
[ 1802.047357] r8169 0000:02:00.0:    [12] Timeout
[ 1802.047369] pcieport 0000:00:02.1: AER: Multiple Correctable error message received from 0000:00:02.1
[ 1802.047378] pcieport 0000:00:02.1: AER: found no error details for 0000:00:02.1
[ 1802.139624] pcieport 0000:00:02.1: AER: Correctable error message received from 0000:00:02.1

My hardware

❯ lspci -s 2:0 -v
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
        Subsystem: Device 1f4c:b016
        Flags: bus master, fast devsel, latency 0, IRQ 78, IOMMU group 16
        I/O ports at f000 [size=256]
        Memory at dcc00000 (64-bit, non-prefetchable) [size=64K]
        Memory at dcc10000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
        Capabilities: [70] Express Endpoint, IntMsgNum 1
        Capabilities: [b0] MSI-X: Enable+ Count=32 Masked-
        Capabilities: [d0] Vital Product Data
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [148] Virtual Channel
        Capabilities: [168] Device Serial Number 01-00-00-00-68-4c-e0-00
        Capabilities: [178] Transaction Processing Hints
        Capabilities: [204] Latency Tolerance Reporting
        Capabilities: [20c] L1 PM Substates
        Capabilities: [21c] Vendor Specific Information: ID=0002 Rev=4 Len=100 <?>
        Kernel driver in use: r8169
        Kernel modules: r8169


sudo lshw -class network
[sudo] password for michal:
  *-network
       description: Ethernet interface
       product: RTL8125 2.5GbE Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: enp2s0
       version: 05
       serial: 58:47:ca:74:30:a3
       size: 2500Mbit/s
       capacity: 2500Mbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd 2500bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=6.9.5-200.fc40.x86_64 duplex=full firmware=rtl8125b-2_0.0.2 07/13/20 ip=192.168.0.122 latency=0 link=yes multicast=yes port=twisted pair speed=2.5Gbit/s
       resources: irq:78 ioport:f000(size=256) memory:dcc00000-dcc0ffff memory:dcc10000-dcc13fff
  *-network
       description: Ethernet interface
       product: RTL8125 2.5GbE Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: enp3s0
       version: 05
       serial: 58:47:ca:74:30:a2
       capacity: 2500Mbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd 2500bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=6.9.5-200.fc40.x86_64 firmware=rtl8125b-2_0.0.2 07/13/20 latency=0 link=no multicast=yes port=twisted pair
       resources: irq:43 ioport:e000(size=256) memory:dcb00000-dcb0ffff memory:dcb10000-dcb13fff
  *-network
       description: Wireless interface
       product: Wi-Fi 6E(802.11ax) AX210/AX1675* 2x2 [Typhoon Peak]
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:04:00.0
       logical name: wlp4s0
       version: 1a
       serial: 0a:08:83:2c:5a:79
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=6.9.5-200.fc40.x86_64 firmware=89.e9cec78e.0 ty-a0-gf-a0-89.uc latency=0 link=no multicast=yes wireless=IEEE 802.11
       resources: irq:43 memory:dca00000-dca03fff
  *-network
       description: Ethernet interface
       product: USB 10/100/1000 LAN
       physical id: 5
       bus info: usb@2:2.1.3.1.2
       logical name: eth0
       serial: b0:4f:13:e7:41:84
       size: 10Mbit/s
       capacity: 1Gbit/s
       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v1.12.13 duplex=half firmware=rtl8153b-2 v2 04/27/23 link=no multicast=yes port=MII speed=10Mbit/s

The diagnose

❯ journalctl -xe | grep network

~
❯ journalctl -xe | grep enp2s0
Jun 21 09:34:57 fedora NetworkManager[1095]: <info>  [1718955297.6570] device (enp2s0): state change: ip-config -> failed (reason 'ip-config-unavailable', sys-iface-state: 'managed')
Jun 21 09:34:57 fedora NetworkManager[1095]: <warn>  [1718955297.6576] device (enp2s0): Activation: failed for connection 'Wired connection 1'
Jun 21 09:34:57 fedora NetworkManager[1095]: <info>  [1718955297.6578] device (enp2s0): state change: failed -> disconnected (reason 'none', sys-iface-state: 'managed')
Jun 21 09:34:57 fedora NetworkManager[1095]: <info>  [1718955297.6694] dhcp4 (enp2s0): canceled DHCP transaction
Jun 21 09:34:57 fedora NetworkManager[1095]: <info>  [1718955297.6694] dhcp4 (enp2s0): activation: beginning transaction (timeout in 45 seconds)
Jun 21 09:34:57 fedora NetworkManager[1095]: <info>  [1718955297.6695] dhcp4 (enp2s0): state changed no lease
Jun 21 09:34:57 fedora systemd-resolved[959]: enp2s0: Bus client set default route setting: no
Jun 21 09:34:57 fedora systemd-resolved[959]: enp2s0: Bus client reset DNS server list.


❯ sudo systemctl status NetworkManager
● NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Fri 2024-06-21 09:15:54 CEST; 18min ago
       Docs: man:NetworkManager(8)
   Main PID: 1095 (NetworkManager)
      Tasks: 4 (limit: 74329)
     Memory: 8.9M (peak: 10.1M)
        CPU: 389ms
     CGroup: /system.slice/NetworkManager.service
             └─1095 /usr/sbin/NetworkManager --no-daemon

Jun 21 09:33:27 fedora NetworkManager[1095]: <info>  [1718955207.6684] dhcp4 (enp2s0): canceled DHCP transac>
Jun 21 09:33:27 fedora NetworkManager[1095]: <info>  [1718955207.6684] dhcp4 (enp2s0): activation: beginning>
Jun 21 09:33:27 fedora NetworkManager[1095]: <info>  [1718955207.6684] dhcp4 (enp2s0): state changed no lease
Jun 21 09:33:27 fedora NetworkManager[1095]: <info>  [1718955207.6693] policy: auto-activating connection 'W>
Jun 21 09:33:27 fedora NetworkManager[1095]: <info>  [1718955207.6696] device (enp2s0): Activation: starting>
Jun 21 09:33:27 fedora NetworkManager[1095]: <info>  [1718955207.6697] device (enp2s0): state change: discon>
Jun 21 09:33:27 fedora NetworkManager[1095]: <info>  [1718955207.6698] manager: NetworkManager state is now >
Jun 21 09:33:27 fedora NetworkManager[1095]: <info>  [1718955207.6699] device (enp2s0): state change: prepar>
Jun 21 09:33:27 fedora NetworkManager[1095]: <info>  [1718955207.6843] device (enp2s0): state change: config>
Jun 21 09:33:27 fedora NetworkManager[1095]: <info>  [1718955207.6844] dhcp4 (enp2s0): activation: beginning>
lines 1-23/23 (END)


❯ ip addr show dev enp2s0
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 58:47:ca:74:30:a3 brd ff:ff:ff:ff:ff:ff

❯ nmcli connection
NAME                UUID                                  TYPE      DEVICE
lo                  0467dc33-0d1b-4483-bcbb-76ac557a2557  loopback  lo
br-1e1340c479ef     12da0cd2-0a37-4945-bc38-bd2b4e702fb6  bridge    br-1e1340c479ef
docker0             42799f85-8227-4b78-8bf7-abcc781518a3  bridge    docker0
Wired connection 1  ec1f99fd-05d6-3cf9-a0c3-c12b6b830837  ethernet  --


❯ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-1e1340c479ef



❯ systemd-resolve --status
Global
         Protocols: LLMNR=resolve -mDNS -DNSOverTLS DNSSEC=no/unsupported
  resolv.conf mode: stub

Link 2 (enp2s0)
    Current Scopes: none
         Protocols: -DefaultRoute LLMNR=resolve -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 3 (enp3s0)
    Current Scopes: none
         Protocols: -DefaultRoute LLMNR=resolve -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 4 (wlp4s0)
    Current Scopes: none
         Protocols: -DefaultRoute LLMNR=resolve -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 5 (eth0)
    Current Scopes: none
         Protocols: -DefaultRoute LLMNR=resolve -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 6 (br-1e1340c479ef)
    Current Scopes: none
         Protocols: -DefaultRoute LLMNR=resolve -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 7 (docker0)
    Current Scopes: none
         Protocols: -DefaultRoute LLMNR=resolve -mDNS -DNSOverTLS DNSSEC=no/unsupported

Added networking, realtek and removed intel, server

Why can’t you use kernel 6.9.4? Especically as 6.8.11 is not working for you.

Sorry I update post, It stopped working on the kernel. 6.9.4-200.fc40 and above

I have an RTL8125 as well. Here are my NIC’s details from lshw and lspci.

$ lshw -class network
...
  *-network
       description: Ethernet interface
       product: RTL8125 2.5GbE Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:05:00.0
       logical name: enp5s0
       version: 05
       serial: 50:eb:f6:76:d2:36
       size: 1Gbit/s
       capacity: 2500Mbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd 2500bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=6.9.4-200.fc40.x86_64 duplex=full firmware=rtl8125b-2_0.0.2 07/13/20 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:18 ioport:5000(size=256) memory:84200000-8420ffff memory:84210000-84213fff

$ lspci -s 5:0 -v
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
	Subsystem: ASUSTeK Computer Inc. Device 87d7
	Flags: bus master, fast devsel, latency 0, IRQ 18
	I/O ports at 5000 [size=256]
	Memory at 84200000 (64-bit, non-prefetchable) [size=64K]
	Memory at 84210000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
	Capabilities: [70] Express Endpoint, IntMsgNum 1
	Capabilities: [b0] MSI-X: Enable+ Count=32 Masked-
	Capabilities: [d0] Vital Product Data
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [148] Virtual Channel
	Capabilities: [168] Device Serial Number 01-00-00-00-68-4c-e0-00
	Capabilities: [178] Transaction Processing Hints
	Capabilities: [204] Latency Tolerance Reporting
	Capabilities: [20c] L1 PM Substates
	Capabilities: [21c] Vendor Specific Information: ID=0002 Rev=4 Len=100 <?>
	Kernel driver in use: r8169
	Kernel modules: r8169

Update
I see this error

❯ sudo dmesg -w

 [1802.047351] r8169 0000:02:00.0: PCIe Bus Error: severity=Correctable, type=Data Link Layer, (Transmitter ID)
[ 1802.047354] r8169 0000:02:00.0:   device [10ec:8125] error status/mask=00001000/0000e000
[ 1802.047357] r8169 0000:02:00.0:    [12] Timeout

Ok so if this works for you

driver=r8169 driverversion=6.9.4-200.fc40.x86_64 duplex=full firmware=rtl8125b-2_0.0.2 07/13/20

Where mine is

driver=r8169 driverversion=6.9.5-200.fc40.x86_64 duplex=full firmware=rtl8125b-2_0.0.2 07/13/20 

Maybe this is not pure kernel issue but some update issue …
But what strange if boot from older kernel then it works …

I will update my kernel and report if there is breakage.

Edit: Running on 6.9.5-200.fc40.x86_64 without issue.

I have low expection that might work. But try using a different cable and a different switch port.

I found this post …
Looks exactly like my issue

Update
After I plugged to different port on my Internet Provider modem the internet started to working.

The big question
What changed after kernel update that I needed to plug to different port?
So this is something between modem/router and my network card.

I can only speculate…

Your modem/router has buggy firmware.
Your modem/router cached something against the port.

You may find that simply unplugged and replugging in the same port makes it work
as that can trigger events in the router.

You may find that powering off the modem/router waiting a few seconds then powering back up allows the original port to work again.

At the electical circuit level the connection is marginal.

Does the MAC address change based on the kernel you boot (should not change)?

I think the mac address was not changed.
Old kernel

❯ip addr show dev enp2s0
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 58:47:ca:74:30:a3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.122/24 brd 192.168.0.255 scope global dynamic noprefixroute enp2s0
       valid_lft 84555sec preferred_lft 84555sec

Newer kernel

ip addr show dev enp2s0
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 58:47:ca:74:30:a3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.122/24 brd 192.168.0.255 scope global dynamic noprefixroute enp2s0
       valid_lft 85668sec preferred_lft 85668sec

Also plugged / unplugged cable on the same port did not help.
Only switching to new port helped.

So yes looks like the IP modem cached something …

Update
I checked logs in IP modem
I see this error message on 19-06-2024 04:34:09
but maybe this is just warning …

19-06-2024 04:34:09	error	DHCP RENEW WARNING - Field invalid in response v4 option;CM-MAC=20:b8:2b:13:d2:1c;CMTS-MAC=00:a3:d1:5d:89:5f;CM-QOS=1.1;CM-VER=3.1;

So maybe there is some issue with DHCP.

Today I faced the same issue after updating to kernel 6.10.6-200.fc40.x86_64. To fixed it i’ve done the following steps.

  1. Restarded the Fedora system to previous Kernel on grub menu
  2. Check if the network interface is active:
    nmcli device status
  3. Restart the network service:
    sudo systemctl restart NetworkManager
  4. Check network drivers:
    lspci -k | grep -A 3 -i network
  5. Install network packeges:
    sudo dnf install iproute net-tools traceroute nmap nc tcpdump ethtool mtr bind-utils curl wget wireshark iperf3 vnstat conntrack-tools whois

After that I just restarted to 6.10.6-200.fc40.x86_64. kernel and everything worked as expected