I’ve tested a number of 10 Gigabit Ethernet adapters on Raspberry Pi 5 based on the AQC107 chip. One adapter that negotiates PCIe Gen 3, achieves 5.5 Gbps speed and overheats. Another one which only works in PCIe Gen 2 mode and peaks at 3.44 Gbps. And even a full-size PCIe card made by TP-Link which negotiates PCIe Gen 2 link speed and doesn’t go beyond 3.44 Gbps either.
The Realtek RTL8126 chip we are testing today is so far the most suitable for Raspberry Pi 5. It is capable of 5 Gigabit Ethernet at full speed. TCP iperf3 throughput peaks at 4.7 Gbps. It doesn’t overheat. And it doesn’t excessively utilise the Raspberry Pi 5 CPU.
This particular one is sold under the iocrest brand. Like the other boards and adapters there is no increst branding on it and it will likely be sold under various brands. The RTL8126 chip is the key component here.
How did we connect it to the Pi? Via PCIe bus. We breakout the Raspberry Pi 5’s PCIe connector via Pineboards (aka Pineberry Pi) board to M.2 M-key slot. And in that slot we install the iocrest 5 Gigabit Ethernet network adapter – that’s the black M.2 module, plus a PCB with RJ-45 connector on a grey ribbon cable.
Here is how it looks from PCI device perspective.
Performance
It has no problem negotiating full duplex 5 Gigabit Ethernet and filling the interface with traffic fully.
iperf3 with default TCP settings peaks at 4.7 Gbps up and down. More parallel streams don’t improve the result any further. This is in PCIe Gen 3 mode.
Just for the record, if we downgrade PCIe bus to Gen 2 link speeds, we are talking 3.43 Gbps down and 3.31 Gbps up iperf3 TCP throughput-wise.
Thermal footprint
Fully loaded by TCP traffic, I see temperature of 81.2° C (178° F) on the top surface of the RTL8126 chip. Yes, it is on the warmer side, but Raspberry Pi 5 SoC runs quite warm too and it is nowhere near 122° C temperatures I observed on this “hot” 10 Gigabit Ethernet adapter.
By the looks of it, there is no temperature sensor on the PHY so I can’t measure internal temperature.
Linux software support
I happened to have Raspberry Pi OS with 6.8.0-rc7 kernel running on the Raspberry Pi 5. Out of the box, the adapter did not work. iocrest included driver download link pointing to this Chinese website but I am not so sure I want to use that one.
After installing driver from Realtek’s website, the adapter works just fine.
Power draw
This adapter in PCIe Gen 3 mode draws about 1.5 W in idle, and 2.1 W under full iperf3 load.
Switching the adapter to Gen 2 mode doesn’t make any power savings. I measured 0.1 W less in Gen 2 mode.
The whole setup of Raspberry Pi 5 with fan, Pineboards PCIe adapter, and this 5 GbE adapter in PCIe Gen 3 mode draws about 5.1 Watts in total under full iperf3 load.
Does it work on Windows 11?
Yes, it does. I installed one in Intel NUC 12th generation. It runs at full speed full and Gen 3 x1 mode.
Windows 11 driver (as of May 2024) downloaded automatically via Windows Update only allows this adapter to use 2.5 GbE. To unlock 5 GbE we download driver directly from Realtek’s website and we are all set.
With the adapter inserted in M.2 M-key slot, we won’t be able pop the NUC bottom lid back on. The adapter is just a bit too tall.
Throughput also looks good. I might revisit Windows throughput testing tools at some point. But for now, I take 4.74 Gbps down and 4.42 Gbps up speeds. Increasing number of parallel streams did not improve throughput in any way.
For the record, Jumbo frames seem to be supported but I had no reason to explore this further this time.
Summary
As I mentioned towards the beginning, 5 Gigabit Ethernet based on Realtek RTL8126 chip seems to strike the perfect balance for Raspberry Pi 5. It delivers 4.7 Gbps up and down, doesn’t consume much power, and doesn’t produce excessive amount of heat.
Long-time test will tell how it actually performs but for now I am happy with what I’ve seen.
From driver perspective, I am wondering if the latest Linux kernel supports this chip natively or if I can enable the right kernel module manually.