Search Linux Wireless

Re: [PATCH 1/3] ath9k: fix signal strength of received packets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Apr 02, 2011 at 03:39:46AM +0200, Felix Fietkau wrote:
> The reported RSSI values are relative to the calibrated noise floor, not
> relative to a hardcoded value of -95.
> 
> Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
> ---
>  drivers/net/wireless/ath/ath9k/recv.c |   11 ++++++++++-
>  1 files changed, 10 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
> index a9c3f46..87d96c5 100644
> --- a/drivers/net/wireless/ath/ath9k/recv.c
> +++ b/drivers/net/wireless/ath/ath9k/recv.c
> @@ -959,6 +959,9 @@ static int ath9k_rx_skb_preprocess(struct ath_common *common,
>  				   struct ieee80211_rx_status *rx_status,
>  				   bool *decrypt_error)
>  {
> +	struct ath_hw *ah = common->ah;
> +	int noise;
> +
>  	memset(rx_status, 0, sizeof(struct ieee80211_rx_status));
>  
>  	/*
> @@ -979,7 +982,13 @@ static int ath9k_rx_skb_preprocess(struct ath_common *common,
>  
>  	rx_status->band = hw->conf.channel->band;
>  	rx_status->freq = hw->conf.channel->center_freq;
> -	rx_status->signal = ATH_DEFAULT_NOISE_FLOOR + rx_stats->rs_rssi;
In some cases noisefloor values were not reliable and so using
default works for most of the cases. Please refer to our earlier
commit a59b5a5e684652eec035c869ab8911a1689c8f53. Let me see if i
can get more information.
> +
> +	if (ah->curchan)
> +		noise = ah->curchan->noisefloor;
Even otherwise, noisefloor can be zero sometimes and so it can
return incorrect signal strengths.. Please refer to some samples.

BSS 00:10:18:90:3a:9e (on wlan56)
        TSF: 110532917222 usec (1d, 06:42:12)
        freq: 2462
        beacon interval: 100
        capability: ESS (0x0001)
        signal: 50.00 dBm
        last seen: 20 ms ago
        SSID: Broadcom
        Supported rates: 1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0
        DS Parameter set: channel 11
        ERP: NonERP_Present Use_Protection Barker_Preamble_Mode
        Extended supported rates: 6.0 9.0 12.0 48.0
        HT capabilities:

SS 00:03:7f:0b:a6:1b (on wlan56)
        TSF: 4376472960 usec (0d, 01:12:56)
        freq: 2462
        beacon interval: 100
        capability: ESS Privacy ShortPreamble (0x0031)
        signal: 60.00 dBm
        last seen: 8 ms ago
        SSID: STRESS-HB125

> +	else
> +		noise = ATH_DEFAULT_NOISE_FLOOR;
> +
> +	rx_status->signal = noise + rx_stats->rs_rssi;
>  	rx_status->antenna = rx_stats->rs_antenna;
>  	rx_status->flag |= RX_FLAG_MACTIME_MPDU;
>  
> -- 
> 1.7.3.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux