prplmesh-stock: add package#30071
Conversation
Add prplMesh 6.0.1 controller and agent support for stock OpenWrt. The package keeps the installed hostapd/wpad stack and uses the existing UCI, ubus and nl80211 control plane. The stock-platform patch series is submitted upstream as: https://gitlab.com/kreout/prplMesh/-/merge_requests/1 Tested on OpenWrt 25.12.5 mediatek/mt7622 with two Ethernet-connected EasyMesh agents. The clean SDK package build and APK integrity check pass. Signed-off-by: Andrei Ovcharenko <a@krot.name>
7eae958 to
e33f272
Compare
openwrt-ai
left a comment
There was a problem hiding this comment.
Reviewed 1 new commit; 1 inline issue flagged. The OpenWrt packaging (Makefile deps libnl-core/libnl-genl/libnl-route etc. all resolve, init/config look consistent) is fine; the flagged issue is in the bundled upstream patch. CI on the head commit is still pending, so nothing to ground CI-side.
Generated by Claude Code
cc7506b to
365abdd
Compare
Install the host PyYAML package required by the TLVF generator. Return a non-zero status when controller transport setup fails. Signed-off-by: Andrei Ovcharenko <a@krot.name>
365abdd to
6f40907
Compare
Add the warning override through EXTRA_CXXFLAGS. Passing CMAKE_CXX_FLAGS on the cmake command line replaces target optimization and hardening flags initialized from the CXXFLAGS environment. OpenWrt CMake integration: https://github.com/openwrt/openwrt/blob/master/include/cmake.mk Signed-off-by: Andrei Ovcharenko <a@krot.name>
67aff22 to
737a174
Compare
| HOSTAPD_SOURCE_DATE:=2025.08.26 | ||
| HOSTAPD_SOURCE_VERSION:=ca266cc24d8705eb1a2a0857ad326e48b1408b20 | ||
| HOSTAPD_SOURCE:=hostapd-$(HOSTAPD_SOURCE_DATE)~$(call version_abbrev,$(HOSTAPD_SOURCE_VERSION)).tar.zst | ||
| HOSTAPD_SOURCE_URL:=https://w1.fi/hostap.git | ||
| HOSTAPD_SOURCE_PROTO:=git | ||
| HOSTAPD_MIRROR_HASH:=59ac677093f524ff98588abd9f33805a336a6e929d6814222f0d784c854f2343 | ||
| HOSTAPD_BUILD_ROOT:=$(BUILD_DIR)/$(PKG_NAME)-hostapd-source | ||
| HOSTAPD_BUILD_DIR:=$(HOSTAPD_BUILD_ROOT)/hostapd-$(HOSTAPD_SOURCE_DATE)~$(call version_abbrev,$(HOSTAPD_SOURCE_VERSION)) | ||
| HOSTAPD_OPENWRT_CTRL_PATCH:=$(CURDIR)/files/610-hostapd_cli_ujail_permission.patch | ||
| HOSTAPD_WPA_CTRL_HASHER:=$(STAGING_DIR_HOST)/bin/mkhash | ||
| HOSTAPD_WPA_CTRL_RAW_SHA256:=482839d354b9c53e19e6a766ff5be054980607dd94e53efee9762dbda40f0f26 | ||
| HOSTAPD_WPA_CTRL_PATCHED_SHA256:=ad925b710901b3f2f2188afdab5a7f181913e48b159a824c30e0c19d2acd53fa |
There was a problem hiding this comment.
I have strong concerns regarding bundling/vendoring a custom, frozen copy of hostapd inside this package. As we can see, the version used here is already old and missing critical security fixes that are present in the core OpenWrt repo (see hostapd commits), where it is actively updated.
Additionally, it introduces unnecessary custom variables that shouldn't be there and just make the code harder to maintain.
Could you please consider another solution that fits your needs while reusing the system hostapd?
| $(CP) $(PKG_INSTALL_DIR)/opt/prplmesh/bin $(1)/opt/prplmesh/ | ||
| $(CP) $(PKG_INSTALL_DIR)/opt/prplmesh/scripts $(1)/opt/prplmesh/ | ||
| $(CP) $(PKG_INSTALL_DIR)/opt/prplmesh/share $(1)/opt/prplmesh/ | ||
| $(CP) $(PKG_INSTALL_DIR)/opt/prplmesh/config $(1)/opt/prplmesh/ |
There was a problem hiding this comment.
Installing binaries and scripts into /opt/prplmesh goes against OpenWrt packaging standards.
| prplMesh controller and agent build for stock OpenWrt. It uses the existing | ||
| hostapd control sockets and never replaces the installed wpad. |
There was a problem hiding this comment.
Nit: Uses existing things, but it is using own custom copy of hostapd. :-)
| From 398cbb76fa88f2d5dcc05b0ecc24ced1bbcad9ca Mon Sep 17 00:00:00 2001 | ||
| From: Mark Mentovai <mark@moxienet.com> | ||
| Date: Tue, 23 Nov 2021 12:28:55 -0500 | ||
| Subject: [PATCH] hostapd: allow hostapd under ujail to communicate with | ||
| hostapd_cli |
There was a problem hiding this comment.
This patch is also in the main repo while looking at it:
https://github.com/openwrt/openwrt/blob/66d356edeae6535f1f5683254fc325c552cad8d0/package/network/services/hostapd/patches/610-hostapd_cli_ujail_permission.patch
📦 Package Details
Maintainer: @krotname
Description:
Adds prplMesh 6.0.1 controller and agent support for stock OpenWrt. The
package keeps the installed hostapd/wpad stack and uses UCI, ubus and nl80211.
The stock-platform changes are under upstream review in
prplMesh MR !1.
The MR contains the
stock OpenWrt UCI/nl80211 support,
Wi-Fi profile hardening,
and the
controller error-exit fix.
🧪 Run Testing Details
aarch64_cortex-a53)Validation:
make package/prplmesh-stock/refresh V=s: unchangedgit amto prplMesh 6.0.1 and currentmasterEthernet-connected EasyMesh agents
is queued behind the repository-admin approval required for fork workflows
Current limits:
prplMesh runners are available to the fork
masterwas patch-apply tested, not compiled by theunavailable upstream runner
mapping before it is enabled
✅ Formalities
If your PR contains a patch:
git amUpstream review: