Message ID | 1462204347-31012-1-git-send-email-mohammed@qca.qualcomm.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Kalle Valo |
Headers | show |
Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> writes: > From: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> > > Enable support for 'drv_sta_statistics' callback. > Export rx_duration support if available to cfg80211/nl80211 > > This can also act as a placeholder for any new per STA stats support > > Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> > --- > [v3] removed conditions for ath10k state checks based on Michal's suggestion It's nicer to ping than resend a patch. This patchset has been in "Awaiting Upstream" state while waiting for the dependencies trickle down to ath-next. > Dependencies: > > 1. cfg80211/nl80211: Add support for NL80211_STA_INFO_RX_DURATION (under review) 739960f128e5 cfg80211/nl80211: Add support for NL80211_STA_INFO_RX_DURATION Currently in net-next, should come to ath-next soon.
Hello a long time ago i discovered that ath10k doesnt seem to support lower extension channel configuration which raises also a bug report for DD-WRT in my case. when will this issue be fixed? if i set channel 100 and extension channel to 106 (and ht40+) in hostapd, all is working but channel 108 and extension channel 102 (-6) and ht40- it will be refused does somebody or you know how to configure it properly or is it really not possible at the time. and if not possible, will it be fixed in future?
On 14 May 2016 at 06:37, Sebastian Gottschall <s.gottschall@dd-wrt.com> wrote: > Hello > > a long time ago i discovered that ath10k doesnt seem to support lower > extension channel configuration which raises also a bug report for DD-WRT in > my case. > when will this issue be fixed? > if i set channel 100 and extension channel to 106 (and ht40+) in hostapd, > all is working You probably mean 100 and 104. There's no control channel 106. 106 could be used as center channel/frequency for vht80 across 100 and 112. > but channel 108 and extension channel 102 (-6) and ht40- it will be refused Again, you probably mean 108 and 104. There's no 102 control channel. Anyway, this is forbidden by the spec (IEEE 802.11n Annex J.). See this channel allocation map: http://twimgs.com/networkcomputing/news/2013/10/graphic-80211-acChannels-all.png You can find references to this in a few places in hostap/wpa_supplicant code. Just grep for: 36, 44, 52 .. and you'll find e.g. https://w1.fi/cgit/hostap/tree/src/common/hw_features_common.c#n91 https://w1.fi/cgit/hostap/tree/src/common/hw_features_common.c#n120 Micha?
On 16 May 2016 at 09:08, Sebastian Gottschall <s.gottschall@dd-wrt.com> wrote: > Am 16.05.2016 um 07:35 schrieb Michal Kazior: > > On 14 May 2016 at 06:37, Sebastian Gottschall <s.gottschall@dd-wrt.com> > wrote: > > Hello > > a long time ago i discovered that ath10k doesnt seem to support lower > extension channel configuration which raises also a bug report for DD-WRT in > my case. > when will this issue be fixed? > if i set channel 100 and extension channel to 106 (and ht40+) in hostapd, > all is working > > You probably mean 100 and 104. There's no control channel 106. > > 106 could be used as center channel/frequency for vht80 across 100 and 112. > > for your own reference. this one here is working > > vht_oper_chwidth=1 > vht_oper_centr_freq_seg0_idx=106 > channel=100 > > you're right i swapped center and control > > according to the documentation of ath10k. the distance of center and > control. is "6" for vht80. and not 4 It's an oversimplification and works for channels that are first in a segment (e.g. 36). > the problem now is, it wont work for lower > > so the following hostapd snipped wont work > vht_oper_chwidth=1 > vht_oper_centr_freq_seg0_idx=102 > channel=108 This is incorrect configuration. You can't use channel 102 as center channel for vht80. See the channel allocation map I've linked in my previous email. Valid VHT80 center channels (seg0_idx) are: 42, 58, 106, 122, 138, 155. If you want to use channel 108 as control channel you need to use seg0_idx=106 with HT40+. You should be able to use channel=104 (and seg0_idx=106) with HT40- as well. Micha?
you're right. my fault Am 16.05.2016 um 09:31 schrieb Michal Kazior: > On 16 May 2016 at 09:08, Sebastian Gottschall <s.gottschall@dd-wrt.com> wrote: >> Am 16.05.2016 um 07:35 schrieb Michal Kazior: >> >> On 14 May 2016 at 06:37, Sebastian Gottschall <s.gottschall@dd-wrt.com> >> wrote: >> >> Hello >> >> a long time ago i discovered that ath10k doesnt seem to support lower >> extension channel configuration which raises also a bug report for DD-WRT in >> my case. >> when will this issue be fixed? >> if i set channel 100 and extension channel to 106 (and ht40+) in hostapd, >> all is working >> >> You probably mean 100 and 104. There's no control channel 106. >> >> 106 could be used as center channel/frequency for vht80 across 100 and 112. >> >> for your own reference. this one here is working >> >> vht_oper_chwidth=1 >> vht_oper_centr_freq_seg0_idx=106 >> channel=100 >> >> you're right i swapped center and control >> >> according to the documentation of ath10k. the distance of center and >> control. is "6" for vht80. and not 4 > It's an oversimplification and works for channels that are first in a > segment (e.g. 36). > > >> the problem now is, it wont work for lower >> >> so the following hostapd snipped wont work >> vht_oper_chwidth=1 >> vht_oper_centr_freq_seg0_idx=102 >> channel=108 > This is incorrect configuration. You can't use channel 102 as center > channel for vht80. See the channel allocation map I've linked in my > previous email. > > Valid VHT80 center channels (seg0_idx) are: 42, 58, 106, 122, 138, 155. > > If you want to use channel 108 as control channel you need to use > seg0_idx=106 with HT40+. > You should be able to use channel=104 (and seg0_idx=106) with HT40- as well. > > > Micha? >
Hi Kalle, On Fri, May 13, 2016 at 03:13:36PM +0000, Valo, Kalle wrote: > Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> writes: > > > From: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> > > > > Enable support for 'drv_sta_statistics' callback. > > Export rx_duration support if available to cfg80211/nl80211 > > > > This can also act as a placeholder for any new per STA stats support > > > > Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> > > --- > > [v3] removed conditions for ath10k state checks based on Michal's suggestion > > It's nicer to ping than resend a patch. This patchset has been in > "Awaiting Upstream" state while waiting for the dependencies trickle > down to ath-next. [shafi] sure, thanks ! will do this next time. I was afraid this patch got lost. > > > Dependencies: > > > > 1. cfg80211/nl80211: Add support for NL80211_STA_INFO_RX_DURATION (under review) > > 739960f128e5 cfg80211/nl80211: Add support for NL80211_STA_INFO_RX_DURATION > > Currently in net-next, should come to ath-next soon. [shafi] thanks for the info. regards, shafi
diff --git a/drivers/net/wireless/ath/ath10k/debug.h b/drivers/net/wireless/ath/ath10k/debug.h index 6206edd..01c500f 100644 --- a/drivers/net/wireless/ath/ath10k/debug.h +++ b/drivers/net/wireless/ath/ath10k/debug.h @@ -155,6 +155,10 @@ ath10k_debug_get_new_fw_crash_data(struct ath10k *ar) void ath10k_sta_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct dentry *dir); void ath10k_sta_update_rx_duration(struct ath10k *ar, struct list_head *peer); +void ath10k_sta_statistics(struct ieee80211_hw *hw, struct ieee80211_vif *vif, + struct ieee80211_sta *sta, + struct station_info *sinfo); + #else static inline void ath10k_sta_update_rx_duration(struct ath10k *ar, struct list_head *peer) diff --git a/drivers/net/wireless/ath/ath10k/debugfs_sta.c b/drivers/net/wireless/ath/ath10k/debugfs_sta.c index 67ef75b..c5396bf 100644 --- a/drivers/net/wireless/ath/ath10k/debugfs_sta.c +++ b/drivers/net/wireless/ath/ath10k/debugfs_sta.c @@ -35,6 +35,20 @@ void ath10k_sta_update_rx_duration(struct ath10k *ar, struct list_head *head) rcu_read_unlock(); } +void ath10k_sta_statistics(struct ieee80211_hw *hw, struct ieee80211_vif *vif, + struct ieee80211_sta *sta, + struct station_info *sinfo) +{ + struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv; + struct ath10k *ar = arsta->arvif->ar; + + if (!ath10k_peer_stats_enabled(ar)) + return; + + sinfo->rx_duration = arsta->rx_duration; + sinfo->filled |= 1ULL << NL80211_STA_INFO_RX_DURATION; +} + static ssize_t ath10k_dbg_sta_read_aggr_mode(struct file *file, char __user *user_buf, size_t count, loff_t *ppos) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 20d72e2..02edeff 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -7271,6 +7271,7 @@ static const struct ieee80211_ops ath10k_ops = { #endif #ifdef CONFIG_MAC80211_DEBUGFS .sta_add_debugfs = ath10k_sta_add_debugfs, + .sta_statistics = ath10k_sta_statistics, #endif };