Running Dump978 standalone without dump1090

Hello fellow aviation enthusiasts,

Hoping someone can help – I recently upgraded my station to a Pi3, and wish to experiment with UAT 978Mhz with my old B+.

The goal is to run a standalone instance of dump978 complete with local webserver map, and feeding data to both flightaware and adsbexchange. I do NOT wish to use a separate dongle to run dump1090, nor do I wish to “feed” the UAT data my Pi3 and combine the traffic with it’s 1090 traffic. I need it to be it’s own unique station so I can keep the traffic completely separate with its own un-combined statistics. One single dongle.

Looks like it should be really simple to install dump978 and simply ‘clone’ dump1090’s webserver interface following the instructions here: github.com/mutability/dump978/b … /README.md

Once I use uat2json to get the local map working, should I use uat2esnt to feed faup_1090 and fa_mlat_client?

I’m not entirely sure where to go from here. Seems like there might be an easier way. Too bad adsbreceiver scripts don’t support a standalone dump978 install without using dump1090.

Any ideas? I considered running dump1090 and selecting an option to read from a blank source “file” instead of using an actual RTL device, but it seems like this would consume significant resources constantly running the file through the demodulator. Perhaps this might be the easiest way to get it working, however, since I could simply image with adsbreceiver’s image and once set up, change dump1090 from rtl-sdr to file?

All suggestions welcome.

samwathegreat

I have been doing this for the last month.
This site is UAT 978 only
flightaware.com/adsb/stats/user/ … tats-20974

It is fed from another device but that is because I only have room for two devices in the attic (cat 5 and POE wise).

Which version of piaware are you using? I need to know because the config locations are different.
I am using the following
piaware 3.2 compiled from githib
rtl-sdr libraries compiled from github, however the STD libraries should work the same (github.com/osmocom/rtl-sdr)
Joe’s scripts (just the the stats pages. Not required, just nice to have).

Bascially
turn dump1090 into Network only (edit /etc/default/dump1090-mutability or -fa and set device=“none”.

compile dump978
send info to local device on port 30001
(you may need to setup an /etc/rc.local entry to do this at startup).
I also have scripts to restart the service every 4-6 hours as it seems to hang for me.

You will need a dongle with an amp (internal or external) and a filter(if in a noisy location) to get the best results.
Either the FA Pro stick(not the plus) or an RTL-SDR dongle with an external amp. hab/nevis or some sort of satellite amp.

Do you need specifics or does this help?

This was actually extremely helpful. I didn’t know you could set device as “none”.

I’ll be using joe’s adsbreceiver image to get everything running, then afterwards change to device=none for dump1090.

I didn’t realize “none” was an option until now. It all makes sense and should be easier than I anticipated.

Do you have any suggestions for tuning gain? I upgraded to the new blue “plus” dongle for ads-b, so I’ll be using the orange pro-stick + filter as I understand the FA filter reportedly works well with around 1.6dB insertion loss at 978mhz. I’m under the impression that max gain with the internal amp + filter + 978 antenna will probably be fine.

Thanks for the help.

Gain is the hardest thing to work out, especially as there is no displaying of aircraft RSSI when using STD dump978.
I currently use 43.5 with the FA dongle, FA Filter, directional antenna and 35’ of LMR240(I think). I may be able to increase it.
It really is a matter of trial and error.

You could try the stratux version of dump978, however, it only outputs the RSSI to a log file(it doesn’t make it into the AVR stream for some reason).

Another question:

Is MLAT not supported currently for UAT? Or are there not enough local UAT feeders for MLAT so they are being reported as ‘other’? I notice all the traffic from your experimental station is labeled ADS-B or “other”.

It should be interesting to see the increase in 978 traffic over the next few years…

There is no need for MLAT as all messages(used anyway) contain location information.
Aircraft send location information twice a second.
I get ADS-B and Other in my stats. I assume that other is from TIS-B or ADS-R towers.

Real aircraft should have an ICAO address starting with a. TIS-B or ADS-R traffic seems to start with a number(at least for me in NYC). I can see difference pre-fixes from different towers (there are a dozen towers near me). You can also see the hockey puck affect of a UAT aircraft flying trough the area and causing the towers to broadcast positions of other aircraft.
faa.gov/nextgen/equipadsb/ins_and_outs/

https://www.faa.gov/nextgen/equipadsb/images/iaoHockeyPuck.png

Here is a redacted version of my setup(I wasn’t on my home computer before).
You can use the FA pro stick (with filter) or rtl-sdr with bias-t and the hab/nevis 978 Mhz amp/filter.
(I’ll see if the airspy works in the next week or so).
I had installed Joe’s scripts with dump978 enabled.
/home/pi/adsb-receiver/build/dump978/ is the location of dump978

the dump978 script is in /home/pi/adsb-receiver/build/dump978/dump978-maint.sh
run something like this

rtl_sdr -f 978000000 -d 0 -s 2083334 -g 43.5 - | /home/pi/adsb-receiver/build/dump978/dump978 | /home/pi/adsb-receiver/build/dump978/uat2esnt | /bin/nc -q1 127.0.0.1 30001 &

change the gain setting and file locations to suite your setup.

edit /etc/default/dump1090-mutability set DEVICE=“none” if you aren’t running 1090 on this device.

RTLSDR device index or serial number to use

If set to “none”, dump1090 will be started in --net-only mode

DEVICE=“none”

change to root user

Create a file called /root/978restart.sh
Add this to it and make it executable
/usr/bin/pkill -f dump978-maint.sh; /usr/bin/pkill -f rtl_sdr; /usr/bin/pkill -f dump978; /usr/bin/pkill -f uat2esnt;/usr/bin/pkill -f uat2json; /bin/sleep 9s; /home/pi/adsb-receiver/build/dump978/dump978-maint.sh & > /dev/null

add it to crontab -e
11 */4 * * * /root/978restart.sh &
This runs the script every 4 hours at 11 minutes past the hour. Change it to suite your needs.
I am not sure why my system locks up, but it does. A restart instantly shows traffic.

This setup feeds the data into the dump1090 screen not the dump978 screen/page/tab. If you are using Joe’s scripts you should also see max range, aircraft totals and message rate graphs. If piaware is running then it should also be fed to piaware. Other feeders should also work. If you are using dump1090 too then this should work, you just won’t be able to easily tell which traffic is UAT and which is not(other than UAT cannot be MLAT traffic).

This setup would work well with multiple feed antennas(and dongles) as MLAT is not required or used.

Thanks for the very detailed post!

Your guide is very similar to how I ended up setting setting up the test station. So far, I’ve only seen one or 2 aircraft in my couple days testing. I’m not in range of a ground station and I don’t have a proper antenna for UAT yet (using stock RTL collapsible antenna indoors, collapsed to around 2.9" which should be close to 1/4 wavelength on 978), so that was mostly expected. What is interesting is that I seem to be receiving “messages” every now and then according to the dump1090/dump978 map gui, but no “positions”. This doesn’t seem to trigger anything in flightaware (I just started feeding UAT on this 2nd site, so I currently have 0 positions/aircraft) but I didn’t figure it would until an actual aircraft shows up.

I’ve decided to try out this antenna: ebay.com/itm/291954648691?_t … EBIDX%3AIT

Similar in size to my ADS-B antenna, and much less than many of the alternatives – it will just take some time to arrive from the UK.

I don’t expect the stats to come anywhere close to my ADS-B station flightaware.com/adsb/stats/user … tats-20874 but it should be fun to play around with. Hopefully some improvements make it around to dump978 before the antenna arrives such as RSSI logging and addressing the crashing issue. The RSSI logging could really be helpful for gain setting…but I suppose not until I actually see some UAT aircraft. I’m not exactly hopeful as dump978 doesn’t appear to be actively maintained.

Very much appreciate the advice.

My 27340 site is UAT only flightaware.com/adsb/stats/user … tats-27340 . I am using FlightAware dual band antenna and I would say I have not noticed more messages/aircrafts when I switched from ground plane antenna I built for UAT. The 24143 site is fed from the same dual band antenna and shows significant improvement over FlightAware 1090 antenna which feeding 10638 site. Both antennas are mounted on the same mast. I red somewhere that minimum transmitting power for UAT transmitters is 12W but for 1090 transmitters the minimum is 125W. So guess that expected rang for UAT should be significantly less then for 1090ES.

Range will be less because UAT is only supposed to be used below FL/A180.

I have not heard about the power requirement. I thought Mode A/C was 200W, however, I don’t have a reference for this.
12W line of site, not fighting with the hundreds (or thousands in my case,~6,000) messages per second from Mode A/C/S/ES/TCAS and radar returns should have much less contention for bandwidth. You can talk to the ISS using a 5W hand held so I think it is more a line of sight issue.

Not exactly were I red that originally, but still same info: rapidtables.com/electric/dBW.htm to convert dBW to Watt.

The only data I can provide is that my Mode S ES transponder is 250 watts. There is a version which is mostly sold outside of the US which is 130 watts. The 250 watt version is required to meet 2020 ADS-B out specs. Otherwise they are the same. Not UAT, but it’s a watt range to consider.

Looking at that FAA document, I’m starting to understand why is harder to pickup UAT long range. Those transponders are relatively weak.

Not that this is going to help your setup so far as software is concerned, but I did a bunch of antenna reflection tests and if you are in a pinch and purchased the rtl-sdr blog set (silver dongle with antennas), the fully extended “short” antenna resonates at 974-979 Mhz and the long antenna fully compacted has a decent resonant bandwidth between 950~978 Mhz. My tests showed slightly better VSWR with the fully extended short antenna. Works quite well for UAT actually and is quite unassuming for testing purposes.

Unfortunately, the “dual” band FA antenna (long FA antenna), misses the mark for UAT as it’s best resonation frequencies are 1030 Mhz and 1090 Mhz (at least on my unit). Makes for a good ADS-B antenna, but poor VSWR for UAT from my testing.

I had a few antenna prototyped in China, but the first batch was total crap - even their 1090Mhz prototypes sucked - so it’s seemingly tough to get a good dual band setup off the shelf. I’ve actually had some luck with a home-made collinear donning 2 separate length whips. << don’t ask, found that it just happened to work by accident. , wont find that design in any book…lol

Also prototyped a diplexer with a single line input which filters and splits the signal to two separate outputs, 978Mhz and 1090Mhz. Very sharp and awesome cavity design which has circuitry for DC pass through as well (for the bias-T enablers out there), but it’s sort of useless without an antenna with a decently low VSWR at both frequencies. Still working on that. Sure would like to know where FA sourced their 26 inch antenna, since it’s a really nice 1090 Mhz antenna with a solid build - actually by far the best off the shelf for < $100. It’s very simple to create a 978 Mhz spider, but most can probably agree that they don’t make for the most robust setups, especially for outdoor use without sticking the thing in some ungodly looking container.

Great info and breakdown on the 978 setup Mr. JonHawkes.

thanks Nitr0,

Thanks for the info on the FA Dual band antenna. I may spurge and get the DPD 978 Antenna in the new year. I’ll see how the dual band goes for a couple of weeks.

My Hab/Nevis amp/filters finally arrived after spending a week in LAX (coming from the UK to NYC to LAX to NYC seems really strange). Unfortunately the cold and windy weather has also arrived. I may be able to get one installed early next week.

I am also trying to source some 978Mhz cavity filters. I got a response from a company today(I sent an email to a little used email address). My FA Prostick and filter started working really well today. I got almost 2000 aircraft and almost 110,000 position hits. flightaware.com/adsb/stats/user/ … tats-20974

I would love to know if anyone has any luck or experience with tee/nc. I want to feed uat2esnt to NC for two devices

Can anyone help me understand why I’m receiving “messages” on 978, but no positions? Is there non-positional data transmitted on 978 also?

Basically, I keep noticing the dump978 map gui page will at times spike up to a few hundred “messages per second”, then it trickles back down to zero, but I’m still at 0 aircraft and 0 positions for this 978-only station.

I realize that with my current setup (Flightaware pro stick [non-plus] + Flightaware ads-b filter [low losses at 978] + rtl-sdr stock antenna) might not pick up any aircraft since I’m not near a ground station and don’t have a proper antenna, but these “messages” are confusing me.

See screenshot:

I got this too. It could be FIS-B messages.

Try running something like this (Must be run as root if the log file is in/var/log)

rtl_sdr -f 978000000 -d 0 -s 2083334 -g 48.5 - | /home/pi/adsb-receiver/build/dump978/dump978 | /usr/bin/tee -a
/var/log/dump978.log | /home/pi/adsb-receiver/build/dump978/uat2esnt | /bin/nc -q1 w.x.y.z(or localhost) 30001 &

EDIT: Actually you will need something a little different
rtl_sdr -f 978000000 -d 0 -s 2083334 -g 48.5 - | /home/pi/adsb-receiver/build/dump978/dump978 | /usr/bin/tee -a
/var/log/dump978.log | /home/pi/adsb-receiver/build/dump978/uat2json /var/www/html/dump978/data/ &

Change dirs, dongle # and gain to suite local setup.

Then look at the logs. You can send a few into uat2text to see what they look like

pi@odroidxu4:~$ tail -5 /var/log/dump978.log | /home/pi/adsb-receiver/build/dump978/uat2text
HDR:
MDB Type: 2
Address: ACBDC7 (ICAO address via ADS-B)
SV:
NIC: 9
Latitude: +40.7758
Longitude: -74.5632
Altitude: 3050 ft (barometric)
N/S velocity: 156 kt
E/W velocity: 102 kt
Track: 33
Speed: 186 kt
Vertical rate: 0 ft/min (from geometric altitude)
UTC coupling: yes
TIS-B site ID: 0
AUXSV:
Sec. altitude: 2850 ft (geometric)

UPLINK:
Site Latitude: +40.6975 (possibly invalid)
Site Longitude: -74.1542 (possibly invalid)
UTC coupled: yes
Slot ID: 4
TIS-B Site ID: 6
INFORMATION FRAME:
Length: 43 bytes
Type: 0 (FIS-B APDU)
FIS-B:
Flags:
Product ID: 8 (NOTAM (Including TFRs) and Service Status) - Text/Graphic
Product time: 12/17 15:55
Data: 82 10 2D 02 0C 00 08 2F 8B 20 01 2D 02 0C 00 00 …-…/. .-…
00 00 00 00 00 0F D9 00 0C 11 0F 37 0C 11 14 00 …7…
CA 7E E3 8B 50 00 .~…P.
INFORMATION FRAME:
Length: 43 bytes
Type: 0 (FIS-B APDU)
FIS-B:
Flags:
Product ID: 8 (NOTAM (Including TFRs) and Service Status) - Text/Graphic
Product time: 12/9 13:00
Data: 82 10 2D 33 51 00 08 2E E1 20 01 2D 33 51 00 00 …-3Q… .-3Q…
00 00 00 00 00 0F D9 00 0C 09 0D 00 0C 17 15 00 …
CA E6 E3 9C 74 00 …t.
INFORMATION FRAME:
Length: 75 bytes
Type: 0 (FIS-B APDU)
FIS-B:
Flags:
Product ID: 8 (NOTAM (Including TFRs) and Service Status) - Text/Graphic
Product time: 12/17 15:55
Data: 22 10 2D 02 0C 00 00 40 BE 2C 84 38 F5 01 36 D1 ".-…@.,.8…6.
20 2D 02 0C BB 1C AF C7 7C 60 C7 7C 75 D7 56 A0 -…|.|u.V. 85 02 0C 83 1C AF C7 7C 60 40 83 20 51 76 60 42 .......|@. QvB 00 CC 4C 48 31 DB 1C B1 DF 1D 75 D6 DC 76 C7 2C ..LH1.....u..v., 77 CB 0C 30 78 00 w..0x. INFORMATION FRAME: Length: 102 bytes Type: 0 (FIS-B APDU) FIS-B: Flags: Product ID: 8 (NOTAM (Including TFRs) and Service Status) - Text/Graphic Product time: 12/17 01:25 Data: 22 10 2C 94 D0 00 00 5B BC D8 84 38 F5 01 36 D1 ".,.......8..6. 20 2C 94 D0 BB 1C AF C3 8D A0 C7 7C 31 CB 56 A0 ,.........|1.V. 84 94 D0 83 1C AF C3 8D A0 25 34 20 49 76 60 C3 .........%4 Iv.
68 08 30 41 E0 41 33 A0 4C 91 CE 80 15 20 49 76 h.0A.A3.L… Iv
60 C7 08 0E 81 32 44 16 03 8F 52 03 07 50 48 31 `…2D…R…PH1
DB 1C B1 DF 0C 72 D6 DC 76 C7 2C 79 CB 1C 30 78 …r…v.,y…0x
00 .
INFORMATION FRAME:
Length: 118 bytes
Type: 0 (FIS-B APDU)
FIS-B:
Flags:
Product ID: 413 (Generic Textual Data Product APDU Payload Format Type 2) - Text (DLAC)
Product time: 14:00
Report type: WINDS
Report location: ALB
Report time: 180000Z
Text:
FT 3000 6000 9000 12000 18000 24000 30000 34000 39000
2526 2646+04 2665+00 2660-04 2675-15 2685-30 760046 770553 771455

UPLINK:
Site Latitude: +40.6975 (possibly invalid)
Site Longitude: -74.1542 (possibly invalid)
UTC coupled: yes
Slot ID: 19
TIS-B Site ID: 6

HDR:
MDB Type: 0
Address: ACBDC7 (ICAO address via ADS-B)
SV:
NIC: 9
Latitude: +40.7764
Longitude: -74.5627
Altitude: 3050 ft (barometric)
N/S velocity: 156 kt
E/W velocity: 102 kt
Track: 33
Speed: 186 kt
Vertical rate: -128 ft/min (from geometric altitude)
UTC coupling: yes
TIS-B site ID: 0

UPLINK:
Site Latitude: +40.6975 (possibly invalid)
Site Longitude: -74.1542 (possibly invalid)
UTC coupled: yes
Slot ID: 20
TIS-B Site ID: 6
INFORMATION FRAME:
Length: 118 bytes
Type: 0 (FIS-B APDU)
FIS-B:
Flags:
Product ID: 413 (Generic Textual Data Product APDU Payload Format Type 2) - Text (DLAC)
Product time: 14:00
Report type: WINDS
Report location: RDU
Report time: 180000Z
Text:
FT 3000 6000 9000 12000 18000 24000 30000 34000 39000
2345 2437+11 2435+05 2542+03 2662-13 2765-24 277740 278748 279055

INFORMATION FRAME:
Length: 118 bytes
Type: 0 (FIS-B APDU)
FIS-B:
Flags:
Product ID: 413 (Generic Textual Data Product APDU Payload Format Type 2) - Text (DLAC)
Product time: 14:00
Report type: WINDS
Report location: CAR
Report time: 181200Z
Text:
FT 3000 6000 9000 12000 18000 24000 30000 34000 39000
2121 2358+02 2564-02 2684-06 7612-17 7521-30 764845 775653 774859

Here are a couple of SPECI and METAR decodes

INFORMATION FRAME:
Length: 81 bytes
Type: 0 (FIS-B APDU)
FIS-B:
Flags:
Product ID: 413 (Generic Textual Data Product APDU Payload Format Type 2) - Text (DLAC)
Product time: 17:33
Report type: SPECI
Report location: KDAA
Report time: 171733Z
Text:
AUTO 17004KT 10SM BKN007 BKN110 01/00 A2993 RMK
AO2 CIG 007V110 BKN007 V SCT=

INFORMATION FRAME:
Length: 85 bytes
Type: 0 (FIS-B APDU)
FIS-B:
Flags:
Product ID: 413 (Generic Textual Data Product APDU Payload Format Type 2) - Text (DLAC)
Product time: 16:56
Report type: METAR
Report location: KISP
Report time: 171656Z
Text:
33003KT 3SM -RA BR SCT009 BKN016 OVC035 01/01 A2991
RMK AO2 SLP127 P0006 T00110011=

UPLINK:
Site Latitude: +40.6975 (possibly invalid)
Site Longitude: -74.1542 (possibly invalid)
UTC coupled: yes
Slot ID: 27
TIS-B Site ID: 6

The Hab/Nevis amps have been setup. My untuned directional antenna gets better reception than the FA dual band antenna, even though the FA antenna is 5 feet higher/

DPD 978 Antenna should arrive today. I think it will be warm enough for me to install it next week.

The cavity filters are coming along slowly. They are going to ship a prototype next week. I hope it works as well as the 1090 model from jetvision.

Still planning to test the airspy on uat978. Just have to spend some time on it.

Are you still running a 978mhz or are you using 1090mhz now? Curious to hear thoughts on setting up second antenna for 978.

Sorry for the delay. I have still have a setup with a Hab/Nevis 978 amp, Dual band antenna and RTL-SDR dongle(with metal case). I have another setup using a directional antenna, same amp but with the addition of a cavity filter.
My site is http://flightaware.com/adsb/stats/user/jonhawkes2030#stats-20974

Dump978 seems to die quite often. So often that I restart it every hour. I am just using the std settings from the dump978 github,com page. I want to change it to a more reliable setup(probably using nc).

I have a DPD978 antenna that I want to put up before it gets too cold. It will replace the dual band antenna. I will also add the cavity filter(I have space in a small box on the antenna pole).

The range isn’t as great as dump1090 because 979 is generally using below FL180. I stats show that I can get up to 100 aircraft at a time. I am in busy NYC, even if a little low(<80ft amsl) and terrain shielded by apartments and a ridge to the south and east.

Thanks for the info. I’m setting up a second Rasp Pi as a stratux (for connecting to my iPad during flight). I’ll have dual band on that setup and will let you know how it goes for me in Houston. I should have a good amount of 978 traffic since I have many regional/small airports nearby and a clear view of the sky. Good luck with you new antenna/filter setup.