Terminal – Checking WiFi Performance on macOS

command lineperformanceterminalwifi

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?

Best Answer

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.