Skip to contentSkip to conversation

p54: better rssi->dbm conversion for longbow phys

PATCH New Christian Lamparter 1 participant 1 message Aug 24, 2010 Networking drivers (wireless)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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)

Quoted 2 lines

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

---

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