* [PATCH] mac80211: deprecate RX status noise @ 2010-02-17 20:05 Johannes Berg 2010-02-17 20:22 ` [PATCH v2] " Johannes Berg 0 siblings, 1 reply; 12+ messages in thread From: Johannes Berg @ 2010-02-17 20:05 UTC (permalink / raw) To: John Linville; +Cc: linux-wireless The noise value as is won't be used, isn't filled by most drivers and doesn't really make a whole lot of sense on a per packet basis -- proper cfg80211 survey support in mac80211 will need to be different. Mark the struct member as deprecated so it will be removed from drivers. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> --- Currently creates the following warnings: drivers/net/wireless/mwl8k.c:756: warning: ‘noise’ is deprecated drivers/net/wireless/mwl8k.c:858: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ar9170/main.c:928: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ath9k/common.c:215: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ath5k/base.c:1941: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ath5k/base.c:1942: warning: ‘noise’ is deprecated drivers/net/wireless/b43/xmit.c:613: warning: ‘noise’ is deprecated drivers/net/wireless/b43legacy/xmit.c:551: warning: ‘noise’ is deprecated drivers/net/wireless/libertas_tf/main.c:497: warning: ‘noise’ is deprecated drivers/net/wireless/rt2x00/rt2x00dev.c:437: warning: ‘noise’ is deprecated drivers/net/wireless/p54/txrx.c:353: warning: ‘noise’ is deprecated drivers/net/wireless/wl12xx/wl1251_rx.c:80: warning: ‘noise’ is deprecated drivers/net/wireless/wl12xx/wl1271_rx.c:139: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:682: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:685: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:689: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:697: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:711: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-rx.c:1191: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-rx.c:1193: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-rx.c:1206: warning: ‘noise’ is deprecated I'll make patches for drivers when it becomes clear that it won't clash with any work others have pending. include/net/mac80211.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- wireless-testing.orig/include/net/mac80211.h 2010-02-17 20:57:33.000000000 +0100 +++ wireless-testing/include/net/mac80211.h 2010-02-17 20:57:43.000000000 +0100 @@ -543,7 +543,7 @@ enum mac80211_rx_flags { * @signal: signal strength when receiving this frame, either in dBm, in dB or * unspecified depending on the hardware capabilities flags * @IEEE80211_HW_SIGNAL_* - * @noise: noise when receiving this frame, in dBm. + * @noise: noise when receiving this frame, in dBm (DEPRECATED). * @antenna: antenna used * @rate_idx: index of data rate into band's supported rates or MCS index if * HT rates are use (RX_FLAG_HT) @@ -554,7 +554,7 @@ struct ieee80211_rx_status { enum ieee80211_band band; int freq; int signal; - int noise; + int noise __deprecated; int antenna; int rate_idx; int flag; ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2] mac80211: deprecate RX status noise 2010-02-17 20:05 [PATCH] mac80211: deprecate RX status noise Johannes Berg @ 2010-02-17 20:22 ` Johannes Berg 2010-02-17 20:27 ` [PATCH v3] " Johannes Berg 0 siblings, 1 reply; 12+ messages in thread From: Johannes Berg @ 2010-02-17 20:22 UTC (permalink / raw) To: Johannes Berg; +Cc: John Linville, linux-wireless The noise value as is won't be used, isn't filled by most drivers and doesn't really make a whole lot of sense on a per packet basis -- proper cfg80211 survey support in mac80211 will need to be different. Mark the struct member as deprecated so it will be removed from drivers. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> --- Currently creates the following warnings: drivers/net/wireless/mwl8k.c:756: warning: ‘noise’ is deprecated drivers/net/wireless/mwl8k.c:858: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ar9170/main.c:928: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ath9k/common.c:215: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ath5k/base.c:1941: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ath5k/base.c:1942: warning: ‘noise’ is deprecated drivers/net/wireless/b43/xmit.c:613: warning: ‘noise’ is deprecated drivers/net/wireless/b43legacy/xmit.c:551: warning: ‘noise’ is deprecated drivers/net/wireless/libertas_tf/main.c:497: warning: ‘noise’ is deprecated drivers/net/wireless/rt2x00/rt2x00dev.c:437: warning: ‘noise’ is deprecated drivers/net/wireless/p54/txrx.c:353: warning: ‘noise’ is deprecated drivers/net/wireless/wl12xx/wl1251_rx.c:80: warning: ‘noise’ is deprecated drivers/net/wireless/wl12xx/wl1271_rx.c:139: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:682: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:685: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:689: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:697: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:711: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-rx.c:1191: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-rx.c:1193: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-rx.c:1206: warning: ‘noise’ is deprecated I'll make patches for drivers when it becomes clear that it won't clash with any work others have pending. include/net/mac80211.h | 4 ++-- net/mac80211/debugfs_sta.c | 2 -- net/mac80211/rx.c | 1 - net/mac80211/sta_info.h | 2 -- 4 files changed, 2 insertions(+), 7 deletions(-) --- wireless-testing.orig/include/net/mac80211.h 2010-02-17 20:57:33.000000000 +0100 +++ wireless-testing/include/net/mac80211.h 2010-02-17 20:57:43.000000000 +0100 @@ -543,7 +543,7 @@ enum mac80211_rx_flags { * @signal: signal strength when receiving this frame, either in dBm, in dB or * unspecified depending on the hardware capabilities flags * @IEEE80211_HW_SIGNAL_* - * @noise: noise when receiving this frame, in dBm. + * @noise: noise when receiving this frame, in dBm (DEPRECATED). * @antenna: antenna used * @rate_idx: index of data rate into band's supported rates or MCS index if * HT rates are use (RX_FLAG_HT) @@ -554,7 +554,7 @@ struct ieee80211_rx_status { enum ieee80211_band band; int freq; int signal; - int noise; + int noise __deprecated; int antenna; int rate_idx; int flag; --- wireless-testing.orig/net/mac80211/debugfs_sta.c 2010-02-17 21:20:49.000000000 +0100 +++ wireless-testing/net/mac80211/debugfs_sta.c 2010-02-17 21:20:53.000000000 +0100 @@ -57,7 +57,6 @@ STA_FILE(tx_filtered, tx_filtered_count, STA_FILE(tx_retry_failed, tx_retry_failed, LU); STA_FILE(tx_retry_count, tx_retry_count, LU); STA_FILE(last_signal, last_signal, D); -STA_FILE(last_noise, last_noise, D); STA_FILE(wep_weak_iv_count, wep_weak_iv_count, LU); static ssize_t sta_flags_read(struct file *file, char __user *userbuf, @@ -289,7 +288,6 @@ void ieee80211_sta_debugfs_add(struct st DEBUGFS_ADD(tx_retry_failed); DEBUGFS_ADD(tx_retry_count); DEBUGFS_ADD(last_signal); - DEBUGFS_ADD(last_noise); DEBUGFS_ADD(wep_weak_iv_count); DEBUGFS_ADD(ht_capa); } --- wireless-testing.orig/net/mac80211/rx.c 2010-02-17 21:20:32.000000000 +0100 +++ wireless-testing/net/mac80211/rx.c 2010-02-17 21:20:34.000000000 +0100 @@ -1078,7 +1078,6 @@ ieee80211_rx_h_sta_process(struct ieee80 sta->rx_fragments++; sta->rx_bytes += rx->skb->len; sta->last_signal = status->signal; - sta->last_noise = status->noise; /* * Change STA power saving mode only at the end of a frame --- wireless-testing.orig/net/mac80211/sta_info.h 2010-02-17 21:20:39.000000000 +0100 +++ wireless-testing/net/mac80211/sta_info.h 2010-02-17 21:20:44.000000000 +0100 @@ -200,7 +200,6 @@ struct sta_ampdu_mlme { * @rx_fragments: number of received MPDUs * @rx_dropped: number of dropped MPDUs from this STA * @last_signal: signal of last received frame from this STA - * @last_noise: noise of last received frame from this STA * @last_seq_ctrl: last received seq/frag number from this STA (per RX queue) * @tx_filtered_count: number of frames the hardware filtered for this STA * @tx_retry_failed: number of frames that failed retry @@ -271,7 +270,6 @@ struct sta_info { unsigned long rx_fragments; unsigned long rx_dropped; int last_signal; - int last_noise; __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES]; /* Updated from TX status path only, no locking requirements */ ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3] mac80211: deprecate RX status noise 2010-02-17 20:22 ` [PATCH v2] " Johannes Berg @ 2010-02-17 20:27 ` Johannes Berg 2010-02-17 20:48 ` Benoit PAPILLAULT 0 siblings, 1 reply; 12+ messages in thread From: Johannes Berg @ 2010-02-17 20:27 UTC (permalink / raw) To: John Linville; +Cc: linux-wireless The noise value as is won't be used, isn't filled by most drivers and doesn't really make a whole lot of sense on a per packet basis -- proper cfg80211 survey support in mac80211 will need to be different. Mark the struct member as deprecated so it will be removed from drivers. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> --- I shouldn't be trying this at 9:30pm... Currently creates the following warnings: drivers/net/wireless/mwl8k.c:756: warning: ‘noise’ is deprecated drivers/net/wireless/mwl8k.c:858: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ar9170/main.c:928: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ath9k/common.c:215: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ath5k/base.c:1941: warning: ‘noise’ is deprecated drivers/net/wireless/ath/ath5k/base.c:1942: warning: ‘noise’ is deprecated drivers/net/wireless/b43/xmit.c:613: warning: ‘noise’ is deprecated drivers/net/wireless/b43legacy/xmit.c:551: warning: ‘noise’ is deprecated drivers/net/wireless/libertas_tf/main.c:497: warning: ‘noise’ is deprecated drivers/net/wireless/rt2x00/rt2x00dev.c:437: warning: ‘noise’ is deprecated drivers/net/wireless/p54/txrx.c:353: warning: ‘noise’ is deprecated drivers/net/wireless/wl12xx/wl1251_rx.c:80: warning: ‘noise’ is deprecated drivers/net/wireless/wl12xx/wl1271_rx.c:139: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:682: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:685: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:689: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:697: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-3945.c:711: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-rx.c:1191: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-rx.c:1193: warning: ‘noise’ is deprecated drivers/net/wireless/iwlwifi/iwl-rx.c:1206: warning: ‘noise’ is deprecated I'll make patches for drivers when it becomes clear that it won't clash with any work others have pending. include/net/mac80211.h | 4 ++-- net/mac80211/debugfs_sta.c | 2 -- net/mac80211/rx.c | 9 --------- net/mac80211/sta_info.h | 2 -- 4 files changed, 2 insertions(+), 15 deletions(-) --- wireless-testing.orig/include/net/mac80211.h 2010-02-17 20:57:33.000000000 +0100 +++ wireless-testing/include/net/mac80211.h 2010-02-17 21:25:46.000000000 +0100 @@ -543,7 +543,7 @@ enum mac80211_rx_flags { * @signal: signal strength when receiving this frame, either in dBm, in dB or * unspecified depending on the hardware capabilities flags * @IEEE80211_HW_SIGNAL_* - * @noise: noise when receiving this frame, in dBm. + * @noise: noise when receiving this frame, in dBm (DEPRECATED). * @antenna: antenna used * @rate_idx: index of data rate into band's supported rates or MCS index if * HT rates are use (RX_FLAG_HT) @@ -554,7 +554,7 @@ struct ieee80211_rx_status { enum ieee80211_band band; int freq; int signal; - int noise; + int noise __deprecated; int antenna; int rate_idx; int flag; --- wireless-testing.orig/net/mac80211/debugfs_sta.c 2010-02-17 21:20:49.000000000 +0100 +++ wireless-testing/net/mac80211/debugfs_sta.c 2010-02-17 21:20:53.000000000 +0100 @@ -57,7 +57,6 @@ STA_FILE(tx_filtered, tx_filtered_count, STA_FILE(tx_retry_failed, tx_retry_failed, LU); STA_FILE(tx_retry_count, tx_retry_count, LU); STA_FILE(last_signal, last_signal, D); -STA_FILE(last_noise, last_noise, D); STA_FILE(wep_weak_iv_count, wep_weak_iv_count, LU); static ssize_t sta_flags_read(struct file *file, char __user *userbuf, @@ -289,7 +288,6 @@ void ieee80211_sta_debugfs_add(struct st DEBUGFS_ADD(tx_retry_failed); DEBUGFS_ADD(tx_retry_count); DEBUGFS_ADD(last_signal); - DEBUGFS_ADD(last_noise); DEBUGFS_ADD(wep_weak_iv_count); DEBUGFS_ADD(ht_capa); } --- wireless-testing.orig/net/mac80211/rx.c 2010-02-17 21:20:32.000000000 +0100 +++ wireless-testing/net/mac80211/rx.c 2010-02-17 21:26:31.000000000 +0100 @@ -179,14 +179,6 @@ ieee80211_add_rx_radiotap_header(struct pos++; } - /* IEEE80211_RADIOTAP_DBM_ANTNOISE */ - if (local->hw.flags & IEEE80211_HW_NOISE_DBM) { - *pos = status->noise; - rthdr->it_present |= - cpu_to_le32(1 << IEEE80211_RADIOTAP_DBM_ANTNOISE); - pos++; - } - /* IEEE80211_RADIOTAP_LOCK_QUALITY is missing */ /* IEEE80211_RADIOTAP_ANTENNA */ @@ -1078,7 +1070,6 @@ ieee80211_rx_h_sta_process(struct ieee80 sta->rx_fragments++; sta->rx_bytes += rx->skb->len; sta->last_signal = status->signal; - sta->last_noise = status->noise; /* * Change STA power saving mode only at the end of a frame --- wireless-testing.orig/net/mac80211/sta_info.h 2010-02-17 21:20:39.000000000 +0100 +++ wireless-testing/net/mac80211/sta_info.h 2010-02-17 21:20:44.000000000 +0100 @@ -200,7 +200,6 @@ struct sta_ampdu_mlme { * @rx_fragments: number of received MPDUs * @rx_dropped: number of dropped MPDUs from this STA * @last_signal: signal of last received frame from this STA - * @last_noise: noise of last received frame from this STA * @last_seq_ctrl: last received seq/frag number from this STA (per RX queue) * @tx_filtered_count: number of frames the hardware filtered for this STA * @tx_retry_failed: number of frames that failed retry @@ -271,7 +270,6 @@ struct sta_info { unsigned long rx_fragments; unsigned long rx_dropped; int last_signal; - int last_noise; __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES]; /* Updated from TX status path only, no locking requirements */ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3] mac80211: deprecate RX status noise 2010-02-17 20:27 ` [PATCH v3] " Johannes Berg @ 2010-02-17 20:48 ` Benoit PAPILLAULT 2010-02-17 22:29 ` Luis R. Rodriguez 0 siblings, 1 reply; 12+ messages in thread From: Benoit PAPILLAULT @ 2010-02-17 20:48 UTC (permalink / raw) To: Johannes Berg; +Cc: John Linville, linux-wireless Johannes Berg a écrit : > The noise value as is won't be used, isn't > filled by most drivers and doesn't really > make a whole lot of sense on a per packet > basis -- proper cfg80211 survey support in > mac80211 will need to be different. > > Mark the struct member as deprecated so it > will be removed from drivers. > > Signed-off-by: Johannes Berg <johannes@sipsolutions.net> > --- > I shouldn't be trying this at 9:30pm... > > > Currently creates the following warnings: > > drivers/net/wireless/mwl8k.c:756: warning: ‘noise’ is deprecated > drivers/net/wireless/mwl8k.c:858: warning: ‘noise’ is deprecated > drivers/net/wireless/ath/ar9170/main.c:928: warning: ‘noise’ is deprecated > drivers/net/wireless/ath/ath9k/common.c:215: warning: ‘noise’ is deprecated > drivers/net/wireless/ath/ath5k/base.c:1941: warning: ‘noise’ is deprecated > drivers/net/wireless/ath/ath5k/base.c:1942: warning: ‘noise’ is deprecated > drivers/net/wireless/b43/xmit.c:613: warning: ‘noise’ is deprecated > drivers/net/wireless/b43legacy/xmit.c:551: warning: ‘noise’ is deprecated > drivers/net/wireless/libertas_tf/main.c:497: warning: ‘noise’ is deprecated > drivers/net/wireless/rt2x00/rt2x00dev.c:437: warning: ‘noise’ is deprecated > drivers/net/wireless/p54/txrx.c:353: warning: ‘noise’ is deprecated > drivers/net/wireless/wl12xx/wl1251_rx.c:80: warning: ‘noise’ is deprecated > drivers/net/wireless/wl12xx/wl1271_rx.c:139: warning: ‘noise’ is deprecated > drivers/net/wireless/iwlwifi/iwl-3945.c:682: warning: ‘noise’ is deprecated > drivers/net/wireless/iwlwifi/iwl-3945.c:685: warning: ‘noise’ is deprecated > drivers/net/wireless/iwlwifi/iwl-3945.c:689: warning: ‘noise’ is deprecated > drivers/net/wireless/iwlwifi/iwl-3945.c:697: warning: ‘noise’ is deprecated > drivers/net/wireless/iwlwifi/iwl-3945.c:711: warning: ‘noise’ is deprecated > drivers/net/wireless/iwlwifi/iwl-rx.c:1191: warning: ‘noise’ is deprecated > drivers/net/wireless/iwlwifi/iwl-rx.c:1193: warning: ‘noise’ is deprecated > drivers/net/wireless/iwlwifi/iwl-rx.c:1206: warning: ‘noise’ is deprecated > > I'll make patches for drivers when it becomes > clear that it won't clash with any work others > have pending. > > include/net/mac80211.h | 4 ++-- > net/mac80211/debugfs_sta.c | 2 -- > net/mac80211/rx.c | 9 --------- > net/mac80211/sta_info.h | 2 -- > 4 files changed, 2 insertions(+), 15 deletions(-) > > --- wireless-testing.orig/include/net/mac80211.h 2010-02-17 20:57:33.000000000 +0100 > +++ wireless-testing/include/net/mac80211.h 2010-02-17 21:25:46.000000000 +0100 > @@ -543,7 +543,7 @@ enum mac80211_rx_flags { > * @signal: signal strength when receiving this frame, either in dBm, in dB or > * unspecified depending on the hardware capabilities flags > * @IEEE80211_HW_SIGNAL_* > - * @noise: noise when receiving this frame, in dBm. > + * @noise: noise when receiving this frame, in dBm (DEPRECATED). > * @antenna: antenna used > * @rate_idx: index of data rate into band's supported rates or MCS index if > * HT rates are use (RX_FLAG_HT) > @@ -554,7 +554,7 @@ struct ieee80211_rx_status { > enum ieee80211_band band; > int freq; > int signal; > - int noise; > + int noise __deprecated; > int antenna; > int rate_idx; > int flag; > --- wireless-testing.orig/net/mac80211/debugfs_sta.c 2010-02-17 21:20:49.000000000 +0100 > +++ wireless-testing/net/mac80211/debugfs_sta.c 2010-02-17 21:20:53.000000000 +0100 > @@ -57,7 +57,6 @@ STA_FILE(tx_filtered, tx_filtered_count, > STA_FILE(tx_retry_failed, tx_retry_failed, LU); > STA_FILE(tx_retry_count, tx_retry_count, LU); > STA_FILE(last_signal, last_signal, D); > -STA_FILE(last_noise, last_noise, D); > STA_FILE(wep_weak_iv_count, wep_weak_iv_count, LU); > > static ssize_t sta_flags_read(struct file *file, char __user *userbuf, > @@ -289,7 +288,6 @@ void ieee80211_sta_debugfs_add(struct st > DEBUGFS_ADD(tx_retry_failed); > DEBUGFS_ADD(tx_retry_count); > DEBUGFS_ADD(last_signal); > - DEBUGFS_ADD(last_noise); > DEBUGFS_ADD(wep_weak_iv_count); > DEBUGFS_ADD(ht_capa); > } > --- wireless-testing.orig/net/mac80211/rx.c 2010-02-17 21:20:32.000000000 +0100 > +++ wireless-testing/net/mac80211/rx.c 2010-02-17 21:26:31.000000000 +0100 > @@ -179,14 +179,6 @@ ieee80211_add_rx_radiotap_header(struct > pos++; > } > > - /* IEEE80211_RADIOTAP_DBM_ANTNOISE */ > - if (local->hw.flags & IEEE80211_HW_NOISE_DBM) { > - *pos = status->noise; > - rthdr->it_present |= > - cpu_to_le32(1 << IEEE80211_RADIOTAP_DBM_ANTNOISE); > - pos++; > - } > - > /* IEEE80211_RADIOTAP_LOCK_QUALITY is missing */ > > /* IEEE80211_RADIOTAP_ANTENNA */ > @@ -1078,7 +1070,6 @@ ieee80211_rx_h_sta_process(struct ieee80 > sta->rx_fragments++; > sta->rx_bytes += rx->skb->len; > sta->last_signal = status->signal; > - sta->last_noise = status->noise; > > /* > * Change STA power saving mode only at the end of a frame > --- wireless-testing.orig/net/mac80211/sta_info.h 2010-02-17 21:20:39.000000000 +0100 > +++ wireless-testing/net/mac80211/sta_info.h 2010-02-17 21:20:44.000000000 +0100 > @@ -200,7 +200,6 @@ struct sta_ampdu_mlme { > * @rx_fragments: number of received MPDUs > * @rx_dropped: number of dropped MPDUs from this STA > * @last_signal: signal of last received frame from this STA > - * @last_noise: noise of last received frame from this STA > * @last_seq_ctrl: last received seq/frag number from this STA (per RX queue) > * @tx_filtered_count: number of frames the hardware filtered for this STA > * @tx_retry_failed: number of frames that failed retry > @@ -271,7 +270,6 @@ struct sta_info { > unsigned long rx_fragments; > unsigned long rx_dropped; > int last_signal; > - int last_noise; > __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES]; > > /* Updated from TX status path only, no locking requirements */ > > I just wrote an application that read "last_signal" and "last_noise" in order to compute the SNR value of all neighboring nodes in /sys/kernel/debug/ieee80211/phy0/stations. So, it is used and needed. Being per packet or global, I'm not an RF engineer to say what's best, but even if it is global, "last_noise" would still be useful as "global noise when the last packets was received from this node". My 2 cents, Benoit ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3] mac80211: deprecate RX status noise 2010-02-17 20:48 ` Benoit PAPILLAULT @ 2010-02-17 22:29 ` Luis R. Rodriguez 2010-02-17 22:51 ` Pavel Roskin 0 siblings, 1 reply; 12+ messages in thread From: Luis R. Rodriguez @ 2010-02-17 22:29 UTC (permalink / raw) To: Benoit PAPILLAULT; +Cc: Johannes Berg, John Linville, linux-wireless On Wed, Feb 17, 2010 at 12:48 PM, Benoit PAPILLAULT <benoit.papillault@free.fr> wrote: > Johannes Berg a écrit : >> >> The noise value as is won't be used, isn't >> filled by most drivers and doesn't really >> make a whole lot of sense on a per packet >> basis -- proper cfg80211 survey support in >> mac80211 will need to be different. >> >> Mark the struct member as deprecated so it >> will be removed from drivers. >> >> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> >> --- >> I shouldn't be trying this at 9:30pm... >> >> >> Currently creates the following warnings: >> >> drivers/net/wireless/mwl8k.c:756: warning: ‘noise’ is deprecated >> drivers/net/wireless/mwl8k.c:858: warning: ‘noise’ is deprecated >> drivers/net/wireless/ath/ar9170/main.c:928: warning: ‘noise’ is deprecated >> drivers/net/wireless/ath/ath9k/common.c:215: warning: ‘noise’ is >> deprecated >> drivers/net/wireless/ath/ath5k/base.c:1941: warning: ‘noise’ is deprecated >> drivers/net/wireless/ath/ath5k/base.c:1942: warning: ‘noise’ is deprecated >> drivers/net/wireless/b43/xmit.c:613: warning: ‘noise’ is deprecated >> drivers/net/wireless/b43legacy/xmit.c:551: warning: ‘noise’ is deprecated >> drivers/net/wireless/libertas_tf/main.c:497: warning: ‘noise’ is >> deprecated >> drivers/net/wireless/rt2x00/rt2x00dev.c:437: warning: ‘noise’ is >> deprecated >> drivers/net/wireless/p54/txrx.c:353: warning: ‘noise’ is deprecated >> drivers/net/wireless/wl12xx/wl1251_rx.c:80: warning: ‘noise’ is deprecated >> drivers/net/wireless/wl12xx/wl1271_rx.c:139: warning: ‘noise’ is >> deprecated >> drivers/net/wireless/iwlwifi/iwl-3945.c:682: warning: ‘noise’ is >> deprecated >> drivers/net/wireless/iwlwifi/iwl-3945.c:685: warning: ‘noise’ is >> deprecated >> drivers/net/wireless/iwlwifi/iwl-3945.c:689: warning: ‘noise’ is >> deprecated >> drivers/net/wireless/iwlwifi/iwl-3945.c:697: warning: ‘noise’ is >> deprecated >> drivers/net/wireless/iwlwifi/iwl-3945.c:711: warning: ‘noise’ is >> deprecated >> drivers/net/wireless/iwlwifi/iwl-rx.c:1191: warning: ‘noise’ is deprecated >> drivers/net/wireless/iwlwifi/iwl-rx.c:1193: warning: ‘noise’ is deprecated >> drivers/net/wireless/iwlwifi/iwl-rx.c:1206: warning: ‘noise’ is deprecated >> >> I'll make patches for drivers when it becomes >> clear that it won't clash with any work others >> have pending. >> >> include/net/mac80211.h | 4 ++-- >> net/mac80211/debugfs_sta.c | 2 -- >> net/mac80211/rx.c | 9 --------- >> net/mac80211/sta_info.h | 2 -- >> 4 files changed, 2 insertions(+), 15 deletions(-) >> >> --- wireless-testing.orig/include/net/mac80211.h 2010-02-17 >> 20:57:33.000000000 +0100 >> +++ wireless-testing/include/net/mac80211.h 2010-02-17 >> 21:25:46.000000000 +0100 >> @@ -543,7 +543,7 @@ enum mac80211_rx_flags { >> * @signal: signal strength when receiving this frame, either in dBm, in >> dB or >> * unspecified depending on the hardware capabilities flags >> * @IEEE80211_HW_SIGNAL_* >> - * @noise: noise when receiving this frame, in dBm. >> + * @noise: noise when receiving this frame, in dBm (DEPRECATED). >> * @antenna: antenna used >> * @rate_idx: index of data rate into band's supported rates or MCS index >> if >> * HT rates are use (RX_FLAG_HT) >> @@ -554,7 +554,7 @@ struct ieee80211_rx_status { >> enum ieee80211_band band; >> int freq; >> int signal; >> - int noise; >> + int noise __deprecated; >> int antenna; >> int rate_idx; >> int flag; >> --- wireless-testing.orig/net/mac80211/debugfs_sta.c 2010-02-17 >> 21:20:49.000000000 +0100 >> +++ wireless-testing/net/mac80211/debugfs_sta.c 2010-02-17 >> 21:20:53.000000000 +0100 >> @@ -57,7 +57,6 @@ STA_FILE(tx_filtered, tx_filtered_count, >> STA_FILE(tx_retry_failed, tx_retry_failed, LU); >> STA_FILE(tx_retry_count, tx_retry_count, LU); >> STA_FILE(last_signal, last_signal, D); >> -STA_FILE(last_noise, last_noise, D); >> STA_FILE(wep_weak_iv_count, wep_weak_iv_count, LU); >> static ssize_t sta_flags_read(struct file *file, char __user *userbuf, >> @@ -289,7 +288,6 @@ void ieee80211_sta_debugfs_add(struct st >> DEBUGFS_ADD(tx_retry_failed); >> DEBUGFS_ADD(tx_retry_count); >> DEBUGFS_ADD(last_signal); >> - DEBUGFS_ADD(last_noise); >> DEBUGFS_ADD(wep_weak_iv_count); >> DEBUGFS_ADD(ht_capa); >> } >> --- wireless-testing.orig/net/mac80211/rx.c 2010-02-17 >> 21:20:32.000000000 +0100 >> +++ wireless-testing/net/mac80211/rx.c 2010-02-17 21:26:31.000000000 >> +0100 >> @@ -179,14 +179,6 @@ ieee80211_add_rx_radiotap_header(struct >> pos++; >> } >> - /* IEEE80211_RADIOTAP_DBM_ANTNOISE */ >> - if (local->hw.flags & IEEE80211_HW_NOISE_DBM) { >> - *pos = status->noise; >> - rthdr->it_present |= >> - cpu_to_le32(1 << IEEE80211_RADIOTAP_DBM_ANTNOISE); >> - pos++; >> - } >> - >> /* IEEE80211_RADIOTAP_LOCK_QUALITY is missing */ >> /* IEEE80211_RADIOTAP_ANTENNA */ >> @@ -1078,7 +1070,6 @@ ieee80211_rx_h_sta_process(struct ieee80 >> sta->rx_fragments++; >> sta->rx_bytes += rx->skb->len; >> sta->last_signal = status->signal; >> - sta->last_noise = status->noise; >> /* >> * Change STA power saving mode only at the end of a frame >> --- wireless-testing.orig/net/mac80211/sta_info.h 2010-02-17 >> 21:20:39.000000000 +0100 >> +++ wireless-testing/net/mac80211/sta_info.h 2010-02-17 >> 21:20:44.000000000 +0100 >> @@ -200,7 +200,6 @@ struct sta_ampdu_mlme { >> * @rx_fragments: number of received MPDUs >> * @rx_dropped: number of dropped MPDUs from this STA >> * @last_signal: signal of last received frame from this STA >> - * @last_noise: noise of last received frame from this STA >> * @last_seq_ctrl: last received seq/frag number from this STA (per RX >> queue) >> * @tx_filtered_count: number of frames the hardware filtered for this STA >> * @tx_retry_failed: number of frames that failed retry >> @@ -271,7 +270,6 @@ struct sta_info { >> unsigned long rx_fragments; >> unsigned long rx_dropped; >> int last_signal; >> - int last_noise; >> __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES]; >> /* Updated from TX status path only, no locking requirements */ >> >> > > I just wrote an application that read "last_signal" and "last_noise" in > order to compute the SNR value of all neighboring nodes in > /sys/kernel/debug/ieee80211/phy0/stations. So, it is used and needed. > > Being per packet or global, I'm not an RF engineer to say what's best, but > even if it is global, "last_noise" would still be useful as "global noise > when the last packets was received from this node". If anything it should be per center freq. Luis ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3] mac80211: deprecate RX status noise 2010-02-17 22:29 ` Luis R. Rodriguez @ 2010-02-17 22:51 ` Pavel Roskin 2010-02-18 12:07 ` Johannes Berg 0 siblings, 1 reply; 12+ messages in thread From: Pavel Roskin @ 2010-02-17 22:51 UTC (permalink / raw) To: Luis R. Rodriguez Cc: Benoit PAPILLAULT, Johannes Berg, John Linville, linux-wireless On Wed, 2010-02-17 at 14:29 -0800, Luis R. Rodriguez wrote: > > Being per packet or global, I'm not an RF engineer to say what's best, but > > even if it is global, "last_noise" would still be useful as "global noise > > when the last packets was received from this node". > > If anything it should be per center freq. The noise value will be missed. It's useful to see the signal to noise ratio. I have little trust to the absolute noise values, but I know that the connection is bad if signal is just 3 dBm above the noise measured by the same card with the same antenna on the same channel. Maybe it would be better to remove per-packet noise only when the "next generation noise" is implemented? It could be a batch of patches. -- Regards, Pavel Roskin ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3] mac80211: deprecate RX status noise 2010-02-17 22:51 ` Pavel Roskin @ 2010-02-18 12:07 ` Johannes Berg 2010-02-18 14:41 ` Holger Schurig [not found] ` <7f9d9abf1002181728q63c9f090je175681bc520f0ad@mail.gmail.com> 0 siblings, 2 replies; 12+ messages in thread From: Johannes Berg @ 2010-02-18 12:07 UTC (permalink / raw) To: Pavel Roskin Cc: Luis R. Rodriguez, Benoit PAPILLAULT, John Linville, linux-wireless [-- Attachment #1: Type: text/plain, Size: 1312 bytes --] On Wed, 2010-02-17 at 17:51 -0500, Pavel Roskin wrote: > On Wed, 2010-02-17 at 14:29 -0800, Luis R. Rodriguez wrote: > > > > Being per packet or global, I'm not an RF engineer to say what's > best, but > > > even if it is global, "last_noise" would still be useful as > "global noise > > > when the last packets was received from this node". > > > > If anything it should be per center freq. Actually, per channel. > The noise value will be missed. It's useful to see the signal to > noise > ratio. I have little trust to the absolute noise values, but I know > that the connection is bad if signal is just 3 dBm above the noise > measured by the same card with the same antenna on the same channel. > > Maybe it would be better to remove per-packet noise only when the > "next > generation noise" is implemented? It could be a batch of patches. Hear hear! Face it, the way we report it right now is utterly broken. Various hardware reports various bogus values, like iwlwifi for example reporting the same noise value that it collected after a beacon over and over again, or just reporting 127 when it had no value. We've been saying that we need something new for years. But those people who want it don't seem to want to lift a finger for getting it. johannes [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3] mac80211: deprecate RX status noise 2010-02-18 12:07 ` Johannes Berg @ 2010-02-18 14:41 ` Holger Schurig 2010-02-18 14:48 ` Johannes Berg [not found] ` <7f9d9abf1002181728q63c9f090je175681bc520f0ad@mail.gmail.com> 1 sibling, 1 reply; 12+ messages in thread From: Holger Schurig @ 2010-02-18 14:41 UTC (permalink / raw) To: linux-wireless Cc: Johannes Berg, Pavel Roskin, Luis R. Rodriguez, Benoit PAPILLAULT, John Linville > Various hardware reports various bogus values, like iwlwifi for > example reporting the same noise value that it collected after > a beacon over and over again, or just reporting 127 when it had > no value. I'm not saying that I understand this completely, but for me it would make sense to disable iwlwifi's broken noise reporting only. No reason to disable it for everyone if some of them are broken. -- http://www.holgerschurig.de ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3] mac80211: deprecate RX status noise 2010-02-18 14:41 ` Holger Schurig @ 2010-02-18 14:48 ` Johannes Berg 2010-02-18 19:57 ` Kalle Valo 0 siblings, 1 reply; 12+ messages in thread From: Johannes Berg @ 2010-02-18 14:48 UTC (permalink / raw) To: Holger Schurig Cc: linux-wireless, Pavel Roskin, Luis R. Rodriguez, Benoit PAPILLAULT, John Linville [-- Attachment #1: Type: text/plain, Size: 680 bytes --] On Thu, 2010-02-18 at 15:41 +0100, Holger Schurig wrote: > > Various hardware reports various bogus values, like iwlwifi for > > example reporting the same noise value that it collected after > > a beacon over and over again, or just reporting 127 when it had > > no value. > > I'm not saying that I understand this completely, but for me it > would make sense to disable iwlwifi's broken noise reporting > only. No reason to disable it for everyone if some of them are > broken. Well it's kinda bound to be broken elsewhere too because we don't even know how various devices gather the values. With iwlwifi at least we know how it gets the value. johannes [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3] mac80211: deprecate RX status noise 2010-02-18 14:48 ` Johannes Berg @ 2010-02-18 19:57 ` Kalle Valo 2010-02-18 20:27 ` Luis R. Rodriguez 0 siblings, 1 reply; 12+ messages in thread From: Kalle Valo @ 2010-02-18 19:57 UTC (permalink / raw) To: Johannes Berg Cc: Holger Schurig, linux-wireless, Pavel Roskin, Luis R. Rodriguez, Benoit PAPILLAULT, John Linville Johannes Berg <johannes@sipsolutions.net> writes: >> I'm not saying that I understand this completely, but for me it >> would make sense to disable iwlwifi's broken noise reporting >> only. No reason to disable it for everyone if some of them are >> broken. > > Well it's kinda bound to be broken elsewhere too because we don't even > know how various devices gather the values. With iwlwifi at least we > know how it gets the value. Also wl1251 is more or less broken related to noise reporting. I even tried to find information how to use it properly but didn't get anything. -- Kalle Valo ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3] mac80211: deprecate RX status noise 2010-02-18 19:57 ` Kalle Valo @ 2010-02-18 20:27 ` Luis R. Rodriguez 0 siblings, 0 replies; 12+ messages in thread From: Luis R. Rodriguez @ 2010-02-18 20:27 UTC (permalink / raw) To: Kalle Valo Cc: Johannes Berg, Holger Schurig, linux-wireless, Pavel Roskin, Benoit PAPILLAULT, John Linville On Thu, Feb 18, 2010 at 11:57 AM, Kalle Valo <kalle.valo@iki.fi> wrote: > Johannes Berg <johannes@sipsolutions.net> writes: > >>> I'm not saying that I understand this completely, but for me it >>> would make sense to disable iwlwifi's broken noise reporting >>> only. No reason to disable it for everyone if some of them are >>> broken. >> >> Well it's kinda bound to be broken elsewhere too because we don't even >> know how various devices gather the values. With iwlwifi at least we >> know how it gets the value. > > Also wl1251 is more or less broken related to noise reporting. I even > tried to find information how to use it properly but didn't get > anything. For Atheros its only busted since we don't distinguish noise per channel, but otherwise I can't think of anything bogus about it. Last time I looked into how its computed is it was calculated during SIFS time, but that was a while back and based on some patent stuff. Luis ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <7f9d9abf1002181728q63c9f090je175681bc520f0ad@mail.gmail.com>]
* Re: [PATCH v3] mac80211: deprecate RX status noise [not found] ` <7f9d9abf1002181728q63c9f090je175681bc520f0ad@mail.gmail.com> @ 2010-02-20 11:06 ` Johannes Berg 0 siblings, 0 replies; 12+ messages in thread From: Johannes Berg @ 2010-02-20 11:06 UTC (permalink / raw) To: Sam Leffler Cc: Pavel Roskin, Luis R. Rodriguez, Benoit PAPILLAULT, John Linville, linux-wireless On Thu, 2010-02-18 at 17:28 -0800, Sam Leffler wrote: > Depends on your definition of channel. For MIMO devices you can have > NF per RX chain. Indeed. > NF is typically measured infrequently but the frequency is inherently > hw-specific. Right. > Given radiotap is inherently packet-oriented there was little choice > but to package noise in the way it is. If you include it only when it > changes but then you lose the ability to interpret each record > independently. Given this value is 8-bits I don't see the big deal. > Fixing drivers to include useful data seems more important. Ah. No, this is not really what I'm debating. For radiotap, we can include the value in every packet, no matter when it was measured. But for actual measurement API etc. I think we need to take more care and not require the driver to fill the status per packet. We can handle that, for radiotap, in the stack; actually getting noise information out of the card into userspace _when requested_ should have more of an up-to-date guarantee (or just not give a value) though, I think. I'd be happy to make the stack fill radiotap with whatever value we have, but the way we report it now from the driver to the stack seems completely bogus. johannes ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2010-02-20 11:07 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2010-02-17 20:05 [PATCH] mac80211: deprecate RX status noise Johannes Berg 2010-02-17 20:22 ` [PATCH v2] " Johannes Berg 2010-02-17 20:27 ` [PATCH v3] " Johannes Berg 2010-02-17 20:48 ` Benoit PAPILLAULT 2010-02-17 22:29 ` Luis R. Rodriguez 2010-02-17 22:51 ` Pavel Roskin 2010-02-18 12:07 ` Johannes Berg 2010-02-18 14:41 ` Holger Schurig 2010-02-18 14:48 ` Johannes Berg 2010-02-18 19:57 ` Kalle Valo 2010-02-18 20:27 ` Luis R. Rodriguez [not found] ` <7f9d9abf1002181728q63c9f090je175681bc520f0ad@mail.gmail.com> 2010-02-20 11:06 ` Johannes Berg
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.