hostapd: use wpa_supplicant for unencrypted mesh connections

It's more reliable than using iw

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2022-12-04 19:35:36 +01:00
parent 4c0919839d
commit a797f0e82a
3 changed files with 7 additions and 3 deletions

View File

@ -1033,7 +1033,7 @@ mac80211_setup_vif() {
mesh)
wireless_vif_parse_encryption
[ -z "$htmode" ] && htmode="NOHT";
if [ "$wpa" -gt 0 -o "$auto_channel" -gt 0 ] || chan_is_dfs "$phy" "$channel"; then
if wpa_supplicant -vmesh || [ "$wpa" -gt 0 -o "$auto_channel" -gt 0 ] || chan_is_dfs "$phy" "$channel"; then
mac80211_setup_supplicant $vif_enable || failed=1
else
mac80211_setup_mesh $vif_enable

View File

@ -1322,7 +1322,7 @@ wpa_supplicant_add_network() {
}
[ "$_w_mode" = "mesh" ] && {
json_get_vars mesh_id mesh_fwding mesh_rssi_threshold
json_get_vars mesh_id mesh_fwding mesh_rssi_threshold encryption
[ -n "$mesh_id" ] && ssid="${mesh_id}"
append network_data "mode=5" "$N$T"
@ -1330,7 +1330,7 @@ wpa_supplicant_add_network() {
[ -n "$mesh_rssi_threshold" ] && append network_data "mesh_rssi_threshold=${mesh_rssi_threshold}" "$N$T"
[ -n "$freq" ] && wpa_supplicant_set_fixed_freq "$freq" "$htmode"
[ "$noscan" = "1" ] && append network_data "noscan=1" "$N$T"
append wpa_key_mgmt "SAE"
[ "$encryption" = "none" -o -z "$encryption" ] || append wpa_key_mgmt "SAE"
scan_ssid=""
}

View File

@ -58,6 +58,10 @@ static inline int has_feature(const char *feat)
#ifdef CONFIG_OCV
if (!strcmp(feat, "ocv"))
return 1;
#endif
#ifdef CONFIG_MESH
if (!strcmp(feat, "mesh"))
return 1;
#endif
return 0;
}