Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

wifi: 40 MHz HE/VHT htmodes unusable — validator only accepts HE40±/VHT40±, which OpenWrt 24.10 ignores (silent 20 MHz)

Offen Anfängerfreundlich
#344 0 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

@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
Tech-Stack
lua, shell
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

bug

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 = HE40 is 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 the RadioHtmode alias 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 shows LOG 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.radio1 has htmode='HE40+';
    • /var/run/hostapd-phy1.conf has he_oper_chwidth=0 and no 40 MHz ht_capab;
    • hostapd logs DFS-CAC-START freq=5500 chan=100 sec_chan=0, width=0;
    • iw dev reports width: 20 MHz.
  • On the box, /lib/netifd/wireless/mac80211.sh matches htmode with case patterns such as HT40*|VHT40|VHT80|VHT160|HE40|HE80|HE160|EHT40|EHT80|EHT160 (around lines 169, 246 and 749). HE40+ doesn't match any of them.
  • HE80 works (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 HE40 and VHT40: 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

In Codespaces öffnen

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

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus jangala-dev/devicecode-lua

Alle Issues in jangala-dev/devicecode-lua

Ähnliche Issues

Weitere Issues zu Lua

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.