I just have a little bit of easily accessible testing hardware in form
of USB devices which are very suitable for testing, but the one that I
found in my drawer doesn't support 802.11n.
Signed-off-by: Michael Tremer <[email protected]>
---
doc/language_issues.de | 2 ++
doc/language_issues.en | 2 ++
doc/language_issues.es | 2 ++
doc/language_issues.fr | 2 ++
doc/language_issues.it | 2 ++
doc/language_issues.nl | 2 ++
doc/language_issues.pl | 2 ++
doc/language_issues.ru | 2 ++
doc/language_issues.tr | 2 ++
doc/language_issues.tw | 2 ++
doc/language_issues.zh | 2 ++
doc/language_missings | 20 ++++++++++++++++++++
html/cgi-bin/wlanap.cgi | 8 +++++++-
langs/en/cgi-bin/en.pl | 2 ++
src/initscripts/packages/hostapd | 15 +++++++++++++--
15 files changed, 64 insertions(+), 3 deletions(-)
diff --git a/doc/language_issues.de b/doc/language_issues.de
index 008b9520f..1795ec5af 100644
--- a/doc/language_issues.de
+++ b/doc/language_issues.de
@@ -1210,6 +1210,8 @@ WARNING: untranslated string: wio_webinterface_link =
unknown string
WARNING: untranslated string: wireguard = WireGuard
WARNING: untranslated string: wlan client encryption wpa3 = WPA3
WARNING: untranslated string: wlan client management frame protection =
Management Frame Protection
+WARNING: untranslated string: wlanap 802.11ag = IEEE 802.11a/g
+WARNING: untranslated string: wlanap 802.11ag 20mhz = IEEE802.11a/g @ 20 MHz
WARNING: untranslated string: wlanap 802.11w disabled = Disabled
WARNING: untranslated string: wlanap 802.11w enforced = Enforced
WARNING: untranslated string: wlanap 802.11w optional = Optional
diff --git a/doc/language_issues.en b/doc/language_issues.en
index 6ea0f1963..30e2fbcce 100644
--- a/doc/language_issues.en
+++ b/doc/language_issues.en
@@ -2408,6 +2408,8 @@ WARNING: untranslated string: wlanap 802.11ac 160mhz =
IEEE 802.11ac @ 160 MHz
WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz
WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz
WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz
+WARNING: untranslated string: wlanap 802.11ag = IEEE 802.11a/g
+WARNING: untranslated string: wlanap 802.11ag 20mhz = IEEE802.11a/g @ 20 MHz
WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn
WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20
MHz
WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40
MHz
diff --git a/doc/language_issues.es b/doc/language_issues.es
index 48dfffa7e..980d27874 100644
--- a/doc/language_issues.es
+++ b/doc/language_issues.es
@@ -1250,6 +1250,8 @@ WARNING: untranslated string: wlanap 802.11ac 160mhz =
IEEE 802.11ac @ 160 MHz
WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz
WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz
WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz
+WARNING: untranslated string: wlanap 802.11ag = IEEE 802.11a/g
+WARNING: untranslated string: wlanap 802.11ag 20mhz = IEEE802.11a/g @ 20 MHz
WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn
WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20
MHz
WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40
MHz
diff --git a/doc/language_issues.fr b/doc/language_issues.fr
index 65b3838d0..a7c31beaf 100644
--- a/doc/language_issues.fr
+++ b/doc/language_issues.fr
@@ -1301,6 +1301,8 @@ WARNING: untranslated string: wlanap 802.11ac 160mhz =
IEEE 802.11ac @ 160 MHz
WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz
WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz
WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz
+WARNING: untranslated string: wlanap 802.11ag = IEEE 802.11a/g
+WARNING: untranslated string: wlanap 802.11ag 20mhz = IEEE802.11a/g @ 20 MHz
WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn
WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20
MHz
WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40
MHz
diff --git a/doc/language_issues.it b/doc/language_issues.it
index 5214abda2..10e77143f 100644
--- a/doc/language_issues.it
+++ b/doc/language_issues.it
@@ -1652,6 +1652,8 @@ WARNING: untranslated string: wlanap 802.11ac 160mhz =
IEEE 802.11ac @ 160 MHz
WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz
WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz
WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz
+WARNING: untranslated string: wlanap 802.11ag = IEEE 802.11a/g
+WARNING: untranslated string: wlanap 802.11ag 20mhz = IEEE802.11a/g @ 20 MHz
WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn
WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20
MHz
WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40
MHz
diff --git a/doc/language_issues.nl b/doc/language_issues.nl
index d3f814785..5d56a5ca2 100644
--- a/doc/language_issues.nl
+++ b/doc/language_issues.nl
@@ -1672,6 +1672,8 @@ WARNING: untranslated string: wlanap 802.11ac 160mhz =
IEEE 802.11ac @ 160 MHz
WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz
WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz
WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz
+WARNING: untranslated string: wlanap 802.11ag = IEEE 802.11a/g
+WARNING: untranslated string: wlanap 802.11ag 20mhz = IEEE802.11a/g @ 20 MHz
WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn
WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20
MHz
WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40
MHz
diff --git a/doc/language_issues.pl b/doc/language_issues.pl
index 24b5429ef..7a1128c20 100644
--- a/doc/language_issues.pl
+++ b/doc/language_issues.pl
@@ -1920,6 +1920,8 @@ WARNING: untranslated string: wlanap 802.11ac 160mhz =
IEEE 802.11ac @ 160 MHz
WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz
WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz
WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz
+WARNING: untranslated string: wlanap 802.11ag = IEEE 802.11a/g
+WARNING: untranslated string: wlanap 802.11ag 20mhz = IEEE802.11a/g @ 20 MHz
WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn
WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20
MHz
WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40
MHz
diff --git a/doc/language_issues.ru b/doc/language_issues.ru
index 0682bfd6f..b6320fd30 100644
--- a/doc/language_issues.ru
+++ b/doc/language_issues.ru
@@ -1919,6 +1919,8 @@ WARNING: untranslated string: wlanap 802.11ac 160mhz =
IEEE 802.11ac @ 160 MHz
WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz
WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz
WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz
+WARNING: untranslated string: wlanap 802.11ag = IEEE 802.11a/g
+WARNING: untranslated string: wlanap 802.11ag 20mhz = IEEE802.11a/g @ 20 MHz
WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn
WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20
MHz
WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40
MHz
diff --git a/doc/language_issues.tr b/doc/language_issues.tr
index 2ef6920ac..2ad1bf054 100644
--- a/doc/language_issues.tr
+++ b/doc/language_issues.tr
@@ -1522,6 +1522,8 @@ WARNING: untranslated string: wlanap 802.11ac 160mhz =
IEEE 802.11ac @ 160 MHz
WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz
WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz
WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz
+WARNING: untranslated string: wlanap 802.11ag = IEEE 802.11a/g
+WARNING: untranslated string: wlanap 802.11ag 20mhz = IEEE802.11a/g @ 20 MHz
WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn
WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20
MHz
WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40
MHz
diff --git a/doc/language_issues.tw b/doc/language_issues.tw
index 73e116b7c..c676ffa52 100644
--- a/doc/language_issues.tw
+++ b/doc/language_issues.tw
@@ -1268,6 +1268,8 @@ WARNING: untranslated string: wlanap 802.11ac 160mhz =
IEEE 802.11ac @ 160 MHz
WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz
WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz
WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz
+WARNING: untranslated string: wlanap 802.11ag = IEEE 802.11a/g
+WARNING: untranslated string: wlanap 802.11ag 20mhz = IEEE802.11a/g @ 20 MHz
WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn
WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20
MHz
WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40
MHz
diff --git a/doc/language_issues.zh b/doc/language_issues.zh
index 73e116b7c..c676ffa52 100644
--- a/doc/language_issues.zh
+++ b/doc/language_issues.zh
@@ -1268,6 +1268,8 @@ WARNING: untranslated string: wlanap 802.11ac 160mhz =
IEEE 802.11ac @ 160 MHz
WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz
WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz
WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz
+WARNING: untranslated string: wlanap 802.11ag = IEEE 802.11a/g
+WARNING: untranslated string: wlanap 802.11ag 20mhz = IEEE802.11a/g @ 20 MHz
WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn
WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20
MHz
WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40
MHz
diff --git a/doc/language_missings b/doc/language_missings
index 1d435f16f..268add65b 100644
--- a/doc/language_missings
+++ b/doc/language_missings
@@ -141,6 +141,8 @@
< wg pre-shared key (optional)
< winbind daemon
< wireguard
+< wlanap 802.11ag
+< wlanap 802.11ag 20mhz
< wlanap 802.11w disabled
< wlanap 802.11w enforced
< wlanap 802.11w optional
@@ -217,6 +219,8 @@
< wlanap 802.11ac 20mhz
< wlanap 802.11ac 40mhz
< wlanap 802.11ac 80mhz
+< wlanap 802.11ag
+< wlanap 802.11ag 20mhz
< wlanap 802.11agn
< wlanap 802.11agn 20mhz
< wlanap 802.11agn 40mhz
@@ -398,6 +402,8 @@
< wlanap 802.11ac 20mhz
< wlanap 802.11ac 40mhz
< wlanap 802.11ac 80mhz
+< wlanap 802.11ag
+< wlanap 802.11ag 20mhz
< wlanap 802.11agn
< wlanap 802.11agn 20mhz
< wlanap 802.11agn 40mhz
@@ -1040,6 +1046,8 @@
< wlanap 802.11ac 20mhz
< wlanap 802.11ac 40mhz
< wlanap 802.11ac 80mhz
+< wlanap 802.11ag
+< wlanap 802.11ag 20mhz
< wlanap 802.11agn
< wlanap 802.11agn 20mhz
< wlanap 802.11agn 40mhz
@@ -1754,6 +1762,8 @@
< wlanap 802.11ac 20mhz
< wlanap 802.11ac 40mhz
< wlanap 802.11ac 80mhz
+< wlanap 802.11ag
+< wlanap 802.11ag 20mhz
< wlanap 802.11agn
< wlanap 802.11agn 20mhz
< wlanap 802.11agn 40mhz
@@ -2882,6 +2892,8 @@
< wlanap 802.11ac 20mhz
< wlanap 802.11ac 40mhz
< wlanap 802.11ac 80mhz
+< wlanap 802.11ag
+< wlanap 802.11ag 20mhz
< wlanap 802.11agn
< wlanap 802.11agn 20mhz
< wlanap 802.11agn 40mhz
@@ -4048,6 +4060,8 @@
< wlanap 802.11ac 20mhz
< wlanap 802.11ac 40mhz
< wlanap 802.11ac 80mhz
+< wlanap 802.11ag
+< wlanap 802.11ag 20mhz
< wlanap 802.11agn
< wlanap 802.11agn 20mhz
< wlanap 802.11agn 40mhz
@@ -4591,6 +4605,8 @@
< wlanap 802.11ac 20mhz
< wlanap 802.11ac 40mhz
< wlanap 802.11ac 80mhz
+< wlanap 802.11ag
+< wlanap 802.11ag 20mhz
< wlanap 802.11agn
< wlanap 802.11agn 20mhz
< wlanap 802.11agn 40mhz
@@ -4727,6 +4743,8 @@
< wlanap 802.11ac 20mhz
< wlanap 802.11ac 40mhz
< wlanap 802.11ac 80mhz
+< wlanap 802.11ag
+< wlanap 802.11ag 20mhz
< wlanap 802.11agn
< wlanap 802.11agn 20mhz
< wlanap 802.11agn 40mhz
@@ -4828,6 +4846,8 @@
< wlanap 802.11ac 20mhz
< wlanap 802.11ac 40mhz
< wlanap 802.11ac 80mhz
+< wlanap 802.11ag
+< wlanap 802.11ag 20mhz
< wlanap 802.11agn
< wlanap 802.11agn 20mhz
< wlanap 802.11agn 40mhz
diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi
index 0d1c5a90b..0c5dad558 100644
--- a/html/cgi-bin/wlanap.cgi
+++ b/html/cgi-bin/wlanap.cgi
@@ -102,7 +102,7 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}") {
}
# Validate MODE
- unless ($cgiparams{'MODE'} =~ m/^(HT|HE|VHT|EHT)(20|40|80|160|320)$/) {
+ unless ($cgiparams{'MODE'} =~ m/^(|HT|HE|VHT|EHT)(20|40|80|160|320)$/) {
$errormessage .= "$Lang::tr{'wlanap invalid mode'}<br />";
}
@@ -343,6 +343,12 @@ print <<END;
$Lang::tr{'wlanap 802.11agn 20mhz'}
</option>
</optgroup>
+
+ <optgroup label="$Lang::tr{'wlanap
802.11ag'}">
+ <option value="20"
$selected{'MODE'}{'20'}>
+
$Lang::tr{'wlanap 802.11ag 20mhz'}
+ </option>
+ </optgroup>
</select>
</td>
</tr>
diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
index 79a512498..dda3e8d5b 100644
--- a/langs/en/cgi-bin/en.pl
+++ b/langs/en/cgi-bin/en.pl
@@ -3202,6 +3202,8 @@
'wlanap 802.11ac 20mhz' => 'IEEE 802.11ac @ 20 MHz',
'wlanap 802.11ac 40mhz' => 'IEEE 802.11ac @ 40 MHz',
'wlanap 802.11ac 80mhz' => 'IEEE 802.11ac @ 80 MHz',
+'wlanap 802.11ag' => 'IEEE 802.11a/g',
+'wlanap 802.11ag 20mhz' => 'IEEE802.11a/g @ 20 MHz',
'wlanap 802.11agn' => 'IEEE 802.11an/gn',
'wlanap 802.11agn 20mhz' => 'IEEE 802.11an/gn @ 20 MHz',
'wlanap 802.11agn 40mhz' => 'IEEE 802.11an/gn @ 40 MHz',
diff --git a/src/initscripts/packages/hostapd b/src/initscripts/packages/hostapd
index 5384badab..9bb6a2120 100644
--- a/src/initscripts/packages/hostapd
+++ b/src/initscripts/packages/hostapd
@@ -360,6 +360,15 @@ write_config() {
# Always enable WMM
echo "wmm_enabled=1"
+ # 802.11n
+ local enable_n=0
+
+ case "${MODE}" in
+ HT*|VHT*|HE*|EHT*)
+ enable_n=1
+ ;;
+ esac
+
# 802.11ac
local enable_ac=0
local vht_oper_chwidth=0
@@ -507,8 +516,10 @@ write_config() {
fi
fi
- # Always enable 802.11n
- echo "ieee80211n=1"
+ # Enable 802.11n?
+ if [ "${enable_n}" -eq 1 ]; then
+ echo "ieee80211n=1"
+ fi
# Set HT capabilities
if [ ${#ht_caps[@]} -gt 0 ]; then