mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
34705946e2
Drop outdated and by now broken patchset originally supplied by Peter Oh in August 2018 but never merged upstream. Instead add the more promissing rework recently submitted by Markus Theil who picked up Peter's patchset, fixed and completed it and added support for HE (802.11ax) in mesh mode. This is only compile tested and needs some real-life testing. Fixes: FS#3214 Fixes:167028b750
("hostapd: Update to version 2.9 (2019-08-08)") Fixes:0a3ec87a66
("hostapd: update to latest Git hostap_2_9-1238-gdd2daf0848ed") Fixes:017320ead3
("hostapd: bring back mesh patches") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
49 lines
1.5 KiB
Diff
49 lines
1.5 KiB
Diff
From f1118eca5b1a63a4acb2a11ceea15dc4bc259c77 Mon Sep 17 00:00:00 2001
|
|
From: Peter Oh <peter.oh@bowerswilkins.com>
|
|
Date: Tue, 30 Jun 2020 14:19:01 +0200
|
|
Subject: [PATCH 13/19] mesh: inform kernel driver DFS handler in userspace
|
|
|
|
NL80211_ATTR_HANDLE_DFS is required by kerenel space
|
|
to enable DFS channels that indicates DFS handler
|
|
resides in userspace.
|
|
|
|
Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
|
|
---
|
|
src/drivers/driver.h | 1 +
|
|
src/drivers/driver_nl80211.c | 3 +++
|
|
wpa_supplicant/mesh.c | 1 +
|
|
3 files changed, 5 insertions(+)
|
|
|
|
--- a/src/drivers/driver.h
|
|
+++ b/src/drivers/driver.h
|
|
@@ -1542,6 +1542,7 @@ struct wpa_driver_mesh_join_params {
|
|
#define WPA_DRIVER_MESH_FLAG_SAE_AUTH 0x00000004
|
|
#define WPA_DRIVER_MESH_FLAG_AMPE 0x00000008
|
|
unsigned int flags;
|
|
+ u8 handle_dfs;
|
|
};
|
|
|
|
struct wpa_driver_set_key_params {
|
|
--- a/src/drivers/driver_nl80211.c
|
|
+++ b/src/drivers/driver_nl80211.c
|
|
@@ -10070,6 +10070,9 @@ static int nl80211_join_mesh(struct i802
|
|
|
|
wpa_printf(MSG_DEBUG, " * flags=%08X", params->flags);
|
|
|
|
+ if (params->handle_dfs)
|
|
+ if (nla_put_flag(msg, NL80211_ATTR_HANDLE_DFS))
|
|
+ goto fail;
|
|
container = nla_nest_start(msg, NL80211_ATTR_MESH_SETUP);
|
|
if (!container)
|
|
goto fail;
|
|
--- a/wpa_supplicant/mesh.c
|
|
+++ b/wpa_supplicant/mesh.c
|
|
@@ -355,6 +355,7 @@ static int wpa_supplicant_mesh_init(stru
|
|
conf->country[0] = wpa_s->conf->country[0];
|
|
conf->country[1] = wpa_s->conf->country[1];
|
|
conf->country[2] = ' ';
|
|
+ wpa_s->mesh_params->handle_dfs = 1;
|
|
}
|
|
|
|
bss->iconf = conf;
|