FlightAware Discussions



I think it will default to 30003 anyway. You need to put 0 there IMO.
Type in dump1090-fa --help to see the options.



These script were written some time ago when dump1090-fa version was 3.1. These need update to match changes in config file of dump1090-fa since then.

Unfortunately the new forum Discource blocks editing of posts older than one month. I therefore cannot update any of the "How-to"s I have posted.

Please modify your copy of optimize-gain.py script according to the latest version of dump1090-fa config file.


I think you can use the script As is.
No need to modify it.

In ver, in the file /etc/default/dump1090-fa, the arguments are split in following categories:

RECEIVER_OPTIONS="–device-index 0 --gain -10 --ppm 0 --net-bo-port 30005"
DECODER_OPTIONS="–max-range 360"
NET_OPTIONS="–net --net-heartbeat 60 --net-ro-size 1000 --net-ro-interval 1 --net-ri-port 0 --net-ro-port 30002 --net-sbs-port 30003 --net-bi-port 30004,30104 --net-bo-port 30005"
JSON_OPTIONS="–json-location-accuracy 1"

I dont think it is going to make any difference if.

(1) Same argument is specified in two different categories.
All these parameters are finally passed to dump1090-fa un-categorized, i.e. like this.

  --device-index 0 --gain -10 --ppm 0 --net-bo-port 30005 --max-range 360 --net --net-heartbeat 60 --net-ro-size 1000 --net-ro-interval 1 --net-ri-port 0 --net-ro-port 30002 --net-sbs-port 30003 --net-bi-port 30004,30104 --net-bo-port 30005 --json-location-accuracy 1 

(2) Same argument is mentioned twice, but argument’s value is same at both locations.

If an argument is repeated, its last occurance is implemented. For example if gain is specified twice as --gain 40 and then again --gain 30, then --gain 30 being last to occur will be implemented. Here since --net-sbs-port value is 30003 in both instances (one in RECEIVER_OPTIONS and other in NET_OPTIONS) 30003 will be implemented in any case.


Hi abcd567,
I just read your comment and you are probably correct (I have no experience in this), but in the mean time the script was run with the the code changed by me
fyi these are the results.

Any advice ? I’m not a electronic specialist :
I have the gain now on 43.9 dB,test, were run from ca 19h40 - 21h20
The filter (FlightAware ADS-B 1090MHz Band-pass SMA Filter) was installed in the afternoon before running the tests

Gain, Messages, Positions, Aircraft
49.6 267467 12376 421
48.0 267899 12201 415
44.5 268736 12166 412
43.9 269579 12300 407
43.4 266756 12150 410
42.1 265996 11950 416
40.2 266124 11803 415
38.6 263398 11672 411
37.2 261506 11901 414
36.4 264918 12240 408
33.8 263401 12471 398
32.8 263075 12402 397
29.7 250772 11909 383
28.0 238886 11665 367
25.4 216473 10293 337
22.9 195187 9322 322
20.7 163451 7558 294

result on the charts :


According to results, both positions and plane are highest at 49.6.
Messages are best at 43.9
Choice depends what you prefer


I would say that is just because the random variations in plane numbers. All the way to 36dB.
That’s why I don’t really trust this approach.


Yes, it is not a precise science. Just trial and error.

Script does not give conclusive results. Run it on different days and different times of the day, and you get different results.


It’s more a snapshot than measurements where you can build on, just a starting point.


I like to do it manual, quickly, wait just like 10-15 seconds, so the plane numbers don’t get to change that much. And I repeat at different times (sometimes there are many airplanes close by, sometimes are not that many), and in the end I make a compromise.


So do I. Easier and quicker.


The new versions of dump1090-fa use different names for speed and altitude in the json database that is the transfer between dump1090 and the javascript in your browser.

You need to get an old dump1090-fa version.
3.5.1 should do the trick, not sure how you switch that at github.


hi I can not execute the code

sudo ./optimize-gain.py test 1 of 5 Traceback (most recent call last): File "./optimize-gain.py", line 18, in <module> for line in fileinput.input('/etc/default/dump1090-mutability', inplace=1): File "/usr/lib/python2.7/fileinput.py", line 237, in next line = self._readline() File "/usr/lib/python2.7/fileinput.py", line 316, in _readline os.rename(self._filename, self._backupfilename) OSError: [Errno 2] No such file or directory


If you are using script from Post #4 by downloading .docx file, then better don’t use these as sometimes these .docx files give error due to formatting difference between Windows, Linux & MAC (e.g. CR, LF etc)

Due to above problem, I have again posted these scripts in Post #38. These are not in .docx format, but posted as code in the forum. Use the one which is applicable to your install.


That’s what the error message looks like to me.
If you are using a piaware sd-card or dump1090-fa package install you will need the dump1090-fa verison (you used the mutability version)


mi script is (2) Optimize Gain Script for: dump1090-fa on Raspbian i have raspbian. nano optimize-gain.py i use raspbians and dum1090-fa


The above error message shows that you are using optimize-gain.py for dump1090-mutability


whats is the configuration for https://radarbox24.myshopify.com/collections/adsb-receivers/products/radarbox-ads-b-flightstick-dongle-ads-b-receiver IMG_2338_large


49.6 only 2aircraft max, before before I caught much more with the normal black skewer.


Most likely an antenna problem. Do you have a picture of your setup?

Also please post the output of this command:
cat /run/dump1090-fa/stats.json | grep total