wifi: 40 MHz HE/VHT htmodes unusable — validator only accepts HE40±/VHT40±, which OpenWrt 24.10 ignores (silent 20 MHz)
還沒有人認領這個 Issue。
評估
- 難度
- 2/5
- 預估耗時
- 1-3 小時
- 新手友好度
- 78/100
- Issue 類型
- 缺陷
- 描述清晰度
- 描述清楚
- 活躍度
- 活躍
- 領域
- networking, testing
研究方向
首先閱讀 src/services/hal/types/capability_args.lua 和 src/services/hal/drivers/radio.lua 中的 htmode 允許清單,然後將其與 issue 中描述的 mac80211.sh 比對行為進行比較。找出現有的驗證器測試,並為 HE40 和 VHT40 新增測試涵蓋範圍,以及帶正負號的 40 MHz 變數所選處理方式的測試涵蓋範圍。當驗證能夠接受與 OpenWrt 相容的值,能夠處理或明確拒絕 HE40±/VHT40±,且相關測試全部通過時,此項變更即告完成。
由索引模型根據 Issue 內容生成。
描述
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).
- 主要語言
- Lua
- 星號
- 1
- 分支
- 0
- 平均合併
- 5 天 15 小時
- 30 天內合併 PR
- 3
環境準備
在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 沒有貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
jangala-dev/devicecode-lua 的其他 Issue
-
enhancement
難度 5/5 一週以上 新手友好度 8/100
jangala-dev/devicecode-lua#339 ·
-
wired: comma-separated VLAN lists cause false missing-VLAN alerts可能重新可做 @rslater-cs 於 42 天前認領,目前沒有進行中的 PR。 未關閉
jangala-dev/devicecode-lua#333 · 已指派 2 人 ·
-
Reduce network startup and reconnect delays可能重新可做 @rslater-cs 於 42 天前認領,目前沒有進行中的 PR。 未關閉
jangala-dev/devicecode-lua#332 · 已指派 2 人 ·
-
難度 4/5 3-5 天 新手友好度 35/100
jangala-dev/devicecode-lua#330 · 1 則留言 ·
-
Track functional differences from devicecode v0.9.x and devicecode-lua v0.10.6 to v0.11.2可能重新可做 @rslater-cs 於 48 天前認領,目前沒有進行中的 PR。 未關閉
jangala-dev/devicecode-lua#329 · 已指派 2 人 ·
查看 jangala-dev/devicecode-lua 的全部 Issue
相似的 Issue
-
guide
難度 2/5 1-3 小時 新手友好度 72/100
fitzforge/polestar#672 · 1 則留言 ·
維護者通常 1 天內回覆
-
Witch 2未關閉
難度 1/5 1 小時以內 新手友好度 91/100
LuaLS/lua-language-server#3482 ·
-
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 2 天內回覆
-
難度 2/5 1-3 小時 新手友好度 78/100
luainkernel/lunatik#2018 ·
維護者通常 1 天內回覆
-
難度 1/5 1 小時以內 新手友好度 78/100