Dump1090-fa command line parameters


#1

Where can I edit the dump1090-fa command line parameters.
I would like to remove --fix, add --ppm and fiddle with --gain


#2

If you are using a piaware SD card image you can edit the values through piaware-config

Commands:

piaware-config -showall
piaware-config rtlsdr-ppm 0
piaware-config rtlsdr-gain -10

More information on piaware-config can be found here:
https://flightaware.com/adsb/piaware/advanced_configuration

You can restart dump1090-fa with the command

sudo systemctl restart dump1090-fa

If you are not running a piaware image you can just edit the script that run the program with the flags you want.


#3

Thanks for your answer. This helps for --ppm and --gain.
But how to remove --fix ?


#4

dump1090-fa has one bit fix and two bit fix flags. The one bit fix is on by default and piaware-config doesn’t have a setting to turn this to 0.

You would need to edit the systemd file located here to turn it off:

/etc/default/dump1090-fa

You will also need to set the above file to read-only so the file is not update by piaware-config on reboot.
Some piaware-config settings will not work after doing this change.

One bit fix finds a lot more messages and the ADSB CRC catches the bad messages.
Two bit fix finds a few more messages but the CRC misses some bad messages.
Turning off one bit fix will lower your message rate.


#5

Thanks again. I edited the /etc/default/dump1090-fa file and removed the ‘w’ flag. On reboot piaware-config just creates a new file and renames the old one with ,bak.
I think I will just leave --fix on, as your suggestion.


#6

I didn’t know that it will create a new file.
I definitely know you can edit the following file and piaware will not generate a new one.

/lib/systemd/system/dump1090-fa.service

For your reference ADSB messages have a 32 bit CRC. Zero bit fix will throw away a message if it fails CRC. One bit fix will flip each bit and see if it can pass CRC. This fix extends the receiver range quite a bit since message are sometimes off by just 1 bit on weak signals. Strong signals don’t usually have a 1 bit error problem. There was also no downside since the CRC is so long.