Stand Alone dump1090-mutability - Making it work - SDR ADS-B

Miscellaneous In-House Builds and Projects.
Post Reply
admin
Site Admin
Posts: 146
Joined: 26 Dec 2023 13:05

Stand Alone dump1090-mutability - Making it work - SDR ADS-B

Post by admin »

For decades, Dump1090 was the "Default" Linux application for decoding ADS-B signals on Linux. As with many other Open Source projects, Forks were created, and development moved to new and improved versions. This is the case with dump1090.

Currently, one of these forks -- dump1090-mutability -- is the version available in the repositories of some common Linux distributions -- Specifically Ubuntu and Q4OS.

This guide is also for people that just want the stand-alone version from the distro repository, and for people working on a full PC, not a Raspberry PI or similar.

Steps:
-- Install dump1090-mutability from your distribution:

Code: Select all

sudo apt install dump1090-mutability
During the install it will prompt you for running it at startup. I use my SDR for other things, so I didn't want dumb1090 "grabbing" it, so I answered no.

-- install lighttpd from your distribution:

Code: Select all

apt-get install lighttpd
-- dump1090-mutability sends data to the web interface by writing json files to a path under /run.
We must create this directory. Since - again - I want it to work as a normal user app, we must make this directory writable by everyone:

Code: Select all

sudo mkdir /run/dump1090-mutability
sudo chmod 777 /run/dump1090-mutability
/run/ is a symlink to /var/run/. If you do not have a /run/, create the file in /var/run/

-- Start dump1090-mutability with an appropriate command line:

Code: Select all

dump1090-mutability --interactive  --write-json /run/dump1090-mutability --lat <your lat> --lon <your lon> --gain -10
Note: --gain -10 means "automatic gain". This improved my range significantly over the defaults.

-- Launch a web browser, and enter the following in the URL bar:

Code: Select all

http://localhost/dump1090/gmap.html
Note that you can also connect to the host running dump1090-mutability from another PC by entering:

Code: Select all

http://x.x.x.x/dump1090/gmap.html
Where x.x.xx. is the IP address of host machine running dump1090-mutabiliy.



If it stops working after a re-boot or power cycle:
See if the directory /run/dump1090-mutability/ has disappeared.
Note that this is actually a good thing. /run/ is actually in memory. This is done to prevent wear on an SD card, or Solid State or mechanical hard drive.

if so, do one of the following:
Option 1: Recreate it manually. This is a fine solution for occasional use:

Code: Select all

sudo mkdir /var/dump1090-mutability
sudo chmod 777 /var/dump1090-mutability
Option 2: There is now a centralized mechanism for the creation of temporary files and directories such as these. A service wishing to use this method can remove mkdir commands in its own startup script and instead place a .conf file in /etc/tmpfiles.d, /run/tmpfiles.d, or /usr/lib/tmpfiles.d, with Ubuntu services seeming to prefer the last option. for your case create a file /usr/lib/tmpfiles.d/dump1090-mutability.conf.
the content of the file would be:

Code: Select all

d /var/run/dump1090-mutability   0777 root root
Here d stands for directory, next to it is the path, permission, owner and group.
This will create /var/run/dump1090-mutability/ on reboot.

Option 3: If using systemd, there is a configuration item explicitly for this.

Code: Select all

[Service]
RuntimeDirectory=dump1090-mutability
If set, one or more directories by the specified names will be created below /run, and will be owned by the user and group specified in User= and Group=. This means the service does not need permissions to write directly to /run.

[more specific details will be added to this if needed.]
Post Reply