]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
hostapd: Bring back support for 802.11g/a
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 19 Jan 2026 16:21:36 +0000 (16:21 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 23 Jan 2026 09:47:38 +0000 (09:47 +0000)
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 <michael.tremer@ipfire.org>
Reviewed-by: Bernhard Bitsch <bbitsch@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
15 files changed:
doc/language_issues.de
doc/language_issues.en
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.it
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_issues.tr
doc/language_issues.tw
doc/language_issues.zh
doc/language_missings
html/cgi-bin/wlanap.cgi
langs/en/cgi-bin/en.pl
src/initscripts/packages/hostapd

index 008b9520fff91adfe697e554d35d845e04a5d92d..1795ec5afdd3dec2695fb1bedc9d45d7ad28b3bb 100644 (file)
@@ -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
index 6ea0f19639bac9206fc51ea56e62ecfd25d3003d..30e2fbcce2affda0a70f4454e70783da3670793e 100644 (file)
@@ -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
index 48dfffa7ed4322f931bfcaeb4994acbac5342ecc..980d27874633632e1462e6d1184b7a7968b70e86 100644 (file)
@@ -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
index 65b3838d0de70907f92843c2f72166f5811b807a..a7c31beaf0db1545d6b82b1bb2acfabfa73809da 100644 (file)
@@ -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
index 5214abda24ffa5a34c3946c6c6b35058387ec875..10e77143f635fbb29aac0a1371b3327acfbdc1a3 100644 (file)
@@ -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
index d3f8147856a861a02854f3987735b243758a3efd..5d56a5ca27c20cce5df6be95ad8145cc23dcfe68 100644 (file)
@@ -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
index 24b5429ef43c2d2c97ce86aafb6ed7f6fee184b7..7a1128c20b2202aaeb1edb449e2ff121af9591b8 100644 (file)
@@ -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
index 0682bfd6f227426ddb774c70907940881b8f9046..b6320fd3092686c09b0359d3363b79c2bcd046ce 100644 (file)
@@ -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
index 2ef6920ac53a2b96010fb32019e1cb13e3193c9e..2ad1bf0544efed33c810dc60cca7723c8e4f9d18 100644 (file)
@@ -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
index 73e116b7c228e985441770ba4ed08338b650aadf..c676ffa52063e74ac316d751a52eb15e781ed6dd 100644 (file)
@@ -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
index 73e116b7c228e985441770ba4ed08338b650aadf..c676ffa52063e74ac316d751a52eb15e781ed6dd 100644 (file)
@@ -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
index 1d435f16fd0d8890d8c8d8c514296311ceb68fc7..268add65b31b904e55b278472ee087f93796dbb7 100644 (file)
 < 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
 < 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
 < 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
 < 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
 < 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
 < 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
 < 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
 < 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
 < 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
 < 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
index 0d1c5a90b543a2e7a933bd60fba493484e488083..0c5dad5589434d4be04d66053e47a1e25e44d534 100644 (file)
@@ -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>
index 79a5124986b291bf12fab849b157d47359253583..dda3e8d5b711b6ad551eed8efa74f8b29cfef67f 100644 (file)
 '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',
index 5384badaba0f1974b3ea5cc1c75089f289bdc0e5..9bb6a2120db9fc5af5637e423bc6a9cee2a3ba2e 100644 (file)
@@ -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