luci-mod-network: implement checks for mesh capabilities
authorPaul Donald <[email protected]>
Mon, 3 Nov 2025 21:32:33 +0000 (22:32 +0100)
committerPaul Donald <[email protected]>
Mon, 3 Nov 2025 21:38:53 +0000 (22:38 +0100)
802.11s i.e. mesh mode value is now gated behind a check for the capability.

Signed-off-by: Paul Donald <[email protected]>
modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js

index 708a4f510b94c3e945b77d4ffc669427a44a0c62..1bd192b3253700dd6c0050ffcc70886c9ea20af3 100644 (file)
@@ -951,6 +951,7 @@ return view.extend({
                s.addModalOptions = function(s) {
                        return network.getWifiNetwork(s.section).then(function(radioNet) {
                                const hwtype = uci.get('wireless', radioNet.getWifiDeviceName(), 'type');
+                               const have_mesh = L.hasSystemFeature('hostapd', 'mesh') || L.hasSystemFeature('wpasupplicant', 'mesh');
                                let o, ss;
 
                                o = s.option(form.SectionValue, '_device', form.NamedSection, radioNet.getWifiDeviceName(), 'wifi-device', _('Device Configuration'));
@@ -1119,7 +1120,7 @@ return view.extend({
                                        const mode = ss.children[0];
                                        const bssid = ss.children[5];
 
-                                       mode.value('mesh', '802.11s');
+                                       if (have_mesh) mode.value('mesh', '802.11s');
                                        mode.value('ahdemo', _('Pseudo Ad-Hoc (ahdemo)'));
                                        mode.value('monitor', _('Monitor'));