mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
[bwn] correctly calculate RSSI level.
Tested: * BCM4311, PHY-G, STA mode * BCM4312, PHY-LP, STA mode * BCM4321, PHY-N, STA moe
This commit is contained in:
parent
da019dfdd5
commit
3095d9fbc6
1 changed files with 12 additions and 0 deletions
|
|
@ -5770,13 +5770,25 @@ bwn_rxeof(struct bwn_mac *mac, struct mbuf *m, const void *_rxhdr)
|
|||
rssi = max(rxhdr->phy.n.power1, rxhdr->ps2.n.power2);
|
||||
else
|
||||
rssi = max(rxhdr->phy.n.power0, rxhdr->phy.n.power1);
|
||||
#if 0
|
||||
DPRINTF(mac->mac_sc, BWN_DEBUG_RECV,
|
||||
"%s: power0=%d, power1=%d, power2=%d\n",
|
||||
__func__,
|
||||
rxhdr->phy.n.power0,
|
||||
rxhdr->phy.n.power1,
|
||||
rxhdr->ps2.n.power2);
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
/* XXX TODO: implement rssi for other PHYs */
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* RSSI here is absolute, not relative to the noise floor.
|
||||
*/
|
||||
noise = mac->mac_stats.link_noise;
|
||||
rssi = rssi - noise;
|
||||
|
||||
/* RX radio tap */
|
||||
if (ieee80211_radiotap_active(ic))
|
||||
|
|
|
|||
Loading…
Reference in a new issue