mt7925: severe latency + ~21% TX-retries under moderate 5 GHz contention (other radios fine on same AP)

Aperta
#1,108 3 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
c, linux

Direzione di ricerca

Inizia riproducendo il caso di contesa con i comandi forniti per ping, station dump e survey dump, confermando circa il 15–20% di airtime OBSS e confrontando MT7925 con le altre radio. Poi traccia il comportamento di rate-control o di accesso al canale del driver e del firmware mt7925e implicato dalle misurazioni dei retry. Il lavoro è concluso quando avrai isolato la causa nel driver o nel firmware e documentato una correzione convalidata o il prossimo accertamento diagnostico.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

TL;DR — On a ~17% busy 5 GHz channel, MT7925 latency collapses (high TX-retries, 0% loss, stays on-channel), while MT7615 / MT7921 / iPhone on the same AP, channel, and spot are all fine. Same card is flawless on an uncongested channel — the fault is contention-triggered.

⚠️ Not push-button reproducible — it needs real co-channel OBSS airtime (~15–20% here). Instead of a repro script, this is characterized by a controlled same-air comparison + eliminations below.

Environment
  • MT7925 (Filogic 360) [14c3:7925], mt7925e, AMD Ryzen 7 8840HS
  • NixOS, NetworkManager + wpa_supplicant backend
  • Kernel 6.18.38 and 7.1.3 (both affected); firmware WM 20260605
  • Regdomain CN → 5 GHz ch149 / 80 MHz, signal −35…−43 dBm
Controlled comparison — same AP / ch149 / same spot

Channel busy ≈ 17.5% (measured from an adjacent MT7615 iw … survey dump, mostly RX of other BSSes).

client ping → gateway tx-retries
MT7615 (mt76, WiFi5) 3.5 ms, 0 spikes very low
MT7921 / iPhone <20 ms, stable —
MT7925 ~91 ms avg, 54% >15 ms, max ~450 ms ~21% (failed ≈0, loss 0%)

Same MT7925 on a separate low-traffic 5 GHz channel: normal, no spikes.

Ruled out
  • Host/CPU: ping 127.0.0.1 = 0.4 ms during the spikes
  • Roaming/scan: 0 scan/ROC events in iw event over a 54%-spike window
  • Deep-sleep PM: radio awake ~30/35 s, low_power_wakes +0
  • The air: 3 other radios fine on the same channel
To attempt reproduction

Needs ~15–20% OBSS airtime on the operating channel. Rough recipe: a 2nd AP on the same channel + a client pushing steady traffic (iperf/bulk) to reach ~15–20% busy, then from the MT7925 STA:

ping -i 0.02 -c 400 <gateway>                              # latency + spikes
iw dev wlo1 station dump | grep -E "tx packets|tx retries" # retry rate (diff before/after)
iw dev <mt76-on-same-ch> survey dump | grep -A5 'in use'   # confirm channel busy % (2 snapshots)

Suspected: firmware rate-control / channel-access — 21% retries at ~17% busy with −35 dBm is disproportionate; other radios ignore this load.

Lingua principale
C
Stelle
895
Fork
461
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di openwrt/mt76

Tutte le issue di openwrt/mt76

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.