From patchwork Wed Apr 29 19:49:26 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Tremer X-Patchwork-Id: 9765 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail01.haj.ipfire.org", Issuer "R12" (not verified)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4g5SZ32KCGz3wpF for ; Wed, 29 Apr 2026 19:49:47 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [IPv6:2001:678:b28::201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail02.haj.ipfire.org", Issuer "E8" (not verified)) by mail01.ipfire.org (Postfix) with ESMTPS id 4g5SZ24hxxz7Pj for ; Wed, 29 Apr 2026 19:49:46 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [IPv6:::1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4g5SZ16gH0z3340 for ; Wed, 29 Apr 2026 19:49:45 +0000 (UTC) X-Original-To: development@lists.ipfire.org Received: from mail01.ipfire.org (mail01.haj.ipfire.org [IPv6:2001:678:b28::25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail01.haj.ipfire.org", Issuer "R12" (not verified)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4g5SYt0JQdz308h for ; Wed, 29 Apr 2026 19:49:38 +0000 (UTC) Received: from michael.haj.ipfire.org (michael.haj.ipfire.org [172.28.1.242]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bit raw public key) server-digest SHA256 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "michael.haj.ipfire.org", Issuer "E7" (not verified)) by mail01.ipfire.org (Postfix) with ESMTPS id 4g5SYs4bvSz5P8; Wed, 29 Apr 2026 19:49:37 +0000 (UTC) Received: by michael.haj.ipfire.org (Postfix, from userid 0) id 4g5SYs3lH8zTh5L; Wed, 29 Apr 2026 19:49:37 +0000 (UTC) From: Michael Tremer To: development@lists.ipfire.org Cc: Michael Tremer Subject: [PATCH 1/9] hostapd: Force setting reg domain before hostapd starts Date: Wed, 29 Apr 2026 19:49:26 +0000 Message-ID: <20260429194934.863108-1-michael.tremer@ipfire.org> X-Mailer: git-send-email 2.47.3 Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: MIME-Version: 1.0 When the system boots up, it could happen that hostapd didn't come up the first time: Apr 28 15:18:10 ipfire-test hostapd: green0: interface state UNINITIALIZED->COUNTRY_UPDATE Apr 28 15:18:10 ipfire-test hostapd: ACS: Automatic channel selection started, this may take a bit Apr 28 15:18:10 ipfire-test hostapd: ACS: No available channels found Apr 28 15:18:10 ipfire-test hostapd: green0: IEEE 802.11 Configured channel (0) or frequency (0) (secondary_channel=1) not found from the channel list of the current mode (2) IEEE 802.11a Apr 28 15:18:10 ipfire-test hostapd: green0: IEEE 802.11 Hardware does not support configured channel Apr 28 15:18:10 ipfire-test hostapd: Could not select hw_mode and channel. (-3) Apr 28 15:18:10 ipfire-test hostapd: green0: interface state COUNTRY_UPDATE->DISABLED Apr 28 15:18:10 ipfire-test hostapd: green0: AP-DISABLED Apr 28 15:18:10 ipfire-test hostapd: green0: interface state DISABLED->DISABLED Apr 28 15:18:10 ipfire-test hostapd: green0: AP-DISABLED Apr 28 15:18:10 ipfire-test hostapd: green0: CTRL-EVENT-TERMINATING Apr 28 15:18:10 ipfire-test hostapd: hostapd_free_hapd_data: Interface green0 wasn't started Apr 28 15:18:10 ipfire-test hostapd: nl80211: deinit ifname=green0 disabled_11b_rates=0 A second start always was successful. By explicitely setting the reg domain this problem is being worked around. Signed-off-by: Michael Tremer --- src/initscripts/packages/hostapd | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/initscripts/packages/hostapd b/src/initscripts/packages/hostapd index 93ddae72f..583a8eba4 100644 --- a/src/initscripts/packages/hostapd +++ b/src/initscripts/packages/hostapd @@ -685,6 +685,11 @@ case "${1}" in exit 1 fi + # Force setting the regulatory domain + if [ -n "${CONFIG["COUNTRY"]}" ]; then + iw reg set "${CONFIG["COUNTRY"]}" &>/dev/null + fi + # Compose the command line args=( /usr/bin/hostapd From patchwork Wed Apr 29 19:49:27 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Tremer X-Patchwork-Id: 9768 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail01.haj.ipfire.org", Issuer "R12" (not verified)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4g5SZ32q5Xz3x95 for ; Wed, 29 Apr 2026 19:49:47 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [IPv6:2001:678:b28::201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail02.haj.ipfire.org", Issuer "E8" (not verified)) by mail01.ipfire.org (Postfix) with ESMTPS id 4g5SZ24g64z7Pc for ; Wed, 29 Apr 2026 19:49:46 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [IPv6:::1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4g5SZ16lxGz334V for ; Wed, 29 Apr 2026 19:49:45 +0000 (UTC) X-Original-To: development@lists.ipfire.org Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail01.haj.ipfire.org", Issuer "R12" (not verified)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4g5SYt0wZmz30Md for ; Wed, 29 Apr 2026 19:49:38 +0000 (UTC) Received: from michael.haj.ipfire.org (michael.haj.ipfire.org [172.28.1.242]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bit raw public key) server-digest SHA256 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "michael.haj.ipfire.org", Issuer "E7" (not verified)) by mail01.ipfire.org (Postfix) with ESMTPS id 4g5SYs6kfSz79h; Wed, 29 Apr 2026 19:49:37 +0000 (UTC) Received: by michael.haj.ipfire.org (Postfix, from userid 0) id 4g5SYs3rgXzTh3C; Wed, 29 Apr 2026 19:49:37 +0000 (UTC) From: Michael Tremer To: development@lists.ipfire.org Cc: Michael Tremer Subject: [PATCH 2/9] wlanap.cgi: Add option to select 6 GHz band Date: Wed, 29 Apr 2026 19:49:27 +0000 Message-ID: <20260429194934.863108-2-michael.tremer@ipfire.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260429194934.863108-1-michael.tremer@ipfire.org> References: <20260429194934.863108-1-michael.tremer@ipfire.org> Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: MIME-Version: 1.0 Signed-off-by: Michael Tremer --- doc/language_issues.en | 1 + doc/language_issues.es | 1 + doc/language_issues.fr | 1 + doc/language_issues.it | 1 + doc/language_issues.nl | 1 + doc/language_issues.pl | 1 + doc/language_issues.ru | 1 + doc/language_issues.tr | 1 + doc/language_issues.tw | 1 + doc/language_issues.zh | 1 + doc/language_missings | 9 +++++++++ html/cgi-bin/wlanap.cgi | 5 ++++- langs/de/cgi-bin/de.pl | 1 + langs/en/cgi-bin/en.pl | 1 + 14 files changed, 25 insertions(+), 1 deletion(-) diff --git a/doc/language_issues.en b/doc/language_issues.en index 109dc0f39..61cd706c2 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -2434,6 +2434,7 @@ WARNING: untranslated string: wlanap auto = Automatic Channel Selection WARNING: untranslated string: wlanap band = Band WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz WARNING: untranslated string: wlanap band 5ghz = 5 GHz +WARNING: untranslated string: wlanap band 6ghz = 6 GHz WARNING: untranslated string: wlanap channel = Channel WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string diff --git a/doc/language_issues.es b/doc/language_issues.es index 0038f162f..042a89377 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -1274,6 +1274,7 @@ WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz WARNING: untranslated string: wlanap band = Band WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz WARNING: untranslated string: wlanap band 5ghz = 5 GHz +WARNING: untranslated string: wlanap band 6ghz = 6 GHz WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap invalid band = Invalid band WARNING: untranslated string: wlanap invalid mode = Invalid mode diff --git a/doc/language_issues.fr b/doc/language_issues.fr index a00b1c646..b96f161ba 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -1325,6 +1325,7 @@ WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz WARNING: untranslated string: wlanap band = Band WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz WARNING: untranslated string: wlanap band 5ghz = 5 GHz +WARNING: untranslated string: wlanap band 6ghz = 6 GHz WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap hide ssid = Hide SSID WARNING: untranslated string: wlanap invalid band = Invalid band diff --git a/doc/language_issues.it b/doc/language_issues.it index fd5542e1f..c72cab5b1 100644 --- a/doc/language_issues.it +++ b/doc/language_issues.it @@ -1680,6 +1680,7 @@ WARNING: untranslated string: wlanap auto = Automatic Channel Selection WARNING: untranslated string: wlanap band = Band WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz WARNING: untranslated string: wlanap band 5ghz = 5 GHz +WARNING: untranslated string: wlanap band 6ghz = 6 GHz WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap configuration = Wireless Access Point Configuration diff --git a/doc/language_issues.nl b/doc/language_issues.nl index 94750b660..fc5ca37b6 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -1670,6 +1670,7 @@ WARNING: untranslated string: wlan client method = Method WARNING: untranslated string: wlan client password = Password WARNING: untranslated string: wlan client tls cipher = TLS Cipher WARNING: untranslated string: wlan client tls version = TLS Version +WARNING: untranslated string: wlanap band 6ghz = 6 GHz WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap configuration = Wireless Access Point Configuration diff --git a/doc/language_issues.pl b/doc/language_issues.pl index a0556cf95..53ace2061 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -1948,6 +1948,7 @@ WARNING: untranslated string: wlanap auto = Automatic Channel Selection WARNING: untranslated string: wlanap band = Band WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz WARNING: untranslated string: wlanap band 5ghz = 5 GHz +WARNING: untranslated string: wlanap band 6ghz = 6 GHz WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap configuration = Wireless Access Point Configuration diff --git a/doc/language_issues.ru b/doc/language_issues.ru index 6d233a776..031dddcb8 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -1947,6 +1947,7 @@ WARNING: untranslated string: wlanap auto = Automatic Channel Selection WARNING: untranslated string: wlanap band = Band WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz WARNING: untranslated string: wlanap band 5ghz = 5 GHz +WARNING: untranslated string: wlanap band 6ghz = 6 GHz WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap configuration = Wireless Access Point Configuration diff --git a/doc/language_issues.tr b/doc/language_issues.tr index 622d52bb5..f72363706 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -1550,6 +1550,7 @@ WARNING: untranslated string: wlanap auto = Automatic Channel Selection WARNING: untranslated string: wlanap band = Band WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz WARNING: untranslated string: wlanap band 5ghz = 5 GHz +WARNING: untranslated string: wlanap band 6ghz = 6 GHz WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap hide ssid = Hide SSID diff --git a/doc/language_issues.tw b/doc/language_issues.tw index cf7d0163e..708907128 100644 --- a/doc/language_issues.tw +++ b/doc/language_issues.tw @@ -1292,6 +1292,7 @@ WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz WARNING: untranslated string: wlanap band = Band WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz WARNING: untranslated string: wlanap band 5ghz = 5 GHz +WARNING: untranslated string: wlanap band 6ghz = 6 GHz WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap invalid band = Invalid band WARNING: untranslated string: wlanap invalid mode = Invalid mode diff --git a/doc/language_issues.zh b/doc/language_issues.zh index cf7d0163e..708907128 100644 --- a/doc/language_issues.zh +++ b/doc/language_issues.zh @@ -1292,6 +1292,7 @@ WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz WARNING: untranslated string: wlanap band = Band WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz WARNING: untranslated string: wlanap band 5ghz = 5 GHz +WARNING: untranslated string: wlanap band 6ghz = 6 GHz WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap invalid band = Invalid band WARNING: untranslated string: wlanap invalid mode = Invalid mode diff --git a/doc/language_missings b/doc/language_missings index a505fdd5d..88a937e00 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -249,6 +249,7 @@ < wlanap band < wlanap band 2.4ghz < wlanap band 5ghz +< wlanap band 6ghz < wlanap invalid band < wlanap invalid mode ############################################################################ @@ -442,6 +443,7 @@ < wlanap band < wlanap band 2.4ghz < wlanap band 5ghz +< wlanap band 6ghz < wlanap hide ssid < wlanap invalid band < wlanap invalid mode @@ -1100,6 +1102,7 @@ < wlanap band < wlanap band 2.4ghz < wlanap band 5ghz +< wlanap band 6ghz < wlanap client isolation < wlanap configuration < wlanap hide ssid @@ -1797,6 +1800,7 @@ < winbind daemon < wireguard < wireless network +< wlanap band 6ghz < wlanap client isolation < wlanap configuration < wlanap hide ssid @@ -2937,6 +2941,7 @@ < wlanap band < wlanap band 2.4ghz < wlanap band 5ghz +< wlanap band 6ghz < wlanap client isolation < wlanap configuration < wlanap country @@ -4115,6 +4120,7 @@ < wlanap band < wlanap band 2.4ghz < wlanap band 5ghz +< wlanap band 6ghz < wlanap client isolation < wlanap configuration < wlanap country @@ -4670,6 +4676,7 @@ < wlanap band < wlanap band 2.4ghz < wlanap band 5ghz +< wlanap band 6ghz < wlanap client isolation < wlanap hide ssid < wlanap invalid band @@ -4814,6 +4821,7 @@ < wlanap band < wlanap band 2.4ghz < wlanap band 5ghz +< wlanap band 6ghz < wlanap invalid band < wlanap invalid mode < wlanap neighbor scan @@ -4929,6 +4937,7 @@ < wlanap band < wlanap band 2.4ghz < wlanap band 5ghz +< wlanap band 6ghz < wlanap invalid band < wlanap invalid mode < wlanap neighbor scan diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi index a02b58b6d..2bb5efe8c 100644 --- a/html/cgi-bin/wlanap.cgi +++ b/html/cgi-bin/wlanap.cgi @@ -97,7 +97,7 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}") { } # Validate BAND - unless ($cgiparams{'BAND'} =~ m/^[25]g$/) { + unless ($cgiparams{'BAND'} =~ m/^[256]g$/) { $errormessage .= "$Lang::tr{'wlanap invalid band'}
"; } @@ -357,6 +357,9 @@ print <$Lang::tr{'wlanap band'}