Ever wondered why your internet connection feels sluggish or drops unexpectedly on your Linux machine? A weak WiFi signal might be the culprit. Fortunately, Linux offers many straightforward ways to measure your wireless network connection's signal strength right from the command line. In this guide, we'll discuss about a few methods to check WiFi signal strength in Linux with examples.
Table of Contents
Check WiFi Signal Strength from Commandline in Linux
To check your WiFi signal strength from the command line in Linux, you can use various tools depending on your distribution and the desktop environment you are using. Here I have given 5 methods.
1. Display WiFi Signal Strength using nmcli Command
nmcli is a command-line client for NetworkManager and is more modern and versatile. The nmcli command also allows you to see the signal strength for all nearby networks, which can be useful for troubleshooting or assessing the quality of your current connection compared to others.
To display your WiFi signal strength using nmcli, open a terminal and run the following command:
nmcli dev wifi
You will see a list of available WiFi networks along with their signal strength (in percentage). Your currently connected network will be highlighted with an asterisk symbol:
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY
xx:xx:xx:xx:xx:xx My_Wifi_jio_4g Infra 1 130 Mbit/s 100 ▂▄▆█ WPA2
* xx:xx:xx:xx:xx:xx My_Wifi_jio_5g Infra 36 270 Mbit/s 92 ▂▄▆█ WPA2
Look for the SIGNAL column, which shows the signal strength as a percentage. A higher percentage indicates a stronger signal.
2. Find WiFi Signal Strength using iw Command
iw is a newer, more powerful tool for configuring wireless devices.
Open a Terminal and run the following command with sudo privilege:
sudo iw dev
This will list the available wireless interfaces. Identify and pick your wireless interface (e.g., wlo1).
phy#0
Unnamed/non-netdev interface
wdev 0x2
addr xx:xx:xx:xx:xx:xx
type P2P-device
Interface wlo1
ifindex 3
wdev 0x1
addr xx:xx:xx:xx:xx:xx
ssid My_Wifi_jio_5g
type managed
channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz
txpower 20.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0And then, run the following command to get the signal strength:
sudo iw dev wlo1 link
Look for the signal field, which indicates the signal strength in dBm (decibels relative to a milliwatt).
Connected to xx:xx:xx:xx:xx:xx (on wlo1)
SSID: My_Wifi_jio_5g
freq: 5180
RX: 9187127 bytes (8331 packets)
TX: 1017084 bytes (5624 packets)
signal: -29 dBm
rx bitrate: 866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2
tx bitrate: 866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2
bss flags: short-slot-time
dtim period: 2
beacon int: 100As you see in the output above, my Wifi signal is -29 dBM. A value closer to 0 means a stronger signal (e.g., -29 dBm is better than -39 dBm).
3. View WiFi Signal Strength Level using iwconfig Command
iwconfig is part of the wireless-tools package. It displays various parameters of your wireless connection, including signal strength.
Open a terminal and run iwconfig command with sudo privilege:
sudo iwconfig
Look for the interface associated with your WiFi connection, usually named wlan0, wlp2s0, or similar. You will see something like this:
wlan0 IEEE 802.11 ESSID:"your-network-name"
Mode:Managed Frequency:2.437 GHz Access Point: XX:XX:XX:XX:XX:XX
Bit Rate=72.2 Mb/s Tx-Power=20 dBm
Retry short long Limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=70/70 Signal level=-40 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:20 Missed beacon:0Look for the Link Quality and Signal level values.
- Link Quality: This shows the quality of the connection. A value like
70/70indicates excellent signal quality. - Signal level: This shows the strength of the signal, usually in dBm (decibels relative to a milliwatt). A value closer to 0 means a stronger signal (e.g.,
-40 dBmis better than-70 dBm).
4. Find WiFi Signal Strength using iwlist Command
iwlist is another tool available in the wireless-tools package that provides detailed information about wireless network interfaces and their associated networks.
Open a terminal and run the following command with sudo permission:
sudo iwlist <interface> scanning
This will show you a detailed information about the given wireless network interface. Look for the Signal Level value. This should be your Wifi connection's signal strength.
If you want to filter the signal level from the output, you can use grep command like below:
sudo iwlist <interface> scanning | grep -i --color signal
Replace <interface> with your WiFi interface name (e.g., wlan0, wlp2s0, etc.). You can find your interface name using the iwconfig or nmcli dev status command.
For example, if your interface is wlan0, the command would be:
sudo iwlist wlan0 scanning | grep -i --color signal
Here is What this command does:
iwlist wlan0 scanning: Scans all available WiFi networks within range of the interface (wlan0in this example).grep -i --color signal: Filters the output to display only the lines that contain the signal strength information, and highlights the word "signal" in color.
Sample Output:
Signal level=-45 dBm
Signal level=-70 dBm
Signal level=-60 dBm - Signal level: Shows the signal strength in dBm (decibels relative to a milliwatt). As with
iwconfig, a value closer to 0 is stronger (e.g.,-45 dBmis stronger than-70 dBm).
5. Display Wireless Network Connection Signal Strength with wavemon
wavemon is a ncurses-based monitoring application for wireless network devices.
Install wavemon if it's not already installed:
sudo apt install wavemon # For Debian/Ubuntu sudo dnf install wavemon # For Fedora/RHEL
Once installed, run wavemon command:
wavemon
This will open an interactive interface showing various details about your wireless connection, including signal strength.
We have already published a dedicated tutorial about Wavemon in our blog. Please check the following link to know more about Wavemon:
These methods should help you check your WiFi signal strength from the command line in Linux. Choose the one that best fits your needs and environment.
Which Command line Tool is Best for Checking WiFi Signal Strength in Linux
In this tutorial, we have discussed 5 different command line tools to check the signal strength of a Wifi network connection in Linux. Each of these tools has its strengths, and my preference depends on the context in which you need to check WiFi signal strength:
nmcli: I prefer this tool for quick and straightforward checks. It integrates well with NetworkManager, offers a clean output, and is easy to use for both beginners and experienced users. The output is in a human-readable format, making it ideal for quick assessments of the WiFi environment.iw: I favoriwwhen I need more detailed and flexible control over wireless interfaces. It's powerful and supports modern WiFi standards. For scripting or advanced diagnostics,iwis excellent.wavemon: I preferwavemonwhen I need a real-time, interactive view of WiFi signal strength and other wireless parameters. It provides a visual interface in the terminal, which is helpful when monitoring signal fluctuations or troubleshooting connectivity issues.iwconfigandiwlist: While these are useful for basic checks, I consider them somewhat outdated compared tonmcliandiw. I use them when working on older systems or when I need simple, straightforward information quickly.
For general use, nmcli is my go-to for its simplicity and integration with NetworkManager. For more detailed or interactive monitoring, I lean towards iw or wavemon.
My Personal Recommendation
Among all the tools, my preferred tool for checking WiFi signal strength from the command line would be iw. Here's why:
- Modern and Maintained:
iwis a newer tool compared toiwconfigandiwlist, which are older and part of the deprecatedwireless-toolspackage.iwis part of theiwpackage, which is actively maintained and aligns with the modernnl80211wireless stack. - Rich Information:
iwprovides detailed information about the wireless interface, including signal strength, link quality, and more. It's more versatile and can handle newer wireless technologies and configurations. - Ease of Use: The command syntax for
iwis straightforward and easy to use. For example, to check the signal strength, you can simply use:
iw dev <interface> link
This command will provide you with the current link quality, signal level, and other relevant information.
- Scripting Friendly: The output of
iwis well-structured and easier to parse programmatically, making it a good choice for scripting and automation.
Here's an example of how you can use iw to check the signal strength:
iw dev wlan0 link
This command will output something like:
Connected to 00:11:22:33:44:55 (on wlan0)
SSID: MyNetwork
freq: 2437
RX: 123456 bytes (1234 packets)
TX: 654321 bytes (6543 packets)
signal: -51 dBm
tx bitrate: 54.0 MBit/sIn summary, iw is my preferred tool for checking WiFi signal strength due to its modernity, ease of use, and rich feature set.
So, what's your preferred tool for viewing Wifi signal from command line in Linux? Share your tips via the comment section below.
Related Read:



