FlightAware Discussions

Installing PiAware on Ubuntu

I have successfully installed PiAware and the associated software on Ubuntu and documented the process! Hopefully this is useful to someone…


1 Like

Awesome! We can use this as a jumping off point for official support!

Thanks, it helped me to install on Raspbian on my Raspberry Pi, since I run Jessie Raspbian which does not contain some legacy dependency packages which piaware relies on.

Worked great! I’m currently working on substituting dump1090-mutability.

I have some 14.04 packages of piaware-mutability + dump1090-mutability available in a PPA here: launchpad.net/~ojowett/+archive/ubuntu/dump1090

This is what I used on my Ubuntu VM running PiAware-mutability. Works great and easy to keep up to date with apt. :smiley:

1 Like


First of all, thanks so much for all your hard work on this software. This community definitely appreciates it.

I have a quick question. I have a remote site about 4 hours from here that I am accessing via a VPN that I set up. I would like to run piaware-mutability locally on my server taking data from my remote pi (dump1090-mutability will not be running on the server). For instance, I am feeing VRS using data off port 30003 from the remote pis VPN address. Could something similar be done to feed piaware? I used dpkg-reconfigure and saw no options that would allow me to do something like that. I don’t know if you would know of a back door way to do it.

Thanks again for your time.


dump1090 doesn’t have a mechanism to do this directly - it always expects something else to connect to it - but you can set up a pair of netcat processes to push data between two dump1090s.

nc -d sourcepi 30005 | nc -q1 destpi 30004

see also: post157185.html#p157185

note that at higher message rates you will need a reasonable amount of bandwidth between sites - figure on needing around 20 bytes/message.

Also note that if the sites are in different locations you probably want to run a separate piaware for each location anyway so that flightaware doesn’t get confused.

(edit: I may be misreading exactly what you want to do here…)

Thanks for the reply, but you’re right. I think you misunderstood what I want to do. I have a pi that is running dump1090 ‘out in the field’. It is connected to my home server via a VPN connection. I would like to run piaware on my local server and ‘listen’ to the dump1090 from the client pi and report the data to Flight Aware from my server.

My other main pi in my attic is completely separate running dump1090 and piaware; there will be no conflict.


I would suspect that there would be a lot of data passed from dump1090 to PiAware - no one would would have done any work optimise or compress it since both would be expected to be close to each other - either on the same piece of hardware or on the same LAN.

If you cannot feed to flightaware from the remote location directly due to a network restriction I wonder if you could run PIAware on the remote and route the data to your server over the VPN then on to FlightAware

Right, OK.

Piaware wants to connect to port 10001 on localhost for data. It’ll always connect to localhost, there’s no way to change that.
If there’s nothing providing data on port 10001 but there is something on port 30005 on localhost, it’ll start faup1090 to translate. Again this isn’t configurable.

So to get this working you’d need to provide a listening port on your local server. You can do this with a slightly different netcat incantation, something like this:

# port 10001:
user@localserver$ nc -d remoteserver 10001 | nc -l -q1 10001
# or port 30005:
user@localserver$ nc -d remoteserver 30005 | nc -l -q1 30005

(you’d want to do the usual things of wrapping it in a loop / startup script etc)

This is likely to be a bit flaky as data will start turning up and being buffered in the pipe before the listening connection has arrived, but I don’t think you can fix that using only netcat.

If you can transport 10001 that will be less data. dump1090-mutability, or flightaware’s dump1090, will produce this output; vanilla dump1090 won’t.

Another option might be to start faup1090 by hand on the local server and tell it to connect to the remote server for port 30005 data. I think there are options to do this but I don’t have a copy on hand right now to check.

But it would be much simpler to just run piaware directly in the receiver if you can.

Thanks, obj for the thoroughly thought out reply. I’m thinking your last statement is the best option. The former idea might be too fancy and less sustainable over time.

Followed your instructions yesterday and awesome, without any errors. All working great on my old Ubuntu box.

Thanks for figuring this out and for sharing!!


How do I go about updating the version of Piaware in this setup? im stuck on version 1.18-2 :frowning:

Upgrading is a case of repeating the process with the new version, basically.
It has probably got a little easier now to build from source.

Approximate instructions:

$ sudo apt-get install build-essential debhelper librtlsdr-dev libusb-1.0-0-dev pkg-config tcl8.5-dev autoconf python3-dev python-virtualenv libz-dev git
$ cd ~; git clone https://github.com/mutability/dump1090.git
$ cd ~/dump1090; dpkg-buildpackage -b
$ cd ~; git clone https://github.com/flightaware/piaware_builder.git
$ cd ~/piaware_builder; ./sensible-build.sh
$ cd ~/piaware_builder/package; dpkg-buildpackage -b
$ sudo dpkg -i ~/dump1090-mutability_1.15~dev_*.deb
$ sudo dpkg -i ~/piaware_builder/piaware_2.1-2_*.deb

Many thanks for the instructions above, all is up & running but it doesnt seem to be sending any data across to the Flightaware server. Dump 1090 is running fine as I am plotting with VRS on another computer.
Any help to where I’ve gone wrong would be greatly appreciated.

flightaware@flightaware:~$ sudo piaware-status
dump1090 is running.
faup1090 is running.
piaware is running.
dump1090 is listening for connections on port 30005.
faup1090 is NOT connected to port 30005.
piaware is connected to FlightAware.
dump1090 is producing data on port 30005.

Data Feed: 13-Jul-2015 - 5 days ago
Feeder Check-in: Live - less than a minute ago
Joined: 13-Jul-2015
Longest Streak: 1 days (13-Jul-2015 - 13-Jul-2015)

Feeder Type: PiAware 2.1-2
Multilateration (MLAT): Supported / Not Enabled

I get an issue when running

cd ~/piaware_builder; ./sensible-build.sh

cd ~/piaware_builder; ./sensible-build.sh
Retrieving v2.1-2 from github.com/flightaware/piaware.git
5a453da v2.1-2
Retrieving 460debe4d350f06f9c7e54e5400992cac4f1d328 from github.com/flightaware/tcllauncher.git
460debe Update README.md
Retrieving 45d645a8643a60a7c84053338de04d8e038541d4 from github.com/mutability/dump1090.git
45d645a Default to not forwarding mlat messages. Add --forward-mlat option to en

What’s the issue?

It just stops on the end command and doesnt let me continue. If I run the next command I get this.

cd ~/piaware_builder/package; dpkg-buildpackage -b
tail: cannot open ‘debian/changelog’ for reading: No such file or directory
dpkg-buildpackage: error: tail of debian/changelog gave error exit status 1

No idea then, sorry; the script shouldn’t do that, but I can’t see how it would ever just stop with no error message.