use signal_strength to get noise from signal_power

pull/224/head
feriolisara 3 years ago
parent 3476184ed1
commit e4eb4c5faa
No known key found for this signature in database
GPG Key ID: 53AE81FF7AAB4CFB

@ -159,6 +159,9 @@ CONFIG_PLATFORM_NV_TK1_UBUNTU = n
CONFIG_PLATFORM_RTL8197D = n
CONFIG_PLATFORM_AML_S905 = n
CONFIG_PLATFORM_ZTE_ZX296716 = n
CONFIG_RTW_HOSTAPD_ACS = n
CONFIG_BACKGROUND_NOISE_MONITOR = n
CONFIG_RTW_DEBUG = n
###############################################################
CONFIG_DRVEXT_MODULE = n

@ -4040,6 +4040,7 @@ static sint fill_radiotap_hdr(_adapter *padapter, union recv_frame *precvframe,
/* channel flags */
tmp_16bit = 0;
s8 snr = 0;
if (pHalData->current_band_type == 0)
tmp_16bit |= cpu_to_le16(IEEE80211_CHAN_2GHZ);
else
@ -4049,9 +4050,15 @@ static sint fill_radiotap_hdr(_adapter *padapter, union recv_frame *precvframe,
if (pattrib->data_rate < 4) {
/* CCK */
tmp_16bit |= cpu_to_le16(IEEE80211_CHAN_CCK);
// understand with value take when CCK
// snr = pattrib->phy_info.rx_snr[0];
} else {
/* OFDM */
tmp_16bit |= cpu_to_le16(IEEE80211_CHAN_OFDM);
// when is OFMD, take the first value of the array for snr
snr = pattrib->phy_info.rx_snr[0];
}
} else
tmp_16bit |= cpu_to_le16(IEEE80211_CHAN_DYN);
@ -4061,27 +4068,23 @@ static sint fill_radiotap_hdr(_adapter *padapter, union recv_frame *precvframe,
/* dBm Antenna Signal */
rtap_hdr->it_present |= (1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL);
hdr_buf[rt_len] = pattrib->phy_info.recv_signal_power;
rt_len += 1;
/* dBm Antenna Noise */
rtap_hdr->it_present |= (1 << IEEE80211_RADIOTAP_DBM_ANTNOISE);
s16 avg_snr = 0;
int i;
for (i = 0; i < pHalData->NumTotalRFPath; i++) {
avg_snr += pattrib->phy_info.rx_snr[i];
if (snr == 0) {
hdr_buf[rt_len] = 0;
} else {
hdr_buf[rt_len] = pattrib->phy_info.recv_signal_power - (snr);
}
// TODO understand how to manage the four values
hdr_buf[rt_len] = pattrib->phy_info.recv_signal_power - (s8)(avg_snr/4);
rt_len += 1;
#if 0
/* Signal Quality */
rtap_hdr->it_present |= (1 << IEEE80211_RADIOTAP_LOCK_QUALITY);
hdr_buf[rt_len] = pattrib->phy_info.signal_quality;
rt_len += 1;
#endif
/* Antenna */
//rtap_hdr->it_present |= (1 << IEEE80211_RADIOTAP_ANTENNA);

Loading…
Cancel
Save