RTL8125D breaks at 2.5Gbps

Geert Uytterhoeven <[email protected]>
Newsgroups gmane.linux.network
Message-ID <CAMuHMdXPAeHoeaQbM9rXbXukoMbFV+0k28n6sRMw8XF8720WUA@mail.gmail.com>
Hi Heiner, ChunHao,

Last autumn, my RTL8125D stopped working at 2.5 Gbps due to excessive
(2/3) packet loss.  This happened after an Ubuntu kernel update, but
booting the old kernel didn't help. As I couldn't investigate the issue
at that time, I moved the machine to a 1 Gbps switch.  I regularly tried newer
Ubuntu kernels, checked cables, but nothing fixed the issue...
Last weekend, I decided to have a deeper look, and restored all relevant
boot logs from backup.  Suddenly my eye caught:

    Unable to load firmware rtl_nic/rtl8125d-1.fw

in the logs of working kernels.

After moving /lib/firmware/rtl_nic/rtl8125d-1.fw.zst out of the way,
and power-cycling the machine, 2.5 Gbps started working again (280
MIB/s)! Presumably the firmware in ROM does support 2.5 Gbps, while
rtl8125d-1.fw is limited to 1 Gbps?

My motherboard is ASUS System Product Name/TUF GAMING B850M-PLUS WIFI,
BIOS 1057 06/02/2025.  I am using Ubuntu's 7.0.0-29-generic kernel,
whose r8169 driver is almost the same as in upstream v7.0.

According to the r8169 output, I have RTL8125D XID 688, while lspci
says RTL8125 2.5GbE Controller (rev 0c).

However, according to the r8169 driver sources:
  - RTL8125D ([1] says rev.a?) has XID 688 and uses
    rtl_nic/rtl8125d-1.fw,
  - RTL8125D rev.b (matches [2]) has XID 689 and uses
    rtl_nic/rtl8125d-2.fw.

Does XID 688 rev.c needs different firmware?
Would it be worthwhile/safe to replace
/lib/firmware/rtl_nic/rtl8125d-1.fw.zstd by rtl8125d-2.fw.zstd?
Is there any other info you need?

Thanks in advance!

[1] https://gitlab.com/kernel-firmware/linux-firmware/-/merge_requests/332
[2] https://gitlab.com/kernel-firmware/linux-firmware/-/merge_requests/387

Gr{oetje,eeting}s,

                        Geert
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.