WiFi Performance via Terminal
Is it possible to test the performance of a WiFi via the terminal?
Basically, I want to check how good WiFi is in some spaces of my home to figure out where to place a access points.
Can the terminal help me with that in any way?
Solution 1:
You can use the built in airport
utility to measure SNR (Signal to Noise Ratio). It's found in
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport
What I do is make a symlink to a directory in my path so I can call it without having to remember that long path:
ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport /usr/local/bin/airport
Assuming that you are connected to a WiFi network, issue the command:
airport -I
to print out information of your current connection.
$ airport -I
agrCtlRSSI: -65
agrExtRSSI: 0
agrCtlNoise: -90
agrExtNoise: 0
state: running
op mode: station
lastTxRate: 243
maxRate: 300
lastAssocStatus: 0
802.11 auth: open
link auth: wpa2-psk
BSSID: 82:2a:a9:45:f3:25
SSID: StackExchange WiFi Demo
MCS: 14
channel: 157,1
To calculate SNR, you take the RSSI value and subtract the Noise value. In this case, I have an RSSI of -65dB and a Noise value of -90dB. Calculated, that gives me 25dB. Which is a very good signal (just barely but I am behind a reinforced concrete wall away from my AP; not bad actually considering.
SNR Guidelines
- 40dB+ SNR = Excellent signal
- 25dB to 40dB SNR = Very good signal
- 15dB to 25dB SNR = Low signal
- 10dB to 15dB SNR = Very low signal
- 5dB to 10dB SNR = No signal
That said..it's not all down to what your SNR is in a given location, you should also consider things like:
- WiFi Saturation - excessive number of WiFi signals in the same area
- Client Load - number of clients attached to a given AP
- Bandwidth utilization - how much bandwidth is consumed by the clients.
If you have too many WiFi networks competing for the same bandwidth or a combination of too many users or too many bandwidth hogs (everyone watching Netflix 4K on their tablets), this will greatly affect performance beyond what your SNR can tell you.
What I prefer to do is to deploy multiple APs around the house and turn down the transmit power so they don't go very far outside the room I am trying to cover. I personally use these PoE Access Points from Ubiquiti to cover several areas of my home with great success.