diff mbox series

[2/2] hostapd: add FTM responder support

Message ID 20201019195628.31747-2-mail@david-bauer.net
State Accepted
Delegated to: David Bauer
Headers show
Series [1/2] mac80211: pass phy name to hostapd_set_bss_options | expand

Commit Message

David Bauer Oct. 19, 2020, 7:56 p.m. UTC
This adds support for enabling the FTM responder flag for the APs
extended capabilities. On supported hardware, enabling the ftm_responder
config key for a given AP will enable the FTM responder bit.

FTM support itself is unconditionally implemented in the devices
firmware (ath10k 2nd generation with 3.2.1.1 firmware). There's
currently no softmac implementation.

Also allow to configure LCI and civic location information which can be
transmitted to a FTM initiator.

Signed-off-by: David Bauer <mail@david-bauer.net>
---
 package/network/services/hostapd/files/hostapd.sh | 13 +++++++++++++
 1 file changed, 13 insertions(+)
diff mbox series

Patch

diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh
index fcf989ca23..45c8718a98 100644
--- a/package/network/services/hostapd/files/hostapd.sh
+++ b/package/network/services/hostapd/files/hostapd.sh
@@ -245,6 +245,9 @@  hostapd_common_add_bss_config() {
 
 	config_add_boolean ieee80211k rrm_neighbor_report rrm_beacon_report
 
+	config_add_boolean ftm_responder stationary_ap
+	config_add_string lci civic
+
 	config_add_boolean ieee80211r pmk_r1_push ft_psk_generate_local ft_over_ds
 	config_add_int r0_key_lifetime reassociation_deadline
 	config_add_string mobility_domain r1_key_holder
@@ -669,6 +672,16 @@  hostapd_set_bss_options() {
 	[ "$rrm_neighbor_report" -eq "1" ] && append bss_conf "rrm_neighbor_report=$rrm_neighbor_report" "$N"
 	[ "$rrm_beacon_report" -eq "1" ] && append bss_conf "rrm_beacon_report=$rrm_beacon_report" "$N"
 
+	json_get_vars ftm_responder stationary_ap lci civic
+	if [ "$ftm_responder" -eq "1" ]; then
+		iw phy "$phy" info | grep -q "ENABLE_FTM_RESPONDER" && {
+			append bss_conf "ftm_responder=1" "$N"
+			[ "$stationary_ap" -eq "1" ] && append bss_conf "stationary_ap=1" "$N"
+			[ -n "$lci" ] && append bss_conf "lci=$lci" "$N"
+			[ -n "$civic" ] && append bss_conf "lci=$civic" "$N"
+		}
+	fi
+
 	if [ "$wpa" -ge "1" ]; then
 		json_get_vars ieee80211r
 		set_default ieee80211r 0