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
Follow-ups left open by #460 (IRadio::SetStationIdentity, the MT7612U station arm, merged as 77b907a). None blocks the seam; each is a measurement or a port that the PR named and did not do.
Library
The Realtek station arm.SetStationIdentity returns the not-ported false on Jaguar1/2/3, Kestrel and the RTL8733B. On Realtek the MACID / BSSID registers and the ACK responder relate differently from the MT7612U's port identity, so the seam needs its own measured arm per family, with the same two halves of the bar (station_mode_ok): unicast addressed to the station received and acknowledged, and the station's own unicast acknowledged.
A role-selected managed receive filter on the MT7612U.Mt7612uRadio::StartRxLoop installs the monitor filter unconditionally, so a station driven through IRadio runs promiscuous and never runs the managed filter 0x00015f97 the cells measured. "Moving the port identity makes a station deaf" is a managed-filter property; under the monitor filter it keeps receiving and stops acknowledging.
The src/sta caller. Nothing in-tree calls SetStationIdentity yet. The station harness that associates through IRadio over the src/sta core (frames, supplicant, CCMP, DupDetector) is what exercises the arm-then-measure path the cells did not run, and is where the tx.retry_limit == 0 warning gets bench-checked.
Measurements
The BSSID receive table on a second rig. The second unit (CF-922AC, 40:a5:ef:5f:65:51) reproduced staid, autoack, uplink and staack arm C, but the sta table stalled twice on an rtw88 AP (RTL8812BU on a SuperSpeed root port, failed to get tx report from firmware; injector at 100/s and 8/s of 300). The harness refused both, correctly. A non-rtw88 AP (vendor rtl88x2bu built for the rig kernel, or a non-Realtek AP) is needed to reproduce the table off the author's rig.
The 6 fps txs gate loses one status entry per arm on the second unit. Every ~6 fps arm reads 199/200 (or 59/60) while the high-fps arms settle 200/200; the author's unit settles all of them. tests/mt7612u_sta_uplink.sh refuses any deficit on a claiming arm, so on that unit the uplink half of station_mode_ok's bar is INCONCLUSIVE 3 runs out of 4 with arm A at 199/200 acknowledged, 0.0 mean retries, against 0/158 at 16.0. Either find the lost entry in the status-FIFO drain (gate_txs, from radiotap: stream frames can request an ACK, and an MT7612U retry-limit knob #452) or give the claiming arm a bounded tolerance.
Uplink mean retries differ between units: 0.0 on the author's, 1.9 on the second (cc48be4 run, 60/60). Stated in the doc, unexplained.
The unexplained first-arm excess. Arm A of the BSSID table sits 4–7% above B–F in every run; with one run per arm it cannot be separated from drift, and a real few-percent BSSID-register effect would hide inside it.
Unassociated cells only. Power save, TIM parsing, cross-BSS duplicate detection and hardware key lookup are untested on the MT7612U.
Harness
tests/mt7612u_sta_identity.sh's rig requirement ("both adapters at high speed, no full-speed hub") is necessary, not sufficient: the rtw88 stall also happened on a SuperSpeed root port.
Follow-ups left open by #460 (
IRadio::SetStationIdentity, the MT7612U station arm, merged as 77b907a). None blocks the seam; each is a measurement or a port that the PR named and did not do.Library
SetStationIdentityreturns the not-portedfalseon Jaguar1/2/3, Kestrel and the RTL8733B. On Realtek the MACID / BSSID registers and the ACK responder relate differently from the MT7612U's port identity, so the seam needs its own measured arm per family, with the same two halves of the bar (station_mode_ok): unicast addressed to the station received and acknowledged, and the station's own unicast acknowledged.Mt7612uRadio::StartRxLoopinstalls the monitor filter unconditionally, so a station driven throughIRadioruns promiscuous and never runs the managed filter0x00015f97the cells measured. "Moving the port identity makes a station deaf" is a managed-filter property; under the monitor filter it keeps receiving and stops acknowledging.src/stacaller. Nothing in-tree callsSetStationIdentityyet. The station harness that associates throughIRadioover thesrc/stacore (frames, supplicant, CCMP,DupDetector) is what exercises the arm-then-measure path the cells did not run, and is where thetx.retry_limit == 0warning gets bench-checked.Measurements
40:a5:ef:5f:65:51) reproducedstaid, autoack, uplink andstaackarm C, but thestatable stalled twice on an rtw88 AP (RTL8812BU on a SuperSpeed root port,failed to get tx report from firmware; injector at 100/s and 8/s of 300). The harness refused both, correctly. A non-rtw88 AP (vendorrtl88x2bubuilt for the rig kernel, or a non-Realtek AP) is needed to reproduce the table off the author's rig.txsgate loses one status entry per arm on the second unit. Every ~6 fps arm reads 199/200 (or 59/60) while the high-fps arms settle 200/200; the author's unit settles all of them.tests/mt7612u_sta_uplink.shrefuses any deficit on a claiming arm, so on that unit the uplink half ofstation_mode_ok's bar is INCONCLUSIVE 3 runs out of 4 with arm A at 199/200 acknowledged, 0.0 mean retries, against 0/158 at 16.0. Either find the lost entry in the status-FIFO drain (gate_txs, from radiotap: stream frames can request an ACK, and an MT7612U retry-limit knob #452) or give the claiming arm a bounded tolerance.Harness
tests/mt7612u_sta_identity.sh's rig requirement ("both adapters at high speed, no full-speed hub") is necessary, not sufficient: the rtw88 stall also happened on a SuperSpeed root port.