feat(kernel): add 802.11s mesh stack (mt76x2u/ath10k_pci/ath9k_htc) — CM-MESH-MPCIE-2026-06 v0.2.1

Append WIRELESS/WIFI block to OpenWrt-merged kernel fragment so the next
build-kernel.yml run ships:
  - mac80211 + 802.11s mesh + HWMP (=m)
  - ath10k_pci for QCA9880 / WLE900VX backhaul mesh
  - mt76x2u for MT7632U USB access client
  - ath9k_htc for AR9271 firmware-free audit dongle
  - signed regulatory DB (FR domain lock via secubox-mesh postinst)

Add four sanity-check greps in build-kernel.yml so a future fragment
regression fails the CI before producing a kernel .deb without WiFi.

Manual workflow_dispatch of build-kernel.yml required to materialise
the new linux-image-*.deb (artifact path not yet wired into
build-image.yml — see tracking issue).
This commit is contained in:
CyberMind-FR 2026-06-02 12:59:55 +02:00
parent 948774f7fc
commit 67c54ee421
2 changed files with 46 additions and 0 deletions

View File

@ -112,6 +112,12 @@ jobs:
grep -q "CONFIG_ZRAM=m" .config || (echo "FAIL: ZRAM module missing" && exit 1)
grep -q "^CONFIG_ZRAM_DEF_COMP_ZSTD=y" .config || (echo "FAIL: ZRAM zstd default missing" && exit 1)
# Wireless mesh stack (CM-MESH-MPCIE-2026-06 v0.2.1)
grep -q "CONFIG_MT76x2U=m" .config || (echo "FAIL: mt76x2u missing" && exit 1)
grep -q "CONFIG_ATH10K_PCI=m" .config || (echo "FAIL: ath10k_pci missing" && exit 1)
grep -q "CONFIG_ATH9K_HTC=m" .config || (echo "FAIL: ath9k_htc missing" && exit 1)
grep -q "CONFIG_MAC80211_MESH=y" .config || (echo "FAIL: 802.11s missing" && exit 1)
- name: Build kernel .deb (bindeb-pkg)
run: |
cd /tmp/build/linux-${KERNEL_VERSION}

View File

@ -440,3 +440,43 @@ CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_RNDIS_HOST=y
#=============================================================================
# WIRELESS / WIFI (CM-MESH-MPCIE-2026-06 v0.2.1)
# Backhaul mesh : QCA9880 / WLE900VX mPCIe → ath10k_pci (3x3 5 GHz)
# Access client : MT7632U USB → mt76x2u
# Audit option : AR9271 USB firmware-free → ath9k_htc
# All built as modules (=m) so they can be blacklisted per-node.
#=============================================================================
CONFIG_WIRELESS=y
CONFIG_CFG80211=m
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=m
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_HWMP=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_LEDS=y
# Atheros family — ath10k_pci for QCA9880 backhaul, ath9k_htc for AR9271 USB
CONFIG_WLAN_VENDOR_ATH=y
CONFIG_ATH_COMMON=m
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH9K_HW=m
CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K_HTC=m
# MediaTek family — mt76x2u USB (MT7632U / S305-8946-1A4C)
CONFIG_WLAN_VENDOR_MEDIATEK=y
CONFIG_MT76_CORE=m
CONFIG_MT76_USB=m
CONFIG_MT76x02_LIB=m
CONFIG_MT76x02_USB=m
CONFIG_MT76x2_COMMON=m
CONFIG_MT76x2U=m
# Wireless regulatory database (FR domain lock, see secubox-mesh postinst)
CONFIG_CFG80211_CRDA_SUPPORT=n
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y