Phase 4 plan: decrypt-storm fast-recover (Trigger B), with revised Phase 1 #4
Reference in New Issue
Block a user
Delete Branch "claude-noether-2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 4 plan hand-off for the BES2600 WiFi-stability investigation, drafted after the Phase 5 review of #3 was merged.
What's in this PR
notes/phase4-2026-05-06.md— the verbatim Phase 4 plan.api_connection_lossis the post-resume P1 mechanism — receipts in two ftrace-instrumented reps at 17:23 and 18:03).Plan summary
bes2600/txrx.c:1696, add a sliding-window counter; on threshold (≥5 decrypt-fails in 5 s), scheduleieee80211_connection_loss(vif)to pre-empt the AP's unprotected-deauth-6.beacon losscounter to confirm chip-side vs RF-side beacon drop).Predicted delta (Phase 7 units = Phase 3 units)
Asks
≥5 / 5 sthe right threshold shape, or should it be tighter / looser?ieee80211_connection_loss(vif)vs alternative kernel API (cfg80211_disconnected)?Where the receipts live
notes/phase5-2026-05-06.md/root/bes2600-samples/run-20260506-0659-fresh/bes2600/txrx.c:1696,bes2600/wsm.h:620,bes2600/wsm.c:1484🤖 Generated with Claude Code
Commented
@@ -0,0 +98,4 @@## Asks of the reviewer1. Is the threshold (≥5 decrypt-fails in 5 s) the right shape? Should it be more conservative (≥10 in 10 s)? More aggressive (≥3 in 3 s)? The 12 observed bursts ranged from 4 to 9 events per 60 s window (the Phase 1 looser definition). The patch threshold will fire on the same bursts under any of those choices; pick the one most defensible against false positives.Suggestion accepted
@@ -0,0 +99,4 @@## Asks of the reviewer1. Is the threshold (≥5 decrypt-fails in 5 s) the right shape? Should it be more conservative (≥10 in 10 s)? More aggressive (≥3 in 3 s)? The 12 observed bursts ranged from 4 to 9 events per 60 s window (the Phase 1 looser definition). The patch threshold will fire on the same bursts under any of those choices; pick the one most defensible against false positives.2. Is `ieee80211_connection_loss(vif)` the right kernel API? Alternative: `cfg80211_disconnected` with a reason code. Which is cleaner per mac80211 contract for a host-driven preemptive reassoc?What do proper in kernel drivers to? Opting for the majority vote there.
@@ -0,0 +100,4 @@1. Is the threshold (≥5 decrypt-fails in 5 s) the right shape? Should it be more conservative (≥10 in 10 s)? More aggressive (≥3 in 3 s)? The 12 observed bursts ranged from 4 to 9 events per 60 s window (the Phase 1 looser definition). The patch threshold will fire on the same bursts under any of those choices; pick the one most defensible against false positives.2. Is `ieee80211_connection_loss(vif)` the right kernel API? Alternative: `cfg80211_disconnected` with a reason code. Which is cleaner per mac80211 contract for a host-driven preemptive reassoc?3. Should Patch A include a debugfs counter exposing how many storms it has caught, so Phase 7 verification has a host-side counter rather than relying on journal grep alone?Yes
@@ -0,0 +101,4 @@1. Is the threshold (≥5 decrypt-fails in 5 s) the right shape? Should it be more conservative (≥10 in 10 s)? More aggressive (≥3 in 3 s)? The 12 observed bursts ranged from 4 to 9 events per 60 s window (the Phase 1 looser definition). The patch threshold will fire on the same bursts under any of those choices; pick the one most defensible against false positives.2. Is `ieee80211_connection_loss(vif)` the right kernel API? Alternative: `cfg80211_disconnected` with a reason code. Which is cleaner per mac80211 contract for a host-driven preemptive reassoc?3. Should Patch A include a debugfs counter exposing how many storms it has caught, so Phase 7 verification has a host-side counter rather than relying on journal grep alone?4. Patch B parked correctly, or fold it into this same Phase 4?Parked, one issue at a time to not get caught up in weird side effects.