wifi: 40 MHz HE/VHT htmodes unusable — validator only accepts HE40±/VHT40±, which OpenWrt 24.10 ignores (silent 20 MHz)
@rslater-cs y travaille déjà.
Depuis le 21/10/2026.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Domaine
- networking, testing
Piste de recherche
Commence par lire les listes d'autorisation de htmode dans src/services/hal/types/capability_args.lua et src/services/hal/drivers/radio.lua, puis compare-les au comportement de correspondance de mac80211.sh décrit dans l'issue. Repère les tests existants du validateur et ajoute une couverture pour HE40 et VHT40, ainsi que pour le traitement choisi des variantes signées de 40 MHz. La modification est terminée lorsque la validation accepte les valeurs compatibles avec OpenWrt, traite ou rejette explicitement HE40±/VHT40± et que les tests concernés réussissent.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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).
- Langage dominant
- Lua
- Étoiles
- 1
- Forks
- 0
- Merge moyen
- 5 j 15 h
- PR mergées (30 j)
- 3
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de jangala-dev/devicecode-lua
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 8/100
jangala-dev/devicecode-lua#339 ·
-
wired: comma-separated VLAN lists cause false missing-VLAN alertsPeut-être à nouveau libre @rslater-cs l’a pris il y a 42 jours, et aucune pull request n’est ouverte. Ouverte
jangala-dev/devicecode-lua#333 · 2 personnes assignées ·
-
Reduce network startup and reconnect delaysPeut-être à nouveau libre @rslater-cs l’a pris il y a 42 jours, et aucune pull request n’est ouverte. Ouverte
jangala-dev/devicecode-lua#332 · 2 personnes assignées ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
jangala-dev/devicecode-lua#330 · 1 commentaire ·
-
Track functional differences from devicecode v0.9.x and devicecode-lua v0.10.6 to v0.11.2Peut-être à nouveau libre @rslater-cs l’a pris il y a 48 jours, et aucune pull request n’est ouverte. Ouverte
jangala-dev/devicecode-lua#329 · 2 personnes assignées ·
Toutes les issues de jangala-dev/devicecode-lua
Issues similaires
-
guide
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
fitzforge/polestar#672 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
code health memtx mvcc
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Witch 2Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 91/100
LuaLS/lua-language-server#3482 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 2 jours