RSSI, SNR and MCS
Why signal strength is only half the story
Two clients at identical RSSI can achieve completely different data rates. One at -65 dBm gets 300 Mbps. The other at -65 dBm drops to 6 Mbps. The difference is noise floor. RSSI measures how loud the signal is. SNR measures how much louder it is than the noise. Only SNR determines MCS.
RSSI without context is meaningless
A client reports -65 dBm RSSI. Is that good? It depends entirely on the noise floor. In a clean office at -95 dBm noise floor, SNR = 30 dB and MCS 8 is achievable. In an RF-noisy warehouse at -80 dBm noise floor, SNR = 15 dB and MCS 4 is the ceiling. Same RSSI. Dramatically different throughput.
Received Signal Strength Indicator
Total power of the received signal at the antenna, measured in dBm. Reported in every 802.11 radiotap header. Tells you how far you are from the AP (roughly), but tells you nothing about whether the signal is decodable.
Signal-to-Noise Ratio
The difference between the received signal and the noise floor, in decibels. The radio demodulator works on SNR, not absolute signal strength. A weak signal in silence outperforms a strong signal in noise.
Where noise floor comes from
Thermal noise floor is physics, not configuration. It is set by channel bandwidth and temperature.
Every doubling of channel width raises the noise floor by 3 dB, costing 3 dB of SNR. A client that achieves MCS 9 on 80 MHz may drop to MCS 7 on 160 MHz at the same location because the wider channel has a higher noise floor. More bandwidth is not always better range.
Receiver sensitivity by standard - 20 MHz, 1 spatial stream
These are IEEE minimum requirements at PER less than 10%. Real radios typically perform 3-6 dB better. Sensitivity degrades 3 dB per doubling of channel width.
| MCS | Modulation | Code Rate | Min Sens (20MHz) | Min SNR |
|---|---|---|---|---|
| 0 | BPSK | 1/2 | -82 dBm | 2 dB |
| 1 | QPSK | 1/2 | -79 dBm | 5 dB |
| 2 | QPSK | 3/4 | -77 dBm | 9 dB |
| 3 | 16-QAM | 1/2 | -74 dBm | 11 dB |
| 4 | 16-QAM | 3/4 | -70 dBm | 15 dB |
| 5 | 64-QAM | 2/3 | -66 dBm | 18 dB |
| 6 | 64-QAM | 3/4 | -65 dBm | 20 dB |
| 7 | 64-QAM | 5/6 | -64 dBm | 22 dB |
| 8 | 256-QAM | 3/4 | -59 dBm | 25 dB |
| 9 | 256-QAM | 5/6 | -57 dBm | 28 dB |
| MCS | Modulation | Code Rate | Min Sens (20MHz) | Min SNR |
|---|---|---|---|---|
| 0 | BPSK | 1/2 | -82 dBm | 2 dB |
| 1 | QPSK | 1/2 | -79 dBm | 5 dB |
| 2 | QPSK | 3/4 | -77 dBm | 9 dB |
| 3 | 16-QAM | 1/2 | -74 dBm | 11 dB |
| 4 | 16-QAM | 3/4 | -70 dBm | 15 dB |
| 5 | 64-QAM | 2/3 | -66 dBm | 18 dB |
| 6 | 64-QAM | 3/4 | -65 dBm | 20 dB |
| 7 | 64-QAM | 5/6 | -64 dBm | 22 dB |
| 8 | 256-QAM | 3/4 | -59 dBm | 25 dB |
| 9 | 256-QAM | 5/6 | -57 dBm | 28 dB |
| 10 | 1024-QAM | 3/4 | -54 dBm | 31 dB |
| 11 | 1024-QAM | 5/6 | -52 dBm | 33 dB |
| MCS | Modulation | Code Rate | Min Sens (20MHz) | Min SNR |
|---|---|---|---|---|
| 0-11 | Same as 802.11ax MCS 0-11 | -82 to -52 | 2-33 dB | |
| 12 | 4096-QAM | 3/4 | -49 dBm | 36 dB |
| 13 | 4096-QAM | 5/6 | -46 dBm | 39 dB |
MCS 12/13 require SNR greater than 35 dB. In real deployments this means the client must be very close to the AP with minimal interference. Typical indoor range at MCS 13: under 3 metres.
Sensitivity vs channel width - 3 dB per doubling
Link budget - from transmitter to MCS
A link budget tracks every gain and loss from transmitter to receiver. RSSI is what comes out. From RSSI and noise floor you get SNR. SNR tells you which MCS is reachable.
In 802.11, max EIRP is regulated. US 2.4 GHz: 30 dBm. US 5 GHz: 23-30 dBm depending on channel. 6 GHz: up to 36 dBm (indoor standard power).
At 5 GHz, 10 m: FSPL = 20 + 14 + 92.4 = 66 dB. At 5 GHz, 30 m: FSPL = 29.5 + 14 + 92.4 = 76 dB. Each doubling of distance adds 6 dB of path loss.
For an AP at 20 dBm TxPwr, 3 dBi antenna (23 dBm EIRP), FSPL 66 dB, client 0 dBi: RSSI = 23 - 66 + 0 = -43 dBm. That is an excellent signal.
At -43 dBm RSSI and -95 dBm noise floor: SNR = 52 dB. Theoretical maximum MCS is far more than enough for MCS 11 (802.11ax). At this distance, channel width and interference are the limiting factors, not signal strength.
Use the sensitivity tables in Tab 2. Match SNR to the minimum required for each MCS index. Actual throughput also depends on retries, MPDU aggregation, and channel utilization. SNR sets the ceiling, not the floor.
Indoor path loss - beyond free space
FSPL gets you to the AP wall. Everything after that is partition loss stacked on top.
RSSI, SNR and rate in Wireshark
Monitor-mode captures include radiotap headers that carry signal measurements per frame. These are hardware-reported values from the capture interface, not the transmitting radio. Use them to assess link quality at the point of capture.
Every radiotap header includes antenna signal (RSSI) and optionally antenna noise (noise floor). Wireshark displays these under the Radiotap Header section of each frame.
radiotap.dbm_antsignal < -75 radiotap.datarate <= 12 HT, VHT, HE, and EHT frames carry the MCS index in their PHY headers. Wireshark decodes these in the WLAN Radio section. Cross-reference MCS with RSSI from the same frame to see if MCS selection is appropriate.
radiotap.mcs.index wlan_radio.11n.mcs_index <= 3 Rate Adaptive Algorithm (RAA) continuously adjusts MCS based on observed PER. In a PCAP, watch for a client that starts a session at high MCS then progressively drops to lower MCS over time. This is the RAA responding to increasing retries caused by worsening SNR (client moving away, or increasing interference).
wlan.ta == aa:bb:cc:dd:ee:ff && wlan.fc.type == 2 Some capture adapters report the antenna noise value in the radiotap header. When present, this allows direct SNR calculation per frame. Most adapters only report RSSI. WLANPi with supported Alfa adapters reports both fields.
radiotap.dbm_antnoise