CONCLUSION: Restart of dump1090 (fa or mutab) causes CPU usage of ppup1090 to jump from 0.7% to 98%, and stay there till ppup1090 is restarted (see details below). This also results in ppup1090 stops feeding data to planeplotter server.
@Aerovision1 : Do you have a cron job to reset gain every night? Resetting gain requires restart of dump1090 (fa or mut). Or may be you have installed gain setting helper by @wiedehopf and that also restarts dump1090 after changing gain every night.
@obj : Any thoughts why ppup1090 is behaving like this?
Details:
I checked just now (after 24 hrs running) and ppup1090 was running Ok with CPU usage 0.7%.
I then restarted dump1090 and CPU usage of ppup1090 jumped to 98%. I restarted ppup1090, and its CPU usage returned to 0.7% .
I then directly started the ppup1090 binary
sudo systemctl stop ppup1090
cd ppup
./ppup1090
The CPU usage was 0.7%. I restarted dump1090, and CPU usage of ppup1090 jumped to 98%.`
Wow - thank you abcd567. I just restarted dump1090-fa on both of my active RPi’s and found exactly the same result as you did with ppup1090.
Yes, I have installed “Automatic gain optimization for dump1090 fa” from @wiedehopf. He was very helpful on a FR24 problem that I had and I am now using several of his programmes. I will immediately uninstall it from both RPi’s.
That said, my main ppup1090 uploader from home failed for the first three nights, but not on the fourth night, and my second machine that manages uploads from Gatwick did not fail once. Both had the auto gain opt installed.
I am struggling with manual gain optimization. If anyone can assist me with this, I would be grateful.
Finally, a crontab to restart ppup1090 at, say, 03:30 every morning would be really handy to have, but I have no idea how to write it. Please could you assist here?
Thanks. This option is much better than modifying dump1090-fa-autogain file. With this option, for whatever reason dump1090 restarts (manually/by system/by another program/restart on failure etc etc), ppup1090 will also restart.
As I have dump1090-mutability on the Pi which has ppup1090, I will have to replace dump1090-fa by dump1090-mutability in you above quoted code.
If the option to amend the unit section of the systemd service file for ppup1090 works, please could one of you then advise the entries required to effect this option?
Thanks to @wiedehopf. Adding only one line (PartOf=…) to file ppup1090.service was enough. I tested it. Every time the dump1090 is started, ppup1090 also get started automatically, and CPU usage stays at below 1%
Thank you @abcd567 and @wiedehopf for your help here. Implemented as instructed and logs show that the auto gain caused dump1090-fa to restart on my RPi yesterday morning, with ppup1090 immediately following suite. Without checking logs, no evidence of it occurring, so “happy days”!
Please may I re-post the final solution, with due credit, on the PlanePlotter forum, or do you, @abcd567, plan to do so?
2.6 - Compile the ppup1090 (plane plotter uploader) from source code
NOTE: Only the “ppup1090” component of cloned source code needs to be compiled for uploading to Planeplotter. You don’t have to compile dump1090 itself, as dump1090 is already available in Piaware SD Card image (dump1090-fa), or you have already installed dump1090-fa / dump1090-mutability yourself.
cd ~/ppup
make -f makeppup1090
it returned an error as follows:
pi@raspberrypi:~/ppup $ cd ~/ppup
pi@raspberrypi:~/ppup $ make -f makeppup1090
gcc -g -o ppup1090 ppup1090.o anet.o interactive.o mode_ac.o mode_s.o net_io.o coaa1090.obj pkg-config --libs librtlsdr -lpthread -lm
/usr/bin/ld: interactive.o:/home/pi/ppup/dump1090.h:373: multiple definition of Modes'; ppup1090.o:/home/pi/ppup/dump1090.h:373: first defined here /usr/bin/ld: interactive.o:/home/pi/ppup/dump1090.h:238: multiple definition of tDF’; ppup1090.o:/home/pi/ppup/dump1090.h:238: first defined here
/usr/bin/ld: mode_ac.o:/home/pi/ppup/dump1090.h:373: multiple definition of Modes'; ppup1090.o:/home/pi/ppup/dump1090.h:373: first defined here /usr/bin/ld: mode_ac.o:/home/pi/ppup/dump1090.h:238: multiple definition of tDF’; ppup1090.o:/home/pi/ppup/dump1090.h:238: first defined here
/usr/bin/ld: mode_s.o:/home/pi/ppup/dump1090.h:373: multiple definition of Modes'; ppup1090.o:/home/pi/ppup/dump1090.h:373: first defined here /usr/bin/ld: mode_s.o:/home/pi/ppup/dump1090.h:238: multiple definition of tDF’; ppup1090.o:/home/pi/ppup/dump1090.h:238: first defined here
/usr/bin/ld: net_io.o:/home/pi/ppup/dump1090.h:373: multiple definition of Modes'; ppup1090.o:/home/pi/ppup/dump1090.h:373: first defined here /usr/bin/ld: net_io.o:/home/pi/ppup/dump1090.h:238: multiple definition of tDF’; ppup1090.o:/home/pi/ppup/dump1090.h:238: first defined here
collect2: error: ld returned 1 exit status
make: *** [makeppup1090:24: ppup1090] Error 1
When I then go to 2.7 - TEST it doesnt work as follows:
pi@raspberrypi:~/ppup $ cd ~/ppup
pi@raspberrypi:~/ppup $ ./ppup1090
bash: ./ppup1090: No such file or directory
This 2018 thread is about the first version of ppup1090 which Malcolm Robb created back in 2014. At the time, ppup1090 was downloaded as part of his dump1090. Last year, Malcolm made several improvements to ppup1090 to support mode-a/c mlat on the PlanePlotter network. The new version of ppup1090 is now available as a separate download from dump1090, and also on github.
Hi, thanks, I tried it but got an error back in terminal as follows… do you think its a problem?
pi@raspberrypi:~ $ cd /home/pi/
pi@raspberrypi:~ $ mv ppup1090 ppup1090-001
mv: cannot stat ‘ppup1090’: No such file or directory
pi@raspberrypi:~ $ git clone git://github.com/MalcolmRobb/ppup1090.git
Cloning into ‘ppup1090’…
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 23 (delta 5), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (23/23), 133.56 KiB | 809.00 KiB/s, done.
Resolving deltas: 100% (5/5), done.
pi@raspberrypi:~ $ cd dump1090
bash: cd: dump1090: No such file or directory
pi@raspberrypi:~ $ cd ppup1090
pi@raspberrypi:~/ppup1090 $ make
gcc -O2 -g -Wall -W -c ppup1090.c
gcc -O2 -g -Wall -W -c anet.c
gcc -O2 -g -Wall -W -c interactive.c
gcc -O2 -g -Wall -W -c mode_ac.c
gcc -O2 -g -Wall -W -c mode_s.c
gcc -g -o ppup1090 ppup1090.o anet.o interactive.o mode_ac.o mode_s.o coaa1090.obj -lpthread -lm
/usr/bin/ld: interactive.o:/home/pi/ppup1090/ppup1090.h:282: multiple definition of coaa1090'; ppup1090.o:/home/pi/ppup1090/ppup1090.h:282: first defined here /usr/bin/ld: interactive.o:/home/pi/ppup1090/ppup1090.h:272: multiple definition of ppup1090’; ppup1090.o:/home/pi/ppup1090/ppup1090.h:272: first defined here
/usr/bin/ld: interactive.o:/home/pi/ppup1090/ppup1090.h:225: multiple definition of Modes'; ppup1090.o:/home/pi/ppup1090/ppup1090.h:225: first defined here /usr/bin/ld: interactive.o:/home/pi/ppup1090/ppup1090.h:187: multiple definition of tDF’; ppup1090.o:/home/pi/ppup1090/ppup1090.h:187: first defined here
/usr/bin/ld: mode_ac.o:/home/pi/ppup1090/ppup1090.h:282: multiple definition of coaa1090'; ppup1090.o:/home/pi/ppup1090/ppup1090.h:282: first defined here /usr/bin/ld: mode_ac.o:/home/pi/ppup1090/ppup1090.h:272: multiple definition of ppup1090’; ppup1090.o:/home/pi/ppup1090/ppup1090.h:272: first defined here
/usr/bin/ld: mode_ac.o:/home/pi/ppup1090/ppup1090.h:225: multiple definition of Modes'; ppup1090.o:/home/pi/ppup1090/ppup1090.h:225: first defined here /usr/bin/ld: mode_ac.o:/home/pi/ppup1090/ppup1090.h:187: multiple definition of tDF’; ppup1090.o:/home/pi/ppup1090/ppup1090.h:187: first defined here
/usr/bin/ld: mode_s.o:/home/pi/ppup1090/ppup1090.h:282: multiple definition of coaa1090'; ppup1090.o:/home/pi/ppup1090/ppup1090.h:282: first defined here /usr/bin/ld: mode_s.o:/home/pi/ppup1090/ppup1090.h:272: multiple definition of ppup1090’; ppup1090.o:/home/pi/ppup1090/ppup1090.h:272: first defined here
/usr/bin/ld: mode_s.o:/home/pi/ppup1090/ppup1090.h:225: multiple definition of Modes'; ppup1090.o:/home/pi/ppup1090/ppup1090.h:225: first defined here /usr/bin/ld: mode_s.o:/home/pi/ppup1090/ppup1090.h:187: multiple definition of tDF’; ppup1090.o:/home/pi/ppup1090/ppup1090.h:187: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:23: ppup1090] Error 1
pi@raspberrypi:~/ppup1090 $
Hi again, I had some issues with my other feeders that Im guessing my have been related to using these old PP setup instructions instead of the new ones you have shared. How can I reverse what I have already done in steps 1 to 2.6 above (so I can start fresh with the correct instructions)?
Unless you are a masochist, once something has gone wrong, a clean install is worth considering.
On top of that, FA v7.1 is out, so it may be a good time to upgrade.