You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Follow-ups left open by the StopRxLoop-during-Init fix (#503) #504
Left open when #503 (merged as 2c31471) landed. None blocks the fix.
src/IRadio.h: the StopRxLoop note names a "window" and what is "out of scope" instead of stating the contract. Proposed wording in the PR's review thread: a stop issued while Init() is still bringing the chip up is honoured (Init returns without starting its loop); a stop issued before Init() or before a standalone StartRxLoop() is stale and cleared by them, which includes a stop that lands between InitWrite() and a StartRxLoop() on another thread (DEVOURER_TX_WITH_RX=thread).
The g_devourer_should_stop check at the entry of every start_rx_loop is redundant with the loop's own stop predicate and uncommented. Either drop it or say why it is there.
Hardware coverage: the reproducer (Init on a thread, StopRxLoop at 100/400/1000/2500 ms, restart-after-stop, stale-stop-before-Init) passed 18/18 on 8822BU, 8812EU and 8832CU. Jaguar1, RTL8733B and MT7612U received the same guard but were reviewed by reading only; run the probe on them when they are on the bench.
The probe itself lives only in a session scratchpad. Promote it to tests/ (it is a third RX-lifecycle probe next to busy_window_probe.cpp / kestrel_tbtt_probe.cpp) so the matrix is reproducible.
Three of the four items are on branch pr503-followups (84a7458): the IRadio.h contract wording, the why-comment on the entry check in all six backends, and the probe promoted to tests/stop_during_init_probe.cpp + tests/stop_during_init.sh (target StopDuringInitProbe). Re-run through the promoted script at that commit: 18/18 OK on 8822BU (ch6), 8812EU and 8832CU (ch36). Still open: running it on the 8812AU, RTL8733B and MT7612U, which are not on the bench.
Landed in #505 (27f3066), with the Qodo round folded in: private mktemp log dir, pid-tracked cleanup, initstop now requires Init to still be running at the stop and a working receiver afterwards, README references the IRadio.h contract, and every documented command uses sudo env. Remaining item: run tests/stop_during_init.sh on the 8812AU, RTL8733B and MT7612U when they are plugged.
The three remaining backends are plugged now and measured through tests/stop_during_init.sh (branch stop-during-init-mt7612u, which adds the FW_DIR knob the MT7612U needs and reports a throwing bring-up as INIT_THREW instead of a core dump):
backend
Init returns after a stop at 100 / 400 / 1000 / 2500 ms
restart
stale
8812AU (Jaguar1, ch6)
1801 / 1469 / 895 / 30 ms
OK
OK
RTL8733B (ch6)
2033 / 1579 / 965 / 40 ms
OK
OK
MT7612U (ch6)
~0 ms (the stop call blocks on the bring-up lock and returns when bring-up ends)
OK
OK
18/18 on each, verify loop seeing frames after every honoured stop. That closes the last item; all six backends are measured.
Activity
josephnef commentedon Oct 29, 2026
Three of the four items are on branch
pr503-followups(84a7458): the IRadio.h contract wording, the why-comment on the entry check in all six backends, and the probe promoted totests/stop_during_init_probe.cpp+tests/stop_during_init.sh(targetStopDuringInitProbe). Re-run through the promoted script at that commit: 18/18 OK on 8822BU (ch6), 8812EU and 8832CU (ch36). Still open: running it on the 8812AU, RTL8733B and MT7612U, which are not on the bench.StopRxLoop: state the contract on IRadio, promote the stop-during-Ini…
josephnef commentedon Oct 29, 2026
Landed in #505 (27f3066), with the Qodo round folded in: private mktemp log dir, pid-tracked cleanup, initstop now requires Init to still be running at the stop and a working receiver afterwards, README references the IRadio.h contract, and every documented command uses
sudo env. Remaining item: runtests/stop_during_init.shon the 8812AU, RTL8733B and MT7612U when they are plugged.josephnef commentedon Oct 29, 2026
The three remaining backends are plugged now and measured through
tests/stop_during_init.sh(branchstop-during-init-mt7612u, which adds theFW_DIRknob the MT7612U needs and reports a throwing bring-up asINIT_THREWinstead of a core dump):18/18 on each, verify loop seeing frames after every honoured stop. That closes the last item; all six backends are measured.
stop_during_init: MT7612U firmware dir, report a bring-up that throws (…
josephnef commentedon Oct 29, 2026
All four items landed: #505 (27f3066) and #506 (09c2ff3). The stop-during-Init matrix is 18/18 on all six backends.