FlightAware Discussions

ADS-B Receiver Project Setup Scripts


That’s an interesting (and kind of expensive) way to build a combiner :slight_smile:

Saves you from making the cables have equal length.


You’ll tend to get better performance with a sectorized setup that has separate receivers vs. trying to combine the RF feeds; you get less “fruit” (overlapping messages that are hard to distinguish)


Today morning I formatted microSD Card, wrote “2017-06-21-raspbian-jessie-lite.img”.
Then without changing version number of Piaware in file “variables.sh”, I gave command “./install.sh”, and installed dump1090-mutability and Piaware data feeder successfully. To my surprise, when I checked the version number of Piaware data feeder, it was NOT 3.1.0 (as in file variables.sh), but is the latest version 3.5.0 !!!

pi@raspberrypi:~ $ dpkg -s piaware | grep Version
Version: 3.5.0

pi@raspberrypi:~ $ dpkg -s dump1090-mutability | grep Version
Version: 1.15~dev


You can find the Current Version of Planefinder data feeder “pfclient” available at Planefinder site by following method:

#Download planefinder’s pfclient download page, and save it as file pfc
~$ sudo wget -O pfc "https://planefinder.net/sharing/client"

#Read from saved file pfc, the line containing word armhf.deb
~$ grep 'armhf.deb' pfc

#Above command will give following output which contains current version of pfclient for RPi
<a  h ref = "http://client.planefinder.net/pfclient_3.7.20_armhf.deb">;

#Alternatively, if following command is used,
~$ grep 'armhf.deb' pfc | grep -o -P '(?<=pfclient_).*(?=_armhf.deb)'

#it will give directly version number like below

#After noting the version number, remove Plane Finder page saved as file pfc
~$ sudo rm pfc


Any idea how i can remove this from my pi? I did a manual install but cant see how to remove it.



Can you please elaborate what do you mean by “this”? Is it the data feeders, or web portal, or dump1090 you want to remove?


[SOLVED] Broken installation of dump1090-fa, Planefinder and Adsbexchange feeders [SOLVED]

Installation of dump1090-mutability, piaware data feeder, Flightradar24 data feeder, and Web Portal / Graphs is working ok.
Installation of dump1090-fa, Planefinder feeder, and Adsbexchange feeder is broken.

The reason for broken installation of Planefinder and Adsbexchange feeders is out-dated version numbers in the installation scripts. Changing version numbers in file “variables.sh” solves problem of Planefinder and Adsbexchange feeders.

The problem of dump1090-fa is three fold.
(1) Out dated version number which is overcome by updating file “variables.sh
(2) Missing dependencies “libncurses5-dev” and “libbladerf-dev”
(3) Raspbian repository does not have latest version of "libbladerf-dev"
The version number change + installing dependencies “libncurses5-dev” and “libbladerf-dev” by “sudo apt-get install” did not solve the problem of broken installation of dump1090-fa.

Thanks to Oliver (obj), who pointed out that the cause is an older version (2014) of “libbladerf-dev” installed by “sudo apt-get install libbladerf-dev” command, while a newer version (2016) is required for dump1090-fa 3.5.

Since the Raspbian repositories dont have newer version (2016), I decided to try Flightaware repositories, expecting it will contain latest version (2016). To do this, I added Flightaware repository to my RPi’s Apt cache, and then gave command “sudo apt-get install libbladerf-dev”, which pulled and installed latest (2016) version from Flightaware repositories. Following is the step-by-step method showing how I did it.

Complete STEP-1 & STEP-2 below, BEFORE running the installation script “install.sh”:

Update version numbers of Piaware, Planefinder, and Mlat Client in file “variables.sh

To update version numbers, edit file variables.sh and change version numbers of following software as shown in red, which are latest version numbers:


~$ sudo nano ~/adsb-receiver/bash/variables.sh

#! / bin / bash

################################################################################## #

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #


The ADS-B Receiver Project


FlightAware PiAware


PlaneFinder ADS-B Client


Flightradar24 Linux Debian package






STEP-2 (Required ONLY for installing dump1090-fa)
Install latest versions of dependencies from Flightaware Repository.

#Add piaware repository to your RPi's apt cache
wget http://flightaware.com/adsb/piaware/files/packages/pool/piaware/p/piaware-support/piaware-repository_3.5.1_all.deb
sudo dpkg -i piaware-repository_3.5.1_all.deb
sudo apt-get update

#Now install dependencies required by dump1090-fa
sudo apt-get install  libbladerf-dev
sudo apt-get install libncurses5-dev

#Now check the version of libbladerf-dev installed. It should show "Installed: 2016.06+fa1"
sudo apt-cache policy libbladerf-dev

  Installed: 2016.06+fa1
  Candidate: 2016.06+fa1
  Version table:
 *** 2016.06+fa1 0
        500 http://flightaware.com/adsb/piaware/files/packages/ jessie/piaware armhf Packages
        100 /var/lib/dpkg/status
     0.2014.09~rc2-5 0
        500 http://mirrordirector.raspbian.org/raspbian/ jessie/main armhf Packages

AFTER completing Steps (1) and (2), run the install script

cd ~/adsb-receiver


PC version of PiAware for field spotting
PC version of PiAware for field spotting

Is there an easy way to delete the entire contents of the Performance Graphs history and start again, effectively blat all the stored data?


I just started with a pi3 this week and had issues running scripts to add ADSBexchange to the Flightaware piaware image so I tried this and it seems to be working well sending to both places (Flightaware & ADSBexchnge. I have been using VRS and dump 1090 mutability previously and with the piaware image I was receiving data from port 30005 on VRS with no problem. Ever since I got this setup when I try to connect to port 30005 I get an error on VRS that it was actively refused by the target machine although I see during adsb Receiver startup that it is sending data to 30005.
I’m sure it just a simple fix but I haven’t gotten to a good enough level yet on linux to figure out how to enable access to ports yet.




(2)How to segregate the display of Flightaware MLAT feedback and Adsbexchange MLAT feedback



Thanks, I’ve been putting off getting into linux for a while and so far I’m having a ball with it except for the things like this that are so different from the windows methods.


Hi, newbie here.

I’m currently using the official FA image in a raspberry. Can I proceed to install the Web Portal in this ‘distro’ or I need to switch to raspbian + dump1090 mutability?



If you want to install Web Portal ONLY, you can do it on FA image. No need to replace the FA image by Radpbian image + dump1090-mutability.

When you run the installation script, it will offer you options to install many items. Just keep on saying NO to these, till at the end it offers Web Portal. Say OK to it. When Web Portal installation starts, it will offer “Advance Option”. Say NO to it. The advance option saves all the flight data in a database, and after sometime your microSD card will become full with this historical data. Because of this, rarely anyone choses Advance Option.


Cool! I’ll proceed as you suggested (I only want Web Portal).
Thanks so much!


Just to clarify I only want what’s called ‘Performance Graphs’, do I have to follow the same procedure? I mean, install Web Portal skipping the ‘Advance Options’. Sorry for the confusion.


The installation script does not provide the option to install ONLY Performance Graphs. The graphs are installed when web portal is installed. Follow the same procedure: Install Web Portal skipping the ‘Advance Options’.


I got everything working fine and ported over to VRS with the new file revisions above using dump-fa but I thought I would try a new image and add the dump978 to see if I could see anything in my area ( I have a yagi close to that freq that was used for ISP access) Everything seems to work and I’m seeing a few on ](http://)/dump1090.php

The problem is that I’m seeing an error from the output on the HDMI screen which is;

Found 2 device(s):
1: Realtek, RTL2832U, SN: FA0001

Using device 1: Generic RTL2832U OEM
usb_claim_interface error -6
Failed to open rtlsdr device #1.

But, when I run rtl_test ) it is;

Found 2 device(s):
1: Realtek, RTL2832U, SN: FA0001

Using device 0: Generic RTL2832U OEM
usb_claim_interface error -6
Failed to open rtlsdr device #0.

After reading through previous post I did check the modprobe.d/rtl-sdr-blacklist.conf for blacklist entries and they were there.
Device #1 is the dongle for dump 978 in < dump978-maint.sh> and device #0 is being used by dump1090-fa in < dump1090-fa>. I’ve googled this, looked through the threads and haven’t seen the error -6 listed like this and the strange thing is both dumps seem to be working.
I did notice that all the RSSI#’s on the dump 978 screen are at 0.0 dBFS but I’m seeing small Cessna’s etc and constantly getting messages.

Any ideas ?

One other thing is I don’t see a dump978.log at ~/var/log/dump978.log . Is it located somewhere else now?



First you have to stop the relevant dump.
This will make DVB-T dongle available for rtl_test.

To test dongle used by dump1090-fa:

sudo systemctl stop dump1090-fa
rtl_test -t

#After testing, restart dump1090-fa
sudo systemctl restart dump1090-fa

To test dongle used by dump978:

sudo systemctl stop dump978
rtl_test -t

#After testing, restart dump978
sudo systemctl restart dump978



Well, that opened up a new can of worms!

Command: sudo systemctl stop dump1090-fa
Command: rtl_test –t
Found 2 device(s):
  1:  Realtek, RTL2832U, SN: FA0001
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
Sampling at 2048000 S/s.
No E4000 tuner found, aborting.

Command: sudo systemctl stop dump978
Failed to stop dump978.service: Unit dump978.service not loaded.

Command: rtl_test –t
Found 2 device(s):
  1:  Realtek, RTL2832U, SN: FA0001
Using device 0: Generic RTL2832U OEM
usb_claim_interface error -6
Failed to open rtlsdr device #0.

Command: sudo systemctl restart dump978
Failed to restart dump978.service: Unit dump978.service failed to load: No such file or directory.

I then looked at /home/pi/adsb-receiver/build/dump978/ and it appears to be there.

dump978           fec          plot_nexrad.py      uat2esnt.c  uat2text.o
dump978.c         fec.c        reader.c            uat2esnt.o  uat_decode.c
dump978-maint.sh  fec.h        reader.h            uat2json    uat_decode.h
dump978.o         fec.o        reader.o            uat2json.c  uat_decode.o
extract_nexrad    fec_tests.c  README.md           uat2json.o  uat.h
extract_nexrad.c  LICENSE      sample-data.txt.gz  uat2text
extract_nexrad.o  Makefile     uat2esnt            uat2text.c

Kinda crazy as I’m seeing several small planes per hour on ](http://)/dump978.php but I did note that they do not show up on the dump1090.php screen but according to the above dump978 isn’t running. I rebooted and got the same results.

Here is where I set up the two different dongles

Here is dump978-maint.sh

#! /bin/sh
# Start dump978 without logging.
while true; do
    rtl_sdr -d 1 -f 978000000 -s 2083334 -g 40 - | /home/pi/adsb-receiver/build/dump978/dump978 | /home/pi/adsb-receiver/build/dump978/uat2json /var/www/html/dump978/data | /home/pi/adsb-receiver/build/dump978/uat2esnt | /bin/nc -q1 30001 &
    sleep 15

And here is dump1090-fa

# dump1090-fa configuration
# This is read by the systemd service file as an environment file,
# and evaluated by some scripts as a POSIX shell fragment.
# If you are using a PiAware sdcard image, this config file is regenerated
# on boot based on the contents of piaware-config.txt; any changes made to this
# file will be lost.

RECEIVER_OPTIONS="--device-index 0 --gain -10 --ppm 0 --net-bo-port 30005"
DECODER_OPTIONS="--max-range 360"
NET_OPTIONS="--net --net-heartbeat 60 --net-ro-size 1000 --net-ro-interval 1 --net-ri-port 0 --net-ro-port 30002 --net-sbs-port 30003 --net-bi-port 30004,30104 --net-bo-port 30005"
JSON_OPTIONS="--json-location-accuracy 1"

As this isn’t a PiAware sdcard image I was thinking these would be the files to set up dongle assignments but it looks like possibly not as dump978 is trying to open device 0 which is already being used by dump1090. Is there somewhere else I need to tell dump978 to grab device 1?


Run the command top. You will see the dump978 running there if it is running.
The dump978-maint.sh is actually called for the /etc/rc.local That file needs to have the executable bit set in order to run at start-up:

sudo chmod -x /etc/rc.local

In my setup I found out that I needed to use the 1090-mutability instead of the 1090-fa for planes to show up on the 978 side…