Listing all WiFi Access Points around you can be hard sometimes, but this is made easier if you use nmcli to list all of the networks with little fuss.
Use nmcli like this to easily get a textural listing of the available access points.
┏jcartwright@jcartwright-System-Version╼╸╸╸╸╸╸╾ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◉:~$ nmcli dev wifi list IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY C8:14:51:5F:A9:54 RustyCat Infra 52 405 Mbit/s 87 ▂▄▆█ WPA1 WPA2 34:6B:46:D0:28:28 OPTUS_D02825 Infra 11 130 Mbit/s 54 ▂▄__ WPA2 AC:B6:87:D3:CB:2B OPTUS_D3CB28N Infra 6 540 Mbit/s 50 ▂▄__ WPA2 WPA3 24:7F:20:6C:5A:40 Telstra6C5A3A Infra 11 130 Mbit/s 47 ▂▄__ WPA2 62:22:F3:85:2C:39 Telstra20E859 Infra 1 130 Mbit/s 42 ▂▄__ WPA2 60:32:B1:F4:BF:2E USO Infra 2 130 Mbit/s 40 ▂▄__ WPA2 D6:35:1D:DB:03:24 TelstraDB031C Infra 11 540 Mbit/s 40 ▂▄__ WPA2 62:B6:87:D3:CB:2C -- Infra 161 540 Mbit/s 39 ▂▄__ WPA2 WPA3 34:6B:46:D0:28:27 OPTUS_D02825_5GHz Infra 36 405 Mbit/s 37 ▂▄__ WPA2 AC:B6:87:D3:CB:2A OPTUS_D3CB28N Infra 161 540 Mbit/s 35 ▂▄__ WPA2 WPA3 D6:92:5E:20:E8:61 Telstra20E859 Infra 11 540 Mbit/s 34 ▂▄__ WPA2 9C:C9:EB:84:E3:05 Telstra1B31 Infra 11 195 Mbit/s 30 ▂___ WPA2 D6:35:1D:DB:03:1C TelstraDB031C Infra 132 540 Mbit/s 27 ▂___ WPA2 62:35:1D:DB:03:1D -- Infra 132 540 Mbit/s 24 ▂___ WPA2 8A:92:5E:20:E8:5A -- Infra 161 540 Mbit/s 22 ▂___ WPA2 D6:92:5E:20:E8:59 Telstra20E859 Infra 161 540 Mbit/s 20 ▂___ WPA2 92:22:F3:85:2C:32 -- Infra 100 540 Mbit/s 19 ▂___ WPA2 64:69:4E:91:F3:8E SMA3011518747 Infra 9 65 Mbit/s 15 ▂___ WPA2 |
This will even list Access Points that do not have a name. This is indeed very useful.
The AP with the strongest signal is at the top.
Run this command to list all available connections for Network Manager.
┏jcartwright@jcartwright-System-Version╼╸╸╸╸╸╸╾ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◉:~$ nmcli dev DEVICE TYPE STATE CONNECTION eno1 ethernet connected netplan-eno1 lo loopback connected (externally) lo wlx90de80d9ed01 wifi disconnected -- |
If you are using iwlist, instead of nmcli, this command will list all Access Points available.
┏jcartwright@jcartwright-System-Version╼╸╸╸╸╸╸╾ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◉:~$ sudo iwlist wlx90de80d9ed01 scanning | grep ESSID ESSID:"Telstra20E859" ESSID:"OPTUS_D3CB28N" ESSID:"Telstra6C5A3A" ESSID:"Telstra20E859" ESSID:"TelstraDB031C" ESSID:"OPTUS_D02825" ESSID:"Telstra1B31" ESSID:"OPTUS_D02825_5GHz" ESSID:"RustyCat" ESSID:"TelstraDB031C" ESSID:"" ESSID:"OPTUS_D3CB28N" ESSID:"" ESSID:"USO" ESSID:"SMA3011518747" ESSID:"" |
To list the signal strength as well as the Frequency, use an extended regular expression with grep and this will work.
┏jcartwright@jcartwright-System-Version╼╸╸╸╸╸╸╾ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◉:~$ sudo iwlist wlx90de80d9ed01 scanning | grep -E 'ESSID|Frequency|Quality' Frequency:2.437 GHz (Channel 6) Quality=40/70 Signal level=-70 dBm ESSID:"OPTUS_D3CB28N" Frequency:2.462 GHz (Channel 11) Quality=38/70 Signal level=-72 dBm ESSID:"Telstra6C5A3A" Frequency:2.462 GHz (Channel 11) Quality=36/70 Signal level=-74 dBm ESSID:"TelstraDB031C" Frequency:2.462 GHz (Channel 11) Quality=38/70 Signal level=-72 dBm ESSID:"OPTUS_D02825" Frequency:2.462 GHz (Channel 11) Quality=30/70 Signal level=-80 dBm ESSID:"Telstra1B31" Frequency:5.18 GHz (Channel 36) Quality=36/70 Signal level=-74 dBm ESSID:"OPTUS_D02825_5GHz" Frequency:5.26 GHz (Channel 52) Quality=62/70 Signal level=-48 dBm ESSID:"RustyCat" Frequency:5.66 GHz (Channel 132) Quality=26/70 Signal level=-84 dBm ESSID:"TelstraDB031C" Frequency:5.66 GHz (Channel 132) Quality=26/70 Signal level=-84 dBm ESSID:"" Frequency:5.805 GHz Quality=32/70 Signal level=-78 dBm ESSID:"OPTUS_D3CB28N" Frequency:5.805 GHz Quality=32/70 Signal level=-78 dBm ESSID:"" Frequency:2.422 GHz (Channel 3) Quality=34/70 Signal level=-76 dBm ESSID:"USO" Frequency:5.18 GHz (Channel 36) Quality=41/70 Signal level=-69 dBm ESSID:"moto g82 5G_1020" Frequency:2.412 GHz (Channel 1) Quality=34/70 Signal level=-76 dBm ESSID:"Telstra20E859" Frequency:2.412 GHz (Channel 1) Quality=32/70 Signal level=-78 dBm ESSID:"TPW4G_3Th254" Frequency:2.462 GHz (Channel 11) Quality=31/70 Signal level=-79 dBm ESSID:"Telstra20E859" Frequency:5.805 GHz Quality=20/70 Signal level=-90 dBm ESSID:"" Frequency:2.437 GHz (Channel 6) Quality=21/70 Signal level=-89 dBm ESSID:"Telstra7375DE" Frequency:5.805 GHz Quality=23/70 Signal level=-87 dBm ESSID:"Telstra20E859" |
This is a very simple trick, but nmcli does show a nice graph of signal strength. That is very helpful.
Yet another useful tool is wavemon. Install this on Ubuntu by running sudo apt install wavemon.
Then type sudo wavemon to run this app.
Press F3 to scan for all wireless Access Points. Press s to sort by signal strength. This is an amazing app. It will even list all hidden SSID instances.