Ethernet refuses to connect (brand-new cables + install, did general troubleshooting etc.)

Hi! I am at my wits end at how I should try to get my ethernet working under CachyOS - or any linux distro in general for that matter. For the purposes of this post, I have done a clean install of CachyOS, where I haven’t changed anything concerning the drivers or hardware yet. I have the following relevant hardware, kernel and default drivers:

  • Motherboard: MAG B850 TOMAHAWK MAX WIFI (basically brand new)
  • Controller: Realtek Semiconductor Co., Ltd. RTL8126 5GbE Controller
  • Driver in Use: r8169
  • Router: FRITZ!box 6670 Cable
  • Ethernet Cable: Cat6 (brand new), connected to 5Gbps at the PC-end and 2.5Gbps at the router end
  • Kernel version: 7.0.11-1-cachyos
  • contractual speed is anything between 800Mbps and 1Gbps

I have tried the following so far, following various guides around the internet:

  • installed and put the r8126 driver while blacklisting the r8169 driver, including a hard power cycle
  • tried to turn off auto-negotiation and force it to use 1Gbit/s, which just leads to it repeatedly trying to connect and failing; setting it to “ignore” just leads to it sometimes falling back to 10Mbps and connecting, although I am not sure if there is any data transfer happening in the background at all (and there is no rhyme or reason as to when it wants to connect)
  • looked at the router side, which shows 1Gbps/50Mbps download/upload and a connection at the 2.5Gbps port as expected, so the signal gets lost somewhere between router and PC
  • all kinds of replugging of cables, restarting router etc.
  • tried all this on Fedora 44 with identical results, except the WiFi is even wonkier on CachyOS losing internet connection every couple minutes
  • troubleshooted with this forum and other linux forums about similar problems to no avail
  • troubleshooted responses with AI to try and see where the actual problem is, likely being a driver or kernel issue somewhere on the PHY layer

Things I haven’t tried so far:

  • tried to get the ethernet working under Windows (it feels a bit strange having to shoehorn the drivers into there from a different linux install because it, being a pre-existing Windows install with none of the factory drivers, has no internet connection); I will try this though if it helps

The confusing thing about all of this is that all my parts, including the ethernet cables I bought literally three days ago, are less than a month old - so it is highly likely that it’s not a connection issue, as it often is for these cryptic problems.

…at this point I also wanted to point to evidence that journalctl shows the downshift, but this does not seem to appear anymore since I did the clean cachyos install, strange. There just seems to be some firewall messages (“UFW_BLOCK”) along with a lot of ath12_k_wifi7_pci panic not finding the network I am currently writing this message over…?

Anyway, if the magnificent people of this community have any other ideas I would be eternally grateful :). Thanks!

Try LTS kernel

Already tried that before, but I am trying it again right now with no change, sadly. I am writing this using the 6.18.34-1-cachyos-lts kernel, with the ethernet adapter failing repeatedly in the background as we speak.

DKMS from AUR?

Have you rebuilded initramfs?

Post result of:

lspci -k | grep -A3 -i realtek
lsmod | grep r81
dmesg | grep -i r8126
journalctl -b -u NetworkManager -p err

Yup, r8126-dkms from AUR. No I haven’t rebuilt initramfs yet, don’t really know what that is.

lspci -k | grep -A3 -i realtek

0a:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8126 5GbE Controller (rev 01)
        Subsystem: Micro-Star International Co., Ltd. [MSI] Device 7e62
        Kernel driver in use: r8169
        Kernel modules: r8169
--
0c:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
        Subsystem: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less)
        Kernel driver in use: nvme
        Kernel modules: nvme
0d:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] 800 Series Chipset USB 3.x XHCI Controller (rev 01)
--
        DeviceName: Realtek ALC1220
        Subsystem: Micro-Star International Co., Ltd. [MSI] Device ee51
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

lsmod | grep r81

mdio_devres            12288  1 r8169
libphy                184320  3 r8169,mdio_devres,realtek
mdio_bus               69632  3 r8169,libphy,realtek
sudo dmesg | grep -i r8126


(This is the clean install, so no drivers here - I will install it again if you think that it’ll help)

journalctl -b -u NetworkManager -p err

-- No entries --

I will install the r8126-dkms driver again now, let’s see if anything has changed.

Nope, r8126-dkms did not help.

lspci -k | grep -A3 -i realtek

0a:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8126 5GbE Controller [10ec:8126] (rev 01)
        Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:7e62]
        Kernel driver in use: r8126
        Kernel modules: r8169, r8126
--
0c:00.0 Non-Volatile memory controller [0108]: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) [10ec:5772] (rev 01)
        Subsystem: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) [10ec:5772]
        Kernel driver in use: nvme
        Kernel modules: nvme
0d:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 800 Series Chipset USB 3.x XHCI Controller [1022:43fc] (rev 01)
--
        DeviceName: Realtek ALC1220
        Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:ee51]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

lsmod | grep r81

r8126                 180224  0
sudo dmesg | grep -i r8126

[    6.051271] r8126: loading out-of-tree module taints kernel.
[    6.051274] r8126: module verification failed: signature and/or required key missing - tainting kernel
[    6.053231] r8126 Ethernet controller driver 10.016.00 loaded
[    6.053250] r8126 0000:0a:00.0: enabling device (0000 -> 0003)
[    6.060218] r8126: This product is covered by one or more of the following patents: US6,570,884, US6,115,776, and US6,327,625.
[    6.060241] r8126  Copyright (C) 2025 Realtek NIC software team <nicfae@realtek.com> 
[    7.172279] r8126 0000:0a:00.0 enp10s0: renamed from eth0
[   25.553415] r8126: enp10s0: link up
[   25.560322] r8126: enp10s0: link down
[   53.358443] r8126: enp10s0: link up
[   53.364311] r8126: enp10s0: link down
[   86.294422] r8126: enp10s0: link up
[   86.300323] r8126: enp10s0: link down
[  110.238779] r8126: enp10s0: link up
[  110.247679] r8126: enp10s0: link down
[  133.517076] r8126: enp10s0: link up
[  133.522966] r8126: enp10s0: link down
[  156.671913] r8126: enp10s0: link up
[  156.677797] r8126: enp10s0: link down
[  179.828304] r8126: enp10s0: link up
[  179.835200] r8126: enp10s0: link down
[  202.985143] r8126: enp10s0: link up
[  202.990777] r8126: enp10s0: link down
[  230.849730] r8126: enp10s0: link up
[  230.855631] r8126: enp10s0: link down
[  254.177644] r8126: enp10s0: link up
[  254.183535] r8126: enp10s0: link down

journalctl -b -u NetworkManager -p err

-- No entries --

Heck I even just found a 3.0-USB-to-LAN adapter in my stuff that also does not work, so it is not even an issue with the onboard controller itself… what is going on here??

FFS, I finally found a configuration that miraculously works: Plugging in the adapter at the MB end and using one of the 1G ports instead of the 2.5G port on the router immediately makes it connect without problems. Hence I suspect that the driver/controller are just f-ed (->dongle) and maybe even my high-speed router port is f-ed (->1G port). So much for the stacks of money invested into such garbage…

For the record: The USB-to-LAN adapter is “USB Network Adapter, Rankie® SuperSpeed USB 3.0 to RJ45 Gigabit Ethernet Network Adapter” specifically.

Thank you anyway! I will keep troubleshooting and maybe, one day, write a guide that shows where the entire thing goes haywire and how to fix it. For the meantime I will go grab a beer and destress from this nonsense haha.

After blacklisting r8169 and loading r8126 you need rebuild image file that loads kernel. Without it after reboot you end up with old ketnel without any changes. And power off for few seconds was essential for this blacklisting guide.

So

yay -S r8126-dkms
echo "blacklist r8169" | sudo tee /etc/modprobe.d/blacklist-r8169.conf
echo "r8126" | sudo tee /etc/modules-load.d/r8126.conf
sudo mkinitcpio -P

and then full power cycle

Thanks! I will try that tomorrow, it’s getting quite late here. For the meantime I mark my workaround as the solution.