summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlain Lamar <alain_lamar@yahoo.de>2024-06-03 00:32:23 +0200
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2024-07-22 14:19:56 +0000
commit5ac4aebd3d82ad6e8b585788ee25365fbb2973c1 (patch)
treeba1041524971af0f0672f7416a7990825a46ecc6
parenteb39342171b4767e483d616df16f4d94c86be108 (diff)
downloadvyos-1x-5ac4aebd3d82ad6e8b585788ee25365fbb2973c1.tar.gz
vyos-1x-5ac4aebd3d82ad6e8b585788ee25365fbb2973c1.zip
wireless: T6425: Fix broken VHT beamforming
(cherry picked from commit f75f0f9c94472f46e056808c3ac6aba809c090f0)
-rw-r--r--data/templates/wifi/hostapd.conf.j232
1 files changed, 17 insertions, 15 deletions
diff --git a/data/templates/wifi/hostapd.conf.j2 b/data/templates/wifi/hostapd.conf.j2
index 769325b49..e1a08f7e4 100644
--- a/data/templates/wifi/hostapd.conf.j2
+++ b/data/templates/wifi/hostapd.conf.j2
@@ -383,23 +383,25 @@ vht_oper_chwidth={{ capabilities.vht.channel_set_width }}
{% for short_gi in capabilities.vht.short_gi if capabilities.vht.short_gi is vyos_defined %}
{% set output.value = output.value ~ '[SHORT-GI-' ~ short_gi | upper ~ ']' %}
{% endfor %}
-{% for beamform in capabilities.vht.beamform if capabilities.vht.beamform is vyos_defined %}
-{% set output.value = output.value ~ '[SU-BEAMFORMER]' if beamform is vyos_defined('single-user-beamformer') else '' %}
-{% set output.value = output.value ~ '[SU-BEAMFORMEE]' if beamform is vyos_defined('single-user-beamformee') else '' %}
-{% set output.value = output.value ~ '[MU-BEAMFORMER]' if beamform is vyos_defined('multi-user-beamformer') else '' %}
-{% set output.value = output.value ~ '[MU-BEAMFORMEE]' if beamform is vyos_defined('multi-user-beamformee') else '' %}
-{% endfor %}
-{% if capabilities.vht.antenna_count is vyos_defined and capabilities.vht.antenna_count | int > 1 %}
-{% if capabilities.vht.beamform is vyos_defined %}
-{% if capabilities.vht.beamform == 'single-user-beamformer' %}
+{% if capabilities.vht.beamform is vyos_defined %}
+{% for bf in capabilities.vht.beamform %}
+{% set output.value = output.value ~ '[SU-BEAMFORMER]' if bf is vyos_defined('single-user-beamformer') else output.value %}
+{% set output.value = output.value ~ '[SU-BEAMFORMEE]' if bf is vyos_defined('single-user-beamformee') else output.value %}
+{% set output.value = output.value ~ '[MU-BEAMFORMER]' if bf is vyos_defined('multi-user-beamformer') else output.value %}
+{% set output.value = output.value ~ '[MU-BEAMFORMEE]' if bf is vyos_defined('multi-user-beamformee') else output.value %}
+{% endfor %}
+{% if capabilities.vht.antenna_count is vyos_defined and capabilities.vht.antenna_count | int > 1 %}
+{% if 'single-user-beamformer' in capabilities.vht.beamform %}
{% if capabilities.vht.antenna_count is vyos_defined and capabilities.vht.antenna_count | int > 1 and capabilities.vht.antenna_count | int < 6 %}
-{% set output.value = output.value ~ '[BF-ANTENNA-' ~ capabilities.vht.antenna_count | int -1 ~ ']' %}
-{% set output.value = output.value ~ '[SOUNDING-DIMENSION-' ~ capabilities.vht.antenna_count | int -1 ~ ']' %}
+{% set dimension = capabilities.vht.antenna_count | int - 1 %}
+{% set output.value = output.value ~ '[BF-ANTENNA-' ~ dimension ~ ']' %}
+{% set output.value = output.value ~ '[SOUNDING-DIMENSION-' ~ dimension ~ ']' %}
+{% endif %}
+{% else %}
+{% if capabilities.vht.antenna_count is vyos_defined and capabilities.vht.antenna_count | int > 1 and capabilities.vht.antenna_count | int < 5 %}
+{% set output.value = output.value ~ '[BF-ANTENNA-' ~ capabilities.vht.antenna_count ~ ']' %}
+{% set output.value = output.value ~ '[SOUNDING-DIMENSION-' ~ capabilities.vht.antenna_count ~ ']' %}
{% endif %}
-{% endif %}
-{% if capabilities.vht.antenna_count is vyos_defined and capabilities.vht.antenna_count | int > 1 and capabilities.vht.antenna_count | int < 5 %}
-{% set output.value = output.value ~ '[BF-ANTENNA-' ~ capabilities.vht.antenna_count ~ ']' %}
-{% set output.value = output.value ~ '[SOUNDING-DIMENSION-' ~ capabilities.vht.antenna_count ~ ']' %}
{% endif %}
{% endif %}
{% endif %}