mac80211: fix HT40 mode for 6G band
authorFelix Fietkau <nbd@nbd.name>
Mon, 16 Aug 2021 08:05:14 +0000 (10:05 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 24 Aug 2021 15:35:45 +0000 (17:35 +0200)
The channel offset used for VHT segment calculation was missing for HT

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

index 0b7a84d7c9588da456760e0208a1fb5072a2f42f..4574a9881a3010026340b6de56f49906f6a429d4 100644 (file)
@@ -147,6 +147,9 @@ mac80211_hostapd_setup_base() {
        [ "$noscan" -gt 0 ] && hostapd_noscan=1
        [ "$tx_burst" = 0 ] && tx_burst=
 
+       chan_ofs=0
+       [ "$band" = "6g" ] && chan_ofs=1
+
        ieee80211n=1
        ht_capab=
        case "$htmode" in
@@ -154,7 +157,7 @@ mac80211_hostapd_setup_base() {
                HT40*|VHT40|VHT80|VHT160|HE40|HE80|HE160)
                        case "$hwmode" in
                                a)
-                                       case "$(( ($channel / 4) % 2 ))" in
+                                       case "$(( (($channel / 4) + $chan_ofs) % 2 ))" in
                                                1) ht_capab="[HT40+]";;
                                                0) ht_capab="[HT40-]";;
                                        esac
@@ -223,8 +226,6 @@ mac80211_hostapd_setup_base() {
        enable_ac=0
        vht_oper_chwidth=0
        vht_center_seg0=
-       chan_ofs=0
-       [ "$band" = "6g" ] && chan_ofs=1
 
        idx="$channel"
        case "$htmode" in