wifi: 40 MHz HE/VHT htmodes unusable — validator only accepts HE40±/VHT40±, which OpenWrt 24.10 ignores (silent 20 MHz)
@rslater-cs arbeitet bereits daran.
Seit 21.10.2026.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 78/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Bereich
- networking, testing
Rechercherichtung
Beginne, indem du die htmode-Allow-Listen in src/services/hal/types/capability_args.lua und src/services/hal/drivers/radio.lua liest, und vergleiche sie anschließend mit dem in der Issue beschriebenen Matching-Verhalten von mac80211.sh. Suche die vorhandenen Validator-Tests und füge Tests für HE40 und VHT40 sowie für die gewählte Behandlung der signierten 40-MHz-Varianten hinzu. Die Änderung ist abgeschlossen, wenn die Validierung OpenWrt-kompatible Werte akzeptiert, HE40±/VHT40± verarbeitet oder eindeutig ablehnt und die relevanten Tests erfolgreich sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
The radio htmode allow-list accepts HE40+, HE40-, VHT40+, VHT40- and rejects HE40/VHT40. OpenWrt 24.10's mac80211.sh understands HE40/VHT40 (and HT40+/HT40-/HT40), not HE40±/VHT40±. As a result:
htmode = HE40is rejected (radio_args_invalid), and the radio keeps its previous settings.htmode = HE40+passes validation and is written to uci, but hostapd brings the radio up at 20 MHz, with no error anywhere.
So no HE/VHT radio can run at 40 MHz, and validation gives false confidence.
Where
src/services/hal/types/capability_args.lua:527(RADIO_VALID_HTMODES) and theRadioHtmodealias at:545.src/services/hal/drivers/radio.lua:16(VALID_HTMODES).
Evidence
bigbox-v1-cm-2, devicecode-lua v0.11.3, OpenWrt 24.10.7. Radio1 (5 GHz) on channel 100, 2026-10-20:
htmode = HE40: logread showsLOG wifi warn radio_args_invalid err=htmode must be one of: HE20, HE40+, HE40-, HE80, HE160, HT20, HT40+, HT40-, VHT20, VHT40+, VHT40-, VHT80, VHT160 method=set_channels. uci is unchanged.htmode = HE40+:uci show wireless.radio1hashtmode='HE40+';/var/run/hostapd-phy1.confhashe_oper_chwidth=0and no 40 MHzht_capab;- hostapd logs
DFS-CAC-START freq=5500 chan=100 sec_chan=0, width=0; iw devreportswidth: 20 MHz.
- On the box,
/lib/netifd/wireless/mac80211.shmatches htmode withcasepatterns such asHT40*|VHT40|VHT80|VHT160|HE40|HE80|HE160|EHT40|EHT80|EHT160(around lines 169, 246 and 749).HE40+doesn't match any of them. HE80works (verified).- VHT40± is inferred from the same script, not tested on hardware.
Impact
40 MHz operation isn't available for HE/VHT configs, and the fallback to 20 MHz is silent. That matters wherever 80 MHz is too wide, e.g. dense sites or DFS channels.
Suggested fix
- Accept
HE40andVHT40: OpenWrt chooses the secondary channel itself. - Either map
HE40±/VHT40±to those values, or reject them with a clear error. - Keep
HT40±. - Add validator tests.
Found while setting up the grand-pipeline Wi-Fi client test (jangala-dev/grand-pipeline#18).
- Vorherrschende Sprache
- Lua
- Sterne
- 1
- Forks
- 0
- Ø Merge
- 5 T. 15 Std.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus jangala-dev/devicecode-lua
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 8/100
jangala-dev/devicecode-lua#339 ·
-
wired: comma-separated VLAN lists cause false missing-VLAN alertsEvtl. wieder frei @rslater-cs hat das vor 42 Tagen übernommen, und es ist kein Pull Request offen. Offen
jangala-dev/devicecode-lua#333 · 2 zugewiesene Personen ·
-
Reduce network startup and reconnect delaysEvtl. wieder frei @rslater-cs hat das vor 42 Tagen übernommen, und es ist kein Pull Request offen. Offen
jangala-dev/devicecode-lua#332 · 2 zugewiesene Personen ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
jangala-dev/devicecode-lua#330 · 1 Kommentar ·
-
Track functional differences from devicecode v0.9.x and devicecode-lua v0.10.6 to v0.11.2Evtl. wieder frei @rslater-cs hat das vor 48 Tagen übernommen, und es ist kein Pull Request offen. Offen
jangala-dev/devicecode-lua#329 · 2 zugewiesene Personen ·
Alle Issues in jangala-dev/devicecode-lua
Ähnliche Issues
-
guide
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
fitzforge/polestar#672 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
code health memtx mvcc
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
Witch 2Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 91/100
LuaLS/lua-language-server#3482 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 2 Tagen