Wi-Fi signal strength
This page reads the laptop's current Wi-Fi link metrics — RSSI, noise floor, channel, modulation, MCS index — directly from the operating system. Connect the laptop to your phone's hotspot, then move the phone around and watch every metric track the radio link in real time.
How to run
- Turn on your phone's personal hotspot and connect this laptop to it.
- Download the helper script and place it in a folder of your choice.
- In a terminal,
cdinto that folder and runpython3 helper.py. - Open
http://localhost:8765in your browser. (If you're already there, refresh.) - Walk the phone around the room and watch the dBm value (and TX rate) change.
pip install pyobjc-framework-CoreWLAN && python3 helper.py
Per-platform notes
macOS: install pyobjc-framework-CoreWLAN for ~4 Hz updates. Without it, the helper falls back to system_profiler, which works but updates only every ~8 s. SSID and BSSID are hidden by default unless you grant Terminal Location Services permission.
Linux: the helper uses iw dev <iface> link. No extra setup.
Windows: the helper uses netsh wlan show interfaces. Signal is reported as a percentage and converted to a dBm estimate (−100 + pct/2).
Link details
Shannon ceiling
The Shannon–Hartley theorem caps the data rate any link can
carry: C = B · log2(1 + SNR).
Here B is the channel width and SNR is the linear
signal-to-noise ratio (10SNRdB/10).
MCS reference table
The MCS (Modulation and Coding Scheme) index encodes the modulation and the forward-error-correction code rate. At a given channel width and number of spatial streams, MCS determines the data rate. The row matching your current link is highlighted.
| MCS | Modulation | Coding | 20 MHz | 40 MHz | 80 MHz | 160 MHz |
|---|
Per-stream data rates shown for 802.11ax (Wi-Fi 6) at long guard interval (0.8 µs). Multiply by the number of spatial streams (NSS) to get the link's TX rate. 802.11ac tops out at MCS 9 (no 1024-QAM); 802.11n cycles MCS 0–7 across spatial streams (MCS 8–15 = same modulation/coding × NSS 2).