Selecting an Ethernet PCIe adapter for Fedora and other Linux Distros

For a long time, I couldn’t access the internet on Fedora because my high-end motherboard, X870 Aorus Elite WiFi7 had a shitty Realtek chip. Which surprised me. I expect many others will have this problem now that so many are migrating from Windows 10, so I’ll share my recommendations on which PCIe adapter to buy.

The best option seems to be the Intel EXPI9301CTBLK Gigabit CT PCIe Adapter

It’s a bit on the pricey side and its a discontinued model. But it’s a bit cheaper than it’s successor, the Intel® Ethernet Server Adapter I210-T1 with a single port.

Avoid anything TP-Link related. As well as the Silverstone adapters. They all have the Realtek chips. More specifically, the the RTL8125 chipset. Funny enough, there’s a brand called BrosTrend and it seems highly recommended. Even though they’re powered by Realtek chips.

If you have any better recommendations, share them below.

Do us all a favour, and name the Realtek Driver / chip that does not work. many Realtek chips do work and are great.

No need to go for a pricey new thing, get something that matches your internet and router speed.

USB ethernet adaptors work well too.

1 Like

The Realtek chips may work for you, but they’re far from ideal. Realtek does not officially support Linux and their drivers are of poor quality.

Yes, there might not be official contributions, but there are a lot of community contributions to the projects.

for your specific chipset here are 2 repos

not sure what you want from linux i have a asrock X870E Nova WiFi and I have had no issues with the realtech drivers i have the updated chipset of yours and it works just fine
0a:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8126 5GbE Controller [10ec:8126] (rev 01)

Did you install the third-party repos?

edit:
This is my own setup I am running right now. I’m not sure i understand the issue you’re having.

stevie@fedora:~$ lspci -nn | grep -i realtek
0a:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8126 5GbE Controller [10ec:8126] (rev 01)
stevie@fedora:~$ lspci -k | grep -A 3 -i realtek
0a:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8126 5GbE Controller (rev 01)
        Subsystem: ASRock Incorporation Device 8126
        Kernel driver in use: r8169
        Kernel modules: r8169
stevie@fedora:~$ lsmod | grep r81
r8169                 151552  0
stevie@fedora:~$ modinfo r8169
filename:       /lib/modules/6.17.7-300.fc43.x86_64/kernel/drivers/net/ethernet/realtek/r8169.ko.xz
firmware:       rtl_nic/rtl8127a-1.fw
firmware:       rtl_nic/rtl8126a-3.fw
firmware:       rtl_nic/rtl8126a-2.fw
firmware:       rtl_nic/rtl8125bp-2.fw
firmware:       rtl_nic/rtl8125d-2.fw
firmware:       rtl_nic/rtl8125d-1.fw
firmware:       rtl_nic/rtl8125b-2.fw
firmware:       rtl_nic/rtl8125a-3.fw
firmware:       rtl_nic/rtl8107e-2.fw
firmware:       rtl_nic/rtl8168fp-3.fw
firmware:       rtl_nic/rtl8168h-2.fw
firmware:       rtl_nic/rtl8168g-3.fw
firmware:       rtl_nic/rtl8168g-2.fw
firmware:       rtl_nic/rtl8106e-2.fw
firmware:       rtl_nic/rtl8106e-1.fw
firmware:       rtl_nic/rtl8411-2.fw
firmware:       rtl_nic/rtl8411-1.fw
firmware:       rtl_nic/rtl8402-1.fw
firmware:       rtl_nic/rtl8168f-2.fw
firmware:       rtl_nic/rtl8168f-1.fw
firmware:       rtl_nic/rtl8105e-1.fw
firmware:       rtl_nic/rtl8168e-3.fw
firmware:       rtl_nic/rtl8168e-2.fw
firmware:       rtl_nic/rtl8168e-1.fw
firmware:       rtl_nic/rtl8168d-2.fw
firmware:       rtl_nic/rtl8168d-1.fw
license:        GPL
softdep:        pre: realtek
description:    RealTek RTL-8169 Gigabit Ethernet driver
author:         Realtek and the Linux r8169 crew <netdev@vger.kernel.org>
rhelversion:    10.99
alias:          pci:v000010ECd00000E10sv*sd*bc*sc*i*
alias:          pci:v000010ECd00005000sv*sd*bc*sc*i*
alias:          pci:v000010ECd00003000sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008127sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008126sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008125sv*sd*bc*sc*i*
alias:          pci:v00000001d00008168sv*sd00002410bc*sc*i*
alias:          pci:v00001737d00001032sv*sd00000024bc*sc*i*
alias:          pci:v000016ECd00000116sv*sd*bc*sc*i*
alias:          pci:v00001259d0000C107sv*sd*bc*sc*i*
alias:          pci:v00001186d00004302sv*sd*bc*sc*i*
alias:          pci:v00001186d00004300sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008169sv*sd*bc*sc*i*
alias:          pci:v000010FFd00008168sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008168sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008167sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008162sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008161sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008136sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008129sv*sd*bc*sc*i*
alias:          pci:v000010ECd00002600sv*sd*bc*sc*i*
alias:          pci:v000010ECd00002502sv*sd*bc*sc*i*
depends:        
intree:         Y
name:           r8169
retpoline:      Y
vermagic:       6.17.7-300.fc43.x86_64 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         Fedora kernel signing key
sig_key:        [REDACTED]
sig_hashalgo:   sha256
signature:     [REDACTED]
stevie@fedora:~$ 

I have an R8125, you have a RTL8126. That’s the difference. A USB adapter sounds like a good option if you have a spare USB-C port. It’s my preference to have a dedicated PCIe card.

My point is that RTL8125 is more mature and better supported in Linux than RTL8126. So if I have driver support, you are more than defiantly going to have support.

I would check and see if the right driver was installed

lspci -nn | grep -i realtek
lspci -k | grep -A 3 Ethernet
ip link show         # Is it UP?
ethtool enpXs0 | grep "Link detected"

# then check your logs for your kernel
dmesg | grep -i r8169 | tail -20
dmesg | grep -i firmware | grep rtl

Just trying to save you some money.