On 8/13/2018 12:55 PM, Lorenzo Bianconi wrote:
On 8/12/2018 8:14 PM, Kalle Valo wrote:
Kristian Evensen <kristian.evensen@xxxxxxxxx> writes:
Enable the use of CQM with mt76-devices.
Signed-off-by: Kristian Evensen <kristian.evensen@xxxxxxxxx>
---
drivers/net/wireless/mediatek/mt76/mac80211.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/wireless/mediatek/mt76/mac80211.c b/drivers/net/wireless/mediatek/mt76/mac80211.c
index 029d54bc..3eb328ff 100644
--- a/drivers/net/wireless/mediatek/mt76/mac80211.c
+++ b/drivers/net/wireless/mediatek/mt76/mac80211.c
@@ -305,6 +305,8 @@ int mt76_register_device(struct mt76_dev *dev, bool vht,
wiphy->features |= NL80211_FEATURE_ACTIVE_MONITOR;
+ wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
So have you tested this and with what devices? For example, does it work
with recently added USB devices?
I was looking into this as it looks suspicious to me. From reading the
description of this ext_feature flag it seems this is an extention of CQM:
"""
* @NL80211_EXT_FEATURE_CQM_RSSI_LIST: With this driver the
* %NL80211_ATTR_CQM_RSSI_THOLD attribute accepts a list of zero or more
* RSSI threshold values to monitor rather than exactly one threshold.
"""
Also looking at mt76x2_bss_info_changed() it does not handle
BSS_CHANGED_CQM so I doubt it has support for it (yet). The driver does
not use IEEE80211_VIF_SUPPORTS_CQM_RSSI which is a requirement for it.
Regards,
Arend
According to my understanding (please correct me if I am wrong)
BSS_CHANGED_CQM is only needed if CQM_RSSI is handled
by the driver/fw, while if it is not set mac80211 will take care of that
in ieee80211_handle_beacon_sig routine.
Yeah. That explains it. Seems like mac80211 could actually set the
NL80211_EXT_FEATURE_CQM_RSSI_LIST flag is the driver does not set
IEEE80211_VIF_SUPPORTS_CQM_RSSI. That way all mac80211 drivers support
the list. Just a problem as the ext_feature is not a per-vif flag.
Regards,
Arend