RTL-SDR - ADS-B

Posted on Aug 4, 2024

ADS-B (Automatic Dependent Surveillance–Broadcast) works on 1090 MHz. It’s a broadcast signal by aircrafts.

Install

sudo apt update
sudo apt install -y dump1090-mutability

Run

dump1090-mutability
dump1090-mutability --interactive
dump1090-mutability --ifile file

Plug in a RTL-SDR dongle and run the following command.

dump1090-mutability --interactive

Output.

Hex    Mode  Sqwk  Flight   Alt    Spd  Hdg    Lat      Long   RSSI  Msgs  Ti\
-------------------------------------------------------------------------------
 39E4AC S     7612  AFXXXET  35000  427  210   37.522   -3.995 -23.4    75  0
 4CAE61 S     4020  RYXXXSA  37000  435  227   37.000   -4.133 -23.6    57  0

Web interface

It’s possible to run web interface and see a map.

sudo apt install -y lighttpd

Enable the dump1090 module.

sudo lighty-enable-mod dump1090
sudo systemctl force-reload lighttpd

Go to http://localhost/dump1090.

I see the map but don’t see the aircrafts. There is an error message:

Problem fetching data from dump1090.
AJAX call failed (error: Not Found). Maybe dump1090 is no longer running?
The displayed map data will be out of date.

Note: TODO: Look at the link https://www.reddit.com/r/RTLSDR/comments/1615ko0/dump1090mutability_on_ubuntu_2204_doesnt_produce/ and this one https://es.flightaware.com/adsb/piaware/install.

Issue

Before the dump1090-mutability installation, I cloned the https://github.com/MalcolmRobb/dump1090.git repository and tried to compile it, but without success.

make

Output.

gcc -g -o dump1090 dump1090.o anet.o interactive.o mode_ac.o mode_s.o net_io.o `pkg-config --libs librtlsdr` -lpthread -lm 
/usr/bin/ld: interactive.o:/home/digitalnerd/dump1090/dump1090.h:373: multiple definition of `Modes'; dump1090.o:/home/digitalnerd/dump1090/dump1090.h:373: first defined here
/usr/bin/ld: interactive.o:/home/digitalnerd/dump1090/dump1090.h:238: multiple definition of `tDF'; dump1090.o:/home/digitalnerd/dump1090/dump1090.h:238: first defined here
/usr/bin/ld: mode_ac.o:/home/digitalnerd/dump1090/dump1090.h:373: multiple definition of `Modes'; dump1090.o:/home/digitalnerd/dump1090/dump1090.h:373: first defined here
/usr/bin/ld: mode_ac.o:/home/digitalnerd/dump1090/dump1090.h:238: multiple definition of `tDF'; dump1090.o:/home/digitalnerd/dump1090/dump1090.h:238: first defined here
/usr/bin/ld: mode_s.o:/home/digitalnerd/dump1090/dump1090.h:373: multiple definition of `Modes'; dump1090.o:/home/digitalnerd/dump1090/dump1090.h:373: first defined here
/usr/bin/ld: mode_s.o:/home/digitalnerd/dump1090/dump1090.h:238: multiple definition of `tDF'; dump1090.o:/home/digitalnerd/dump1090/dump1090.h:238: first defined here
/usr/bin/ld: net_io.o:/home/digitalnerd/dump1090/dump1090.h:373: multiple definition of `Modes'; dump1090.o:/home/digitalnerd/dump1090/dump1090.h:373: first defined here
/usr/bin/ld: net_io.o:/home/digitalnerd/dump1090/dump1090.h:238: multiple definition of `tDF'; dump1090.o:/home/digitalnerd/dump1090/dump1090.h:238: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:24: dump1090] Error 1

References