How to Monitor Access Point Signal Strength with wifi-linux

As a python geek I love exploring new python tools on github that target the linux users. Today I discovered a simple application written in python programming language that can be used to monitor access point signal strength.

I have been experimenting for about two hours with wifi-linux and it works great but I would like to see some unittests in the near future from the author as the command plot is not working on my machine and is also causing some errors.

What is wifi-linux

According to the official file on author's github account wifi-linux is a very simple python script which collects RSSI information about wifi access points around you and draws graphics showing RSSI activity.

The author states that the program also draws RSSI activity graphic and this can be generated with the command plot but unfortunetly it is not working for me. wifi-linux supports other commands such as bp to add a breakpoint, print to print some statistics and start changer.

The wifi-linux application has the folowing dependencies:

  • dbus-python
  • gnuplot-py

So first we have to install all the package dependencies for our project in order to run it in our linux machine.

Install pakages required by wifi-linux

I tried to install python-dbus by using the pip tool which is used to manage python packages but it did not work and the reason for this is that pip looks for, which dbus-python doesn't have. So the following command is not going to work.

pip install dbus-python

And to make sure it does not work give it a try. It is a very high probability that you will get the following error displayed on your console.

IOError: [Errno 2] No such file or directory: '/tmp/pip_build_oltjano/dbus-python/'

How did I manage to solve this problem? It is very simple. I installed the the system package for the Python DBUS bindings using the following command.

sudo apt-get install python-dbus

The above command will work only in machines that make use of the apt-get package manager such as Debian and Ubuntu.

Then the second dependency we have to take care is the gnuplot-py. Download it, extract using the tar utility and then run install to install the python package.

First step is to download gnuplot-py.


Then use the tar utility to extract it.

tar xvf gnuplot-py-1.8.tar.gz

Then use the cd command to change directory.

cd gnuplot-py-1.8

Once there then run the following command to install the package gunplot-py on your system.

sudo install

Once the installation is finished you are ready to run the wifi-linux on your machine. Just download it and use the following command to run the script.

Download wifi-linux on your local machine by using the following command.


Extract the archive and then use the following command to run the python script


The following screenshot shows wifi-linux in action.

wifi-linux to monitor wifi signal strength

Then the command bp is executed to add a breakpoint like shown below.

the bp command in wifi-linux

The command print can be used to display stats on the console of your machine. An example of its usage is shown below.

the print command

2 Comments... add one

  1. Thanks for the blogpost and for the feedback!
    From what I see here - `gnuplot-x11` package seems to be missing.
    Wrote this tool ~6 years ago and to be honest abandoned it for a while. Now since it seems to be used I can rework it a bit so it has fewer dependencies, updating the documentation seems to be necessary as well.
    Interesting that not so many new tools for the same goal appeared recently on stage.
    I used wifi-linux mainly to discover local positioning possibilities with wifi access points, curious about the other use-cases as well so I could get some insights on how to better rework it.


Leave a Comment