Skip to content

CI test: prplmesh review fixes + log/backhaul patches - #12

Merged
krotname merged 2 commits into
masterfrom
ci/prplmesh-forkci
Aug 4, 2026
Merged

krotname merged 2 commits into
masterfrom
ci/prplmesh-forkci

Conversation

@krotname

@krotname krotname commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Fork matrix run for the squashed PR head dbf00b0 (openwrt#30071): failure-safe patch 150 with review fixes, patches 160/161/170, quilt fixed-point refresh. Not for merge review - CI validation only.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9e6866be37

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +353 to +355
+ // Only an empty reply is a clean end-of-list; FAIL past the
+ // restart budget leaves the VAP only partially walked.
+ vap_enumerated = text.empty();

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Recognize hostapd's FAIL end marker

When a VAP is empty or STA-NEXT reaches the final station, hostapd serializes the negative result from hostapd_ctrl_iface_sta_first()/hostapd_ctrl_iface_sta_next() as FAIL\n, rather than an empty reply. Consequently, every normal sweep leaves vap_enumerated false (and needlessly restarts nonempty VAPs), so the VAP is never added to m_enumerated_vaps and clients that disconnected without a received event remain in the controller indefinitely. Treat the normal FAIL terminator as a completed enumeration instead of requiring an empty response.

Useful? React with 👍 / 👎.

Add the prplMesh 6.0.1 EasyMesh controller and agent for stock OpenWrt.
The package keeps the installed hostapd/wpad stack and drives it over
the existing UCI, ubus, nl80211 and hostapd control sockets.

The hostapd control interface client is a small self-contained
implementation added by patch 120, so no hostapd source tree is
downloaded, bundled or duplicated at build time and the system hostapd
stays the only hostapd. Binaries install under /usr/libexec/prplmesh,
read-only data under /usr/share/prplmesh, shared libraries under
/usr/lib, configuration under /etc/config/prplmesh. The prplOS helper
scripts are not installed: their platform detection does not know stock
OpenWrt and nothing on this platform invokes them.

Stock builds run without NBAPI, so the controller skips the
CurrentOperatingClassProfile data-model cleanup for radios without a
data model path, and legacy vendor diagnostic measurements default to
off while standard EasyMesh metrics stay enabled. The controller also
registers radios that appear only in Topology Responses: some stock
agents never run WSC onboarding for a band (Wi-Fi 7 units and their
6 GHz radio), and such radios, their BSSes and their clients stayed
invisible otherwise. The init preflights every binary the selected
management mode needs before registering any procd instance, and the
example credentials ship empty so an enabled but unconfigured service
fails validation loudly instead of deploying a published passphrase.
A test-version.sh verifies the installed version from the shipped
version file instead of probing daemons.

Production log levels default to error, info, warning and fatal for
file and syslog output of both daemons, log retention is enforced by
the upstream roll helper (its platform guard now accepts openwrt)
driven from a procd-supervised daily roller, and link-metrics
reporting no longer warns about wireless-capable radios deliberately
not used for backhaul.

An earlier revision of this integration, differing only in the wpa_ctrl
client origin and the install prefix, runs on OpenWrt 25.12.5
mediatek/mt7622 with two Ethernet-connected EasyMesh agents.

Signed-off-by: Andrei Ovcharenko <[email protected]>
@krotname
krotname force-pushed the ci/prplmesh-forkci branch from 9e6866b to 2c5db63 Compare August 4, 2026 05:36
@krotname
krotname merged commit bf7b6bf into master Aug 4, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant