From bc9ee24993b5173816d3fe2b1863f98a8a58a447 Mon Sep 17 00:00:00 2001 From: Tom Elliott Date: Tue, 7 Jul 2026 15:28:12 -0500 Subject: [PATCH] Switch x64/arm64 kernels to in-kernel r8169 for RTL8168/8125/8126 The Realtek vendor r8125 driver, as built here, rewrites the adapter MAC and arms WoL/D3 on its shutdown path, leaving the NIC at 00:00:00:00:00:00 until a cold power cycle (FOGProject/fos#108). The x86 build already uses the in-kernel r8169 driver and never showed this; x64 and arm64 were still on the vendor drivers. Flip x64 and arm64 to CONFIG_R8169=y and drop the vendor R8125/R8126/R8127/R8168 drivers, matching x86. Embed the matching rtl8125*/rtl8168* NIC firmware into bzImage via CONFIG_EXTRA_FIRMWARE (arm64 already carried it; x64 needed it added because the vendor r8168 driver shipped firmware in-source). Tradeoffs: drops vendor RTL8127 10GbE support (no in-kernel replacement in 6.18); r8169 WoL on 2.5G Realtek can be inconsistent on some boards. Under hardware validation before merge. Refs: FOGProject/fos#108 Co-Authored-By: Claude Opus 4.8 --- configs/kernelarm64.config | 10 +++++----- configs/kernelx64.config | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/configs/kernelarm64.config b/configs/kernelarm64.config index 98fc191..cc80de9 100644 --- a/configs/kernelarm64.config +++ b/configs/kernelarm64.config @@ -1841,12 +1841,12 @@ CONFIG_8139TOO=y CONFIG_8139TOO_TUNE_TWISTER=y CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set -# CONFIG_R8169 is not set +CONFIG_R8169=y # CONFIG_RTASE is not set -CONFIG_R8125=y -CONFIG_R8126=y -CONFIG_R8127=y -CONFIG_R8168=y +# CONFIG_R8125 is not set +# CONFIG_R8126 is not set +# CONFIG_R8127 is not set +# CONFIG_R8168 is not set CONFIG_NET_VENDOR_RENESAS=y CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SAMSUNG=y diff --git a/configs/kernelx64.config b/configs/kernelx64.config index 258d634..e3d118a 100644 --- a/configs/kernelx64.config +++ b/configs/kernelx64.config @@ -1156,7 +1156,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y CONFIG_FW_LOADER_PAGED_BUF=y CONFIG_FW_LOADER_SYSFS=y -CONFIG_EXTRA_FIRMWARE="bnx2x/bnx2x-e1h-7.13.1.0.fw bnx2x/bnx2x-e2-7.13.1.0.fw bnx2/bnx2-mips-09-6.2.1b.fw bnx2/bnx2-mips-06-6.2.3.fw tigon/tg357766.bin bnx2/bnx2-rv2p-09-6.0.17.fw bnx2/bnx2-rv2p-06-6.0.15.fw bnx2x/bnx2x-e2-7.13.15.0.fw rtl_nic/rtl8105e-1.fw rtl_nic/rtl8107e-2.fw rtl_nic/rtl8153a-4.fw rtl_nic/rtl8156b-2.fw rtl_nic/rtl8411-2.fw rtl_nic/rtl8106e-1.fw rtl_nic/rtl8127a-1.fw rtl_nic/rtl8153b-2.fw rtl_nic/rtl8106e-2.fw rtl_nic/rtl8153a-2.fw rtl_nic/rtl8153c-1.fw rtl_nic/rtl8402-1.fw rtl_nic/rtl8107e-1.fw rtl_nic/rtl8153a-3.fw rtl_nic/rtl8156a-2.fw rtl_nic/rtl8411-1.fw" +CONFIG_EXTRA_FIRMWARE="bnx2x/bnx2x-e1h-7.13.1.0.fw bnx2x/bnx2x-e2-7.13.1.0.fw bnx2/bnx2-mips-09-6.2.1b.fw bnx2/bnx2-mips-06-6.2.3.fw tigon/tg357766.bin bnx2/bnx2-rv2p-09-6.0.17.fw bnx2/bnx2-rv2p-06-6.0.15.fw bnx2x/bnx2x-e2-7.13.15.0.fw rtl_nic/rtl8105e-1.fw rtl_nic/rtl8107e-2.fw rtl_nic/rtl8153a-4.fw rtl_nic/rtl8156b-2.fw rtl_nic/rtl8411-2.fw rtl_nic/rtl8106e-1.fw rtl_nic/rtl8127a-1.fw rtl_nic/rtl8153b-2.fw rtl_nic/rtl8106e-2.fw rtl_nic/rtl8153a-2.fw rtl_nic/rtl8153c-1.fw rtl_nic/rtl8402-1.fw rtl_nic/rtl8107e-1.fw rtl_nic/rtl8153a-3.fw rtl_nic/rtl8156a-2.fw rtl_nic/rtl8411-1.fw rtl_nic/rtl8168h-2.fw rtl_nic/rtl8168h-1.fw rtl_nic/rtl8168g-3.fw rtl_nic/rtl8168g-2.fw rtl_nic/rtl8168g-1.fw rtl_nic/rtl8168f-2.fw rtl_nic/rtl8168f-1.fw rtl_nic/rtl8168e-3.fw rtl_nic/rtl8168e-2.fw rtl_nic/rtl8168e-1.fw rtl_nic/rtl8168d-2.fw rtl_nic/rtl8168d-1.fw rtl_nic/rtl8125b-1.fw rtl_nic/rtl8125b-2.fw rtl_nic/rtl8125a-3.fw" CONFIG_EXTRA_FIRMWARE_DIR="linux-firmware" CONFIG_FW_LOADER_USER_HELPER=y # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set @@ -1865,12 +1865,12 @@ CONFIG_8139TOO=y CONFIG_8139TOO_TUNE_TWISTER=y CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set -# CONFIG_R8169 is not set +CONFIG_R8169=y # CONFIG_RTASE is not set -CONFIG_R8125=y -CONFIG_R8126=y -CONFIG_R8127=y -CONFIG_R8168=y +# CONFIG_R8125 is not set +# CONFIG_R8126 is not set +# CONFIG_R8127 is not set +# CONFIG_R8168 is not set CONFIG_NET_VENDOR_RENESAS=y CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SAMSUNG=y