ieee80211: start scan dwell after channel and probe completion - #1209
Draft
mgonzalezlopezudc wants to merge 3 commits into
Draft
mgonzalezlopezudc wants to merge 3 commits into
mgonzalezlopezudc wants to merge 3 commits into
Conversation
STA management frames built before association omitted Address3. Carry the procedure-selected BSSID in a typed request tag and honor it at MAC header construction, preserving the AP fallback and keeping receiver address distinct from BSSID. A real STA scan/authentication/association test checks management Address3 at the MAC boundary, including wildcard probes. Change: src.ieee80211.management | behavior.change.fix | test | wifi-audit
Active dwell could expire before the queued Probe Request finished, and a passive retune parked during reception could remain pending after the medium became idle. Wait for the matching radio channel event, correlate probe completion through its management transaction, and retry deferred configuration only outside active exchanges and pending transmissions. Observe busy indications on the scanning radio instead of the entire host. Clear scan listeners and retry state on teardown. DCF and HCF regressions verify probe completion before minimum dwell and exact passive dwell after the deferred retune applies. The separately proposed old-channel active-probe ordering was not reproduced. Change: src.ieee80211.scanning | behavior.change.fix | test | wifi-audit
A busy indication from another component must not extend the scanning radio dwell, and completion of an older probe must not advance a new scan. Exercise these handlers directly alongside the DCF/HCF exchange timing tests. Change: tests | behavior.add | test | wifi-audit
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Active dwell started when Probe Request was queued, and a deferred passive retune could stall after the medium became idle. Wait for matching own-radio retune and tagged probe completion, scope busy observations, and retry pending configuration at guarded idle points.
Scope
STA scan state, transaction tags, MAC retry timer, contention and Tx pending-state contract; BSSID prerequisite first.
Dependencies and merge order
Depends on #1199 (management BSSID and Capability Information). Merge that PR first.
This branch currently carries the BSSID prerequisite, but not the capability changes. The prerequisite commit is already covered by the management PR. After it merges, rebase this branch onto updated
master, drop the equivalent BSSID prerequisite, resolve overlapping management/MAC changes, and rerun this PR’s focused tests. This PR is not ready to merge before that reconciliation.Scan-result filtering is a separate PR and is not a prerequisite. If it lands first, preserve its result filtering when rebasing.
Validation
Pinned test base:
7287f347aaca36e557c708d6930a6f5a450b2833.The isolated topic head passed an assertions-enabled debug build (
-O0 -Wall -g0; debug symbols omitted for storage) and the focused checks below. The larger integration source tree also passed debug and release compilation; no separate release build is claimed for this topic.Executed focused test commands, from the repository root after
source setenv -q:Results: 1 unit, 2 module cases passed.
Limits and review status
Specific old-channel active-probe ordering remains unproven. Physical dual-NIC, pending-SIFS and lifecycle campaigns remain broader coverage.
Draft pending final independent review and reconciliation with current upstream. Live PR overlap has not been reverified against the pinned test base.