# dump1090-fa Debian/Raspbian packages dump1090-fa is a ADS-B, Mode S, and Mode 3A/3C demodulator and decoder that will receive and decode aircraft transponder messages received via a directly connected software defined radio, or from data provided over a network connection. It is the successor to [dump1090-mutability](https://github.com/mutability/dump1090) and is maintained by [FlightAware](http://flightaware.com/). It can provide a display of locally received aircraft data in a terminal or via a browser map. Together with [PiAware](http://flightaware.com/adsb/piaware) it can be used to contribute crowd-sourced flight tracking data to FlightAware. It is designed to build as a Debian package, but should also be buildable on many other Linux or Unix-like systems. ## Building under buster ```bash $ sudo apt-get install build-essential debhelper librtlsdr-dev pkg-config dh-systemd libncurses5-dev libbladerf-dev libhackrf-dev liblimesuite-dev $ dpkg-buildpackage -b --no-sign ``` ## Building under stretch ```bash $ sudo apt-get install build-essential debhelper librtlsdr-dev pkg-config dh-systemd libncurses5-dev libbladerf-dev $ dpkg-buildpackage -b --no-sign ``` ## Building under jessie ### Dependencies - bladeRF You will need a build of libbladeRF. You can build packages from source: ```bash $ git clone https://github.com/Nuand/bladeRF.git $ cd bladeRF $ git checkout 2017.12-rc1 $ dpkg-buildpackage -b ``` Or Nuand has some build/install instructions including an Ubuntu PPA at https://github.com/Nuand/bladeRF/wiki/Getting-Started:-Linux Or FlightAware provides armhf packages as part of the piaware repository; see https://flightaware.com/adsb/piaware/install ### Dependencies - rtlsdr This is packaged with jessie. `sudo apt-get install librtlsdr-dev` ### Actually building it Nothing special, just build it (`dpkg-buildpackage -b`) ## Building with limited dependencies The package supports some build profiles to allow building without all required SDR libraries being present. This will produce a package with limited SDR support only. Pass `--build-profiles` to `dpkg-buildpackage` with a comma-separated list of profiles. The list of profiles should include `custom` and zero or more of `rtlsdr`, `bladerf`, `hackrf`, `limesdr` depending on what you want: ```bash $ dpkg-buildpackage -b --no-sign --build-profiles=custom,rtlsdr # builds with rtlsdr support only $ dpkg-buildpackage -b --no-sign --build-profiles=custom,rtlsdr,bladerf # builds with rtlsdr and bladeRF support $ dpkg-buildpackage -b --no-sign --build-profiles=custom # builds with _no_ SDR support (network support only) ``` ## Building manually You can probably just run "make" after installing the required dependencies. Binaries are built in the source directory; you will need to arrange to install them (and a method for starting them) yourself. ``make BLADERF=no`` will disable bladeRF support and remove the dependency on libbladeRF. ``make RTLSDR=no`` will disable rtl-sdr support and remove the dependency on librtlsdr. ``make HACKRF=no`` will disable HackRF support and remove the dependency on libhackrf. ``make LIMESDR=no`` will disable LimeSDR support and remove the dependency on libLimeSuite. ## Building on OSX Minimal testing, YMMV. ``` $ brew install librtlsdr $ brew install pkg-config $ make ```