]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
wifi-scripts: add support for passing uuid to hostapd
authorFelix Fietkau <nbd@nbd.name>
Tue, 24 Mar 2026 16:56:42 +0000 (16:56 +0000)
committerFelix Fietkau <nbd@nbd.name>
Fri, 27 Mar 2026 19:04:04 +0000 (20:04 +0100)
This is needed to maintain a shared WPS device UUID across radios.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-iface.json
package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/ap.uc
package/network/config/wifi-scripts/files/lib/netifd/hostapd.sh

index 75ec3a3bdb2637e0c883fda123422a22f7d36aa6..61d0da0170b03354d139ebace4fdcec3a3bd83cd 100644 (file)
                "uesa": {
                        "description": "Unauthenticated emergency service accessible",
                        "type": "boolean",
-                       "default": false                        
+                       "default": false
+               },
+               "uuid": {
+                       "description": "Device UUID used by WPS",
+                       "type": "string"
                },
                "utf8_ssid": {
                        "description": "Whether the SSID is to be interpreted using UTF-8 encoding",
index 80271fe9426c58ce6027f80ece10ac2123eb052d..d95cbdb4d856a87c4ec3270f378067aade1abb7e 100644 (file)
@@ -234,7 +234,7 @@ function iface_wps(config) {
 
                append_vars(config, [
                        'wps_state', 'device_type', 'device_name', 'config_methods', 'wps_independent', 'eap_server',
-                       'ap_pin', 'ap_setup_locked', 'upnp_iface'
+                       'ap_pin', 'ap_setup_locked', 'upnp_iface', 'uuid'
                ]);
        }
 }
index 21e980b86a35217873ac837aa96202b0939b3791..2536a31539e0c9128e0ad819487244db5d302b0d 100644 (file)
@@ -336,7 +336,7 @@ hostapd_common_add_bss_config() {
 
        config_add_boolean wps_pushbutton wps_label ext_registrar wps_pbc_in_m1
        config_add_int wps_ap_setup_locked wps_independent
-       config_add_string wps_device_type wps_device_name wps_manufacturer wps_pin
+       config_add_string wps_device_type wps_device_name wps_manufacturer wps_pin uuid
        config_add_string multi_ap_backhaul_ssid multi_ap_backhaul_key
 
        config_add_boolean wnm_sleep_mode wnm_sleep_mode_no_keys bss_transition mbo
@@ -563,7 +563,7 @@ hostapd_set_bss_options() {
                wpa_disable_eapol_key_retries tdls_prohibit \
                maxassoc max_inactivity disassoc_low_ack isolate auth_cache \
                wps_pushbutton wps_label ext_registrar wps_pbc_in_m1 wps_ap_setup_locked \
-               wps_independent wps_device_type wps_device_name wps_manufacturer wps_pin \
+               wps_independent wps_device_type wps_device_name wps_manufacturer wps_pin uuid \
                macfilter ssid utf8_ssid uapsd hidden short_preamble rsn_preauth \
                iapp_interface eapol_version dynamic_vlan ieee80211w nasid \
                acct_secret acct_port acct_interval \
@@ -854,6 +854,7 @@ hostapd_set_bss_options() {
                append bss_conf "config_methods=$config_methods" "$N"
                append bss_conf "wps_independent=$wps_independent" "$N"
                [ -n "$wps_ap_setup_locked" ] && append bss_conf "ap_setup_locked=$wps_ap_setup_locked" "$N"
+               [ -n "$uuid" ] && append bss_conf "uuid=$uuid" "$N"
                [ "$wps_pbc_in_m1" -gt 0 ] && append bss_conf "pbc_in_m1=$wps_pbc_in_m1" "$N"
                [ "$multi_ap" -gt 0 ] && [ -n "$multi_ap_backhaul_ssid" ] && {
                        append bss_conf "multi_ap_backhaul_ssid=\"$multi_ap_backhaul_ssid\"" "$N"