All of lore.kernel.org
 help / color / mirror / Atom feed
* [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

* 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.