Oddly nobody here mentions horst. Quit a nice CLI package for exactly this (and a little more).
From their github:
horst is a small, lightweight IEEE802.11 WLAN analyzer with a text interface. Its basic function is similar to tcpdump, Wireshark or Kismet, but it's much smaller and shows different, aggregated information which is not easily available from other tools. It is made for debugging wireless LANs with a focus on getting a quick overview instead of deep packet inspection and has special features for Ad-hoc (IBSS) mode and mesh networks. It can be useful to get a quick overview of what's going on all wireless LAN channels and to identify problems.
I strongly recommend iwd over wpa_supplicant. It is simple, intuitive, and just works. I have been using it on my laptop for over a year with no issues.
procfs is unlikely. Scanning is not something that the kernel does by itself, a userspace application (usually wpa_supplicant) needs to perform it actively. You can see this by running e.g.
sudo iw dev $IFACE scan
on a system running wpa_supplicant (e.g. through NetworkManager). Every so often you'll get a "Device busy" error because wpa_supplicant is scanning already.
Then I had a problem with wicd - interface issues caused by the deprecation of ifconfig in favor of "ip" tools (Debian). Wicd is a set of Python scripts that call ifconfig.
So I submitted a patch to fix my issue, and tied it to the multiple bug requests already reporting the issue...
Wicd hasn't been updated in years though. With ifconfig starting to break (at least in some situations) it's going to need some updates soon.
I switched back to nm and found it's working extremely well these days.
One of the nice things about OpenSUSE is that you can use Yast from the gui or the console and it works identically. It's very nice.
You can hand off configuration to Network Manager, or just configure everything in Yast's Network module.
I agree and that's what I use most of the time, but sometimes nothing beats the simplicity of doing
nmcli c my-wifi up
When you know you want to connect to a Wi-Fi network you know is in range. Also, nmtui doesn't support "enterprise" Wi-Fi (PEAP, for eduroan, for instance).
I use `wifi-menu` to connect to new networks. It creates the profile for me (generally just works) and everything. Otherwise, `wavemon` for general scanning.
From their github:
horst is a small, lightweight IEEE802.11 WLAN analyzer with a text interface. Its basic function is similar to tcpdump, Wireshark or Kismet, but it's much smaller and shows different, aggregated information which is not easily available from other tools. It is made for debugging wireless LANs with a focus on getting a quick overview instead of deep packet inspection and has special features for Ad-hoc (IBSS) mode and mesh networks. It can be useful to get a quick overview of what's going on all wireless LAN channels and to identify problems.
https://github.com/br101/horst