Skip to content

state: bridge SSID tx_failed/tx_retries gap on mt76 and ath11k#92

Open
firasshaari wants to merge 1 commit into
Telecominfraproject:mainfrom
firasshaari:firasshaari/state-tx-failed-retries
Open

state: bridge SSID tx_failed/tx_retries gap on mt76 and ath11k#92
firasshaari wants to merge 1 commit into
Telecominfraproject:mainfrom
firasshaari:firasshaari/state-tx-failed-retries

Conversation

@firasshaari
Copy link
Copy Markdown
Contributor

Problem

mt76 (mt7621/mt7915) and ath11k (QSDK) drivers do not propagate per-STA TX status to mac80211. The Kafka state payload always reports:

interfaces[].ssids[].counters.tx_failed       = 0
interfaces[].ssids[].counters.tx_retries      = 0
interfaces[].ssids[].delta_counters.tx_failed = 0
interfaces[].ssids[].delta_counters.tx_retries = 0

Fix

Each driver tracks RF-only retry/fail counters in its own debugfs:

Driver File Counter
mt76 /sys/kernel/debug/ieee80211/<phy>/mt76/tx_stats BA miss count
ath11k /sys/kernel/debug/ieee80211/<phy>/ath11k/htt_stats (type 1) tx_xretry

Both represent unicast frames whose ACK never arrived. wifi.uc now reads whichever path matches the phy's driver and projects the count onto each VAP weighted by tx_packets share. The existing generate_deltas pipeline populates delta_counters automatically.

No new schema fields — existing fields just stop being zero.

Verification

Tested on yuncore_ax820 (mt76) and yuncore_fap655 (ath11k). Both show monotonically increasing nonzero tx_failed/tx_retries in live Kafka.

Related wlan-ap-side local patch: Telecominfraproject/wlan-ap#1101

Signed-off-by: Firas Shaari firas@80211networks.com

mt76 (mt7621/mt7915) and ath11k (QSDK) drivers do not propagate per-STA
TX status to mac80211. As a result, ssid.counters.tx_failed and
ssid.counters.tx_retries always report 0 even under heavy traffic.

Each driver tracks comparable RF-only retry/fail counters in its own
debugfs:
  mt76:   /sys/kernel/debug/ieee80211/<phy>/mt76/tx_stats (BA miss count)
  ath11k: /sys/kernel/debug/ieee80211/<phy>/ath11k/htt_stats (tx_xretry)

Read whichever path the phy's driver exposes and project the failure
count onto each VAP, weighted by tx_packets share. The existing
generate_deltas pipeline populates ssid.delta_counters automatically.

Verified on yuncore_ax820 (mt76) and yuncore_fap655 (ath11k) with live
Kafka showing nonzero tx_failed/tx_retries.

Signed-off-by: Firas Shaari <firas@80211networks.com>
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