FlightAware Discussions

ADS-B 1090 and 978 on a single Pi?


I got a Senry for Christmas, so I am repurposing my old Stratux for Flightaware. I have it up and running, and it seems stable, however, I am only seeing 1090 traffic whenI look on FA. Is there a way to send my 978 data as well? I’m willing to build a second unit just for 978, if that’s what’s required.

Also, is there a way for me to see the raw data that the Pi is pushing out to FA?

Any help is appreciated.


There’s currently nothing “out of the box” to do this but there is some discussion here: PiAware 3.x and Dump978

If you mean the raw ADS-B frames, they’re on TCP port 30005

If you mean the summary reports that go to FA, that’s not directly available but you can simulate it by:

$ /usr/lib/piaware/helpers/faup1090 --net-bo-ipaddr localhost --net-bo-port 30005 --stdout 

(though I don’t know it’s going to be hugely interesting as the format is very FA-specific)


Thanks. At least it’s a place to start. I’m a newbie, so I’m sure I’ll encounter a learning curve. Is there a particular reason why there isn’t an out of the box solution for 978? I kniow that it’s specific to the US, but there are a ton of GA aircraft out there that aren’t being seen on FA.

1 Like


Try “ADS-B Receiver Project Setup Scripts”. It offers to installs both dump1090-fa / mutability, and dump978.

If you already have dump1090-fa or dump1090-mutabiluty existing, it will install only dump978.

ADS-B Receiver Project Setup Scripts



In my area most of GA planes seemed to switched to ADS-B. I was getting less “hits” from UAT (978MHz) than ADS-B on small planes, so I have used the receiver for something else.
I might put it up again if I have a decent antenna for 978MHz. Anyway the range is way smaller than the ADS-B (because planes flying lower).

I have used the ADS-B project too for that, with two dongles on one Pi. I had to tweak the dongles ID to match the antenna and receiver (1090MHz or 978Mhz) with the correct decoder (dump1090-fa or dump978).

1 Like

Well, I spent a good part of the weekend trying to get this running. Even ordered a new set of receiver dongles, and another RPi. I tried using both the mutability and the fa versions from this site https://github.com/jprochazka/adsb-receiver/wiki/Using-the-ADS-B-Receiver-Image
but, in the end, still no 978. I see that the slot “0” is for the 978 card, which is where it is according to the rtl_test, but this is what I see.

I have installed the 978dump thru the /install procedure, but was never asked to select which card is 978 and which is 1090. Perhaps one of you can tell me where that setting resides?
Thanks again for the help.


You need to have two different serial numbers on two dongles.

How to Change Serial Number of Dongle - ADSB 1090 + UAT 978 Dongles Plugged Into Same Pi


1 Like

I removed the 1090 card, and left only the 978 card. It worked for a few minutes, but when i rebooted, to move the unit, it stopped working. I reran the dump978 script, and this is what i get. also tried to reinstall. Getting close…

Using device 0 : Generic RTL2832U
usb_claim_interface error 6
failed to open rtlsdr device #0

Seems dump978 or dump1090 is running, and using the dongle. That is why rtl_test failed

Give command top and check.

If found running, stop these by following, and after that run rtl_test -t

sudo killall dump978
sudo killall dump1090-fa
sudo killall dump1090-mutability


1 Like

Thanks for the quick reply. I’ll give it a try as soon as I return from this trip.


Serial number didn’t do anything for me, the dongle ID I think is assigned based on the USB port .
You just need to edit the config files to point to the correct dongle ID. Both dump1090-fa and dump978 have config files, but different places.
For dump978 is in /etc/rc.local


Thanks for all of your help. I’m new to all this, and just learning the commands. I did what you suggested, to no avail. I’m willing to just set up a 978 Only rig, if thats what it takes.

Can you answer these questions?
-Does dump978 require that a version of dump1090 also be running?
-Does dump978 translate and then feed the data to dump1090?
My rig was sending 1090 data to FA and FR24 using only the 978 receiver for a couple of days. But I was not seeing any 978 traffic being sent at all.
Like I stated, I’m new to all this, and just trying to wrap my head around it.
Thanks again

Sonic, I couldn’t find where to change the rc.local file i
See /etc/rc.local below

Appreciate the input!


The RC file will be firstly automatically filled by the ADS-B Receiver Project:


I believe that the answers to both of your questions should be NO.
As I have only twice installed dump978, just for a short period for trial, and both times I installed dump1090-fa or dump1090-mutability also, so I am not 100 % sure about my answer.

OK, I will write Raspbian Stretch image to one of my spare microSD cards, run JProchazka’s script, and install ONLY dump978 and see how it goes. Give me some time to do it.


As @SoNic67 has already said, Joe.s script will do it.
However for yourr information, all entries, either done manually or by Joe’s script. are entered between last two lines in your screenshot, i.e. above exit 0 and below fi, as shown in red rectangle in the screenshot below:



Wrote Stretch Lite image to microSD card, booted RPi with it, and ran J Prochazka’s script

(1) The script did NOT proceed further unless I chose one of dump1090 to be installed. I chose dump1090-mutability and then dump978. Installation successfully completed, but dump978 map not displayed at IP_OF_PI/dump978.php

(2) Ran J Prochazka’s script again, and installed web portal. Now dump978 map visible at IP_OF_PI/dump978.php.

(3) Removed the dump1090-mutability (which was force-installed by J Prochazka’s script) by following command

sudo dpkg --purge dump1090-mutability

sudo rm -rf  /usr/share/dump1090-mutability

sudo reboot

Now the dongle is in use by dump978 as dump1090 has vanished.

However due to no UAT 978 traffic at the moment, cannot say if it is working or not. Will have to wait for say half a day or more. Even the ADS-B 1090 traffic is almost zero here at this hour.



(1) Checked file dump978-maint.sh

pi@raspberrypi:~ $ cat adsb-receiver/build/dump978/dump978-maint.sh


# Start dump978 without logging.
while true; do
    rtl_sdr -d 0 -f 978000000 -s 2083334 -g 48 - | /home/pi/adsb-receiver/build/dump978/dump978/dump978 | tee >(/home/pi/adsb-receiver/build/dump978/dump978/uat                 2json /var/www/html/dump978/data) | /home/pi/adsb-receiver/build/dump978/dump978                 /uat2esnt | /bin/nc -q1 30001
    sleep 15

(2) Tried the first part of command in above file:

#First stopped dump978-maint.sh script and rtl_sdr to make the dongle free

pi@raspberrypi:~ $ sudo killall dump978-maint.sh
pi@raspberrypi:~ $ sudo killall rtl_sdr

#Issued command
pi@raspberrypi:~ $ rtl_sdr -d 0 -f 978000000 -s 2083334 -g 48

Found 1 device(s):
  0:  Realtek, RTL2832U, SN: 00000000

Using device 0: Generic RTL2832U
rtl_sdr, an I/Q recorder for RTL2832 based DVB-T receivers

Usage:   -f frequency_to_tune_to [Hz]
        [-s samplerate (default: 2048000 Hz)]
        [-d device_index (default: 0)]
        [-g gain (default: 0 for auto)]
        [-p ppm_error (default: 0)]
        [-b output_block_size (default: 16 * 16384)]
        [-n number of samples to read (default: 0, infinite)]
        [-S force sync output (default: async)]
        filename (a '-' dumps samples to stdout)

(3) The above command failed to give output as expected.
Noted -s in command instead of -S (small s instead of Capital S).
Corrected command by replacing -s by -S.
Now the command is giving correct output.

#First stopped dump978-maint.sh script and rtl_sdr to make the dongle free

pi@raspberrypi:~ $ sudo killall dump978-maint.sh
pi@raspberrypi:~ $ sudo killall rtl_sdr

#Now issued the command
pi@raspberrypi:~ $ rtl_sdr -d 0 -f 978000000 -S 2083334 -g 48

Found 1 device(s):
  0:  Realtek, RTL2832U, SN: 00000000

Using device 0: Generic RTL2832U
Detached kernel driver
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Sampling at 2048000 S/s.
Tuned to 978000000 Hz.
Tuner gain set to 48.00 dB.
Reading samples in sync mode...

(4) in file adsb-receiver/build/dump978/dump978-maint.sh changed -s by -S

pi@raspberrypi:~ $ sudo nano adsb-receiver/build/dump978/dump978-maint.sh

#Changed -s by -S and saved the file


pi@raspberrypi:~ $ sudo reboot

(5) Checked any data collected

pi@raspberrypi:~ $ cat /var/www/html/dump978/data/aircraft.json

  "now" : 1547839813,
  "messages" : 0,
  "aircraft" : [


(6) Found no data yet. Waiting for UAT978 planes to appear

1 Like

First of all, I can’t thank you guys enough for the time and efforts that you have given to help me out. You are beyond kind and generous. I am, however, a bit confused. When I go to Joe’s page https://github.com/jprochazka/adsb-receiver/releases/tag/v2.6.3 I have to choose between the fa and mutilibity version to download. Am I at the right page? Because when I follow Joe’s instructions, it takes mee to this page, which, when I download the zip file, is not an image. https://github.com/jprochazka/adsb-receiver.
So, I guess I need to ask, which image should I start with? I have downloaded at least a half dozen.

Please forgive my ignorance. Two weeks ago, I didn’t know a sudo from my elbow, and now I have 3 RPi’s and 4 dongles, and am learning a litle bit more each day.
Thanks again!


Yeah this could be misleading.
The raspbian stretch lite image is obtained from this website: https://www.raspberrypi.org/downloads/raspbian/

After getting that running on your pi, you follow these instructions: https://github.com/jprochazka/adsb-receiver#manual-installations

Hope that reduces confusion?

Anyway are you still trying to use two dongles at the moment?
The adsb-receiver install project should ask which dongle to use for dump1090-mutability and dump978.
You seem to have chosen very complicated ids for the dongles though.
Choosing something like a simple number, maybe even 978 and 1090 might be a good idea instead of text i’m not sure how the programs handle the id you chose with a colon in it. (the ids you assigned to the eeprom)

Looking at your screenshots you didn’t quite get how to use the scripts before.
You ran individual scripts from the receiver project, that’s not how it’s supposed to be used.
You run the install script for the whole receiver-project and that will ask you what to install.
This is best done on a fresh image.

Edit: yeah just follow abcds instructions below, top notch as always :slight_smile:



1 - Go to this page and download Raspbian Stretch LITE

Download page: https://www.raspberrypi.org/downloads/raspbian/

Direct download link: https://downloads.raspberrypi.org/raspbian_lite_latest

2 - Write the downloaded image to your microSD card using Etcher or Win32DiskImsger.

3 - While the microSD card is still in the card reader of desktop/laptop, click on the drive letter of microSD card to open it. In the opened folder, create a text file named ssh.

4 - Eject the microSD card, slipout from desktop/laptop, slip into RPi and power up the RPi.

5 - SSH to RPi, and give following command

sudo raspi-config

and set

  • Localization - language
  • Localization - time zone
  • Advance options - Expand file system

6 - Install dump1090-fa and Piaware data feeder by following commands:

6.1 - Add repository:

wget http://flightaware.com/adsb/piaware/files/packages/pool/piaware/p/piaware-support/piaware-repository_3.6.3_all.deb 

sudo dpkg -i piaware-repository_3.6.3_all.deb

sudo apt-get update 

6.2 - Install dump1090-fa

sudo apt-get install dump1090-fa

6.3 - Install Piaware (if you want to feed Flightaware

sudo apt-get install piaware

sudo piaware-config allow-auto-updates yes 

sudo piaware-config allow-manual-updates yes

6.4 - Reboot

sudo reboot

7 - Run J Prochazka’s Script and install

  • dump978
  • Web Portal

Note: if it offers install dump1090-fa (upgrade) or flightaware piaware (upgrade), say NO

sudo apt-get install git

git clone https://github.com/jprochazka/adsb-receiver.git

cd adsb-receiver


1 Like


If you try to install dump1090-fa by J Prochazka’s script, it fails due to bladeRF. The script builds wrong version of bladeRF, and as a result dump1090-fa’s installation fails. That is why I installed dump1090-mutability by JP’s script in the test I am currently conducting.

As @stonedcrab seems inclined to install dump1090-fa, I have propose package install in my above post.

1 Like