mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 18:19:02 +00:00
mac80211: fix center freq selection for 6 GHz
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 8d79915327
)
This commit is contained in:
parent
b535ec25eb
commit
42d542e04f
@ -194,12 +194,14 @@ 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
|
||||
VHT20|HE20) enable_ac=1;;
|
||||
VHT40|HE40)
|
||||
case "$(( ($channel / 4) % 2 ))" in
|
||||
case "$(( (($channel / 4) + $chan_ofs) % 2 ))" in
|
||||
1) idx=$(($channel + 2));;
|
||||
0) idx=$(($channel - 2));;
|
||||
esac
|
||||
@ -207,7 +209,7 @@ mac80211_hostapd_setup_base() {
|
||||
vht_center_seg0=$idx
|
||||
;;
|
||||
VHT80|HE80)
|
||||
case "$(( ($channel / 4) % 4 ))" in
|
||||
case "$(( (($channel / 4) + $chan_ofs) % 4 ))" in
|
||||
1) idx=$(($channel + 6));;
|
||||
2) idx=$(($channel + 2));;
|
||||
3) idx=$(($channel - 2));;
|
||||
@ -218,10 +220,22 @@ mac80211_hostapd_setup_base() {
|
||||
vht_center_seg0=$idx
|
||||
;;
|
||||
VHT160|HE160)
|
||||
if [ "$band" = "6g" ]; then
|
||||
case "$channel" in
|
||||
1|5|9|13|17|21|25|29) idx=15;;
|
||||
33|37|41|45|49|53|57|61) idx=47;;
|
||||
65|69|73|77|81|85|89|93) idx=79;;
|
||||
97|101|105|109|113|117|121|125) idx=111;;
|
||||
129|133|137|141|145|149|153|157) idx=143;;
|
||||
161|165|169|173|177|181|185|189) idx=175;;
|
||||
193|197|201|205|209|213|217|221) idx=207;;
|
||||
esac
|
||||
else
|
||||
case "$channel" in
|
||||
36|40|44|48|52|56|60|64) idx=50;;
|
||||
100|104|108|112|116|120|124|128) idx=114;;
|
||||
esac
|
||||
fi
|
||||
enable_ac=1
|
||||
vht_oper_chwidth=2
|
||||
vht_center_seg0=$idx
|
||||
|
Loading…
Reference in New Issue
Block a user