feat(drivers): add RTL8812EU/RTL8822EU wireless driver for EXTRA_WIFI

Integrate the libc0607/rtl88x2eu-20230815 out-of-tree driver into the build
system under EXTRA_WIFI for kernels >= 3.14 and < 6.19.

- Fetch pinned upstream commit ccb31f4ee346d5c2dd45475d276171b2f8de8350
- Install sources under drivers/net/wireless/rtl8822eu
- Enable AP and P2P modes in driver Makefile
- Hook into kernel Kconfig and Makefile via CONFIG_RTL8822EU

Tested working on `6.12.74-current-sunxi` and `6.6.75-legacy-sunxi`.
This commit is contained in:
Aurimas Niekis 2026-02-21 13:56:43 +02:00 committed by Igor
parent 77f919f6cd
commit e832bb3129
2 changed files with 48 additions and 0 deletions

View File

@ -108,6 +108,7 @@ function kernel_drivers_prepare_harness() {
driver_rtl8189FS
driver_rtl8192EU
driver_rtl8811_rtl8812_rtl8814_rtl8821
driver_rtl8812EU_rtl8822EU
driver_xradio_xr819
driver_rtl8811CU_rtl8821C
driver_rtl8188EU_rtl8188ETV

View File

@ -229,6 +229,53 @@ driver_rtl8811_rtl8812_rtl8814_rtl8821() {
fi
}
driver_rtl8812EU_rtl8822EU() {
# Wireless drivers for Realtek 8812EU and 8822EU chipsets
# disabled from 6.19 and on.
if linux-version compare "${version}" ge 3.14 && linux-version compare "${version}" lt 6.19; then
# Attach to specific commit (is branch:v5.15.0.1)
local rtl8822euver="commit:ccb31f4ee346d5c2dd45475d276171b2f8de8350" # Commit date: 2026-02-17 (please update when updating commit ref)
display_alert "Adding" "Wireless drivers for Realtek 8812EU and 8822EU chipsets ${rtl8822euver}" "info"
fetch_from_repo "$GITHUB_SOURCE/libc0607/rtl88x2eu-20230815" "rtl8822eu" "${rtl8822euver}" "yes" # https://github.com/libc0607/rtl88x2eu-20230815
cd "$kerneldir" || exit
mkdir -p "$kerneldir/drivers/net/wireless/rtl8822eu/"
cp -R "${SRC}/cache/sources/rtl8822eu/${rtl8822euver#*:}"/{core,hal,include,os_dep,platform,rtl8822e.mk,halmac.mk} \
"$kerneldir/drivers/net/wireless/rtl8822eu"
# Makefile
cp "${SRC}/cache/sources/rtl8822eu/${rtl8822euver#*:}/Makefile" \
"$kerneldir/drivers/net/wireless/rtl8822eu/Makefile"
# Kconfig
cp "${SRC}/cache/sources/rtl8822eu/${rtl8822euver#*:}/Kconfig" \
"$kerneldir/drivers/net/wireless/rtl8822eu/Kconfig"
# Enable AP mode
sed -i "s/^CONFIG_AP_MODE.*/CONFIG_AP_MODE = y/" \
"$kerneldir/drivers/net/wireless/rtl8822eu/Makefile"
# Enable P2P mode
sed -i "s/^CONFIG_P2P.*/CONFIG_P2P = y/" \
"$kerneldir/drivers/net/wireless/rtl8822eu/Makefile"
# Fix Kconfig file
sed -i 's/^\([[:space:]]*\)---help---/\1help/' \
"$kerneldir/drivers/net/wireless/rtl8822eu/Kconfig"
# Add to section Makefile
echo "obj-\$(CONFIG_RTL8822EU) += rtl8822eu/" >> "$kerneldir/drivers/net/wireless/Makefile"
sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8822eu\/Kconfig"' \
"$kerneldir/drivers/net/wireless/Kconfig"
fi
}
driver_xradio_xr819() {
# Wireless drivers for Xradio XR819 chipsets