p54: better rssi->dbm conversion for longbow phys

This patch should fix the dodgy signal and noise value
reports for most longbow (p54spi) users:

e.g.: (an older tcpdump extract)
> 2.0 Mb/s 2437 MHz (0x00a0) -49dB signal -41dB noise
> 1.0 Mb/s 2437 MHz (0x00a0) 4dB signal -41dB noise

The formula is taken from stlc45xx:
http://gitorious.org/stlc45xx/mainline/blobs/master/stlc45xx.c#line1199

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Christian Lamparter 2010-08-24 23:29:05 +02:00 committed by John W. Linville
parent 2c15a0cf27
commit 45f7e3116f
1 changed files with 4 additions and 4 deletions

View File

@ -275,15 +275,15 @@ static int p54_rssi_to_dbm(struct p54_common *priv, int rssi)
{ {
int band = priv->hw->conf.channel->band; int band = priv->hw->conf.channel->band;
if (priv->rxhw != 5) if (priv->rxhw != 5) {
return ((rssi * priv->rssical_db[band].mul) / 64 + return ((rssi * priv->rssical_db[band].mul) / 64 +
priv->rssical_db[band].add) / 4; priv->rssical_db[band].add) / 4;
else } else {
/* /*
* TODO: find the correct formula * TODO: find the correct formula
*/ */
return ((rssi * priv->rssical_db[band].mul) / 64 + return rssi / 2 - 110;
priv->rssical_db[band].add) / 4; }
} }
/* /*