RPIMonitor

Here is all I do with my installs and it persists on reboot:

sudo apt -y install cpufrequtils
sudo sh -c "echo 'GOVERNOR=\"performance\"' > /etc/default/cpufrequtils"
sudo systemctl restart cpufrequtils

So far as using force_turbo=1, completely unnecessary, don’t do it. Can run a Pi4 all day long at 2Ghz (with cooling) without throwing much excess voltage at it unless you want an extra winter heater and a voided warranty as it will burn a bit in the EEPROM once set on top of things.

3 Likes

force_turbo will only void the warranty if you increase voltages.

It basically just switches the governor to performance if you don’t do anything else.

You’re correct. Now anyone reading this is aware of the possible OTP caveat that exists when using turbo as more than likely anyone messing with governor settings has already played with over_voltage, or is not far away from doing so. :slight_smile:

Not that many care about a warranty anyhow, but better to be informed going in IMHO.

Ok, got the RPI 1st stage set up, so what happens with the above quote then, where do you get the base template for avionics???

I created a file in the /etc/rpimonitor/template folder, called avionics.conf. Then I copied this info from @mikkyo’s post, and pasted it into my new file:

#######################################################################
# Extract information about Opened Port
#  Page: 1
#  Information               Status
#  - dump1090-fa port (8080)           - yes      - no
#  - Flightradar24 Feeder/Decoder port (8754)  - yes      - no
#  - FlightAware port (30104)          - yes      - no
#  - PlaneFinder port (30053)        - yes      - no
#  - Virtual Radar Server port (8081) - yes - no
#  - ModeSMixer2 port (8787) - yes - no
#  - lighttpd port (80) - yes - no
#  - collectd status - active - inactive|failed|activating|deactivating
#  - dump978-fa port (30978) -yes -no
#  - RadarBox status - active - inactive|failed|activating|deactivating
########################################################################
dynamic.1.name=dump1090
dynamic.1.source=netstat -nlt
dynamic.1.regexp=tcp .*:(8080).*LISTEN

dynamic.2.name=fr24
dynamic.2.source=netstat -nlt
dynamic.2.regexp=tcp .*:(8754).*LISTEN

dynamic.3.name=piware
dynamic.3.source=netstat -nlt
dynamic.3.regexp=tcp .*:(30104).*LISTEN

dynamic.4.name=finder
dynamic.4.source=netstat -nlt
dynamic.4.regexp=tcp .*:(30053).*LISTEN

dynamic.5.name=vrs
dynamic.5.source=netstat -nlt
dynamic.5.regexp=tcp .*:(8081).*LISTEN

dynamic.6.name=modesmixer2
dynamic.6.source=netstat -nlt
dynamic.6.regexp=tcp .*:(8787).*LISTEN

dynamic.7.name=lighttpd
dynamic.7.source=netstat -nlt
dynamic.7.regexp=tcp .*:(80).*LISTEN

dynamic.8.name=collectd
dynamic.8.source=service collectd status
dynamic.8.regexp=Active: (.*) \(

dynamic.9.name=dump978
dynamic.9.source=netstat -nlt
dynamic.9.regexp=tcp .*:(30978).*LISTEN

dynamic.10.name=rbfeeder
dynamic.10.source=service rbfeeder status
dynamic.10.regexp=Active: (.*) \(

dynamic.11.name=adsbexchange
dynamic.11.source=ps awwux | grep socat | grep -v grep | grep feed
dynamic.11.regexp=feed.adsbexchange.com:(.*)

dynamic.12.name=opensky
dynamic.12.source=service opensky-feeder status
dynamic.12.regexp=Active: (.*) \(

static.1.name=dump1090ver
static.1.source=dump1090-fa --help
static.1.regexp=dump1090-fa (.*\b)

static.2.name=fr24ver
static.2.source=fr24feed --help
static.2.regexp=Version: (.*)/

static.3.name=piwarever
static.3.source=piaware -v
static.3.regexp=(^.*)

static.4.name=finderver
static.4.source=pfclient -v
static.4.regexp=version:(.*)

static.5.name=modesmixer2ver
static.5.source=/home/pi/mm2/modesmixer2 --help
static.5.regexp=ModeSMixer2 v\.(.*)

static.6.name=lighttpdver
static.6.source=lighttpd -v
static.6.regexp=lighttpd/(.*) \(

static.7.name=collectdver
static.7.source=collectd -h
static.7.regexp=collectd(.*)\.git\,

static.8.name=dump978ver
static.8.source=dump978-fa --version 2>&1 | grep dump | awk '{print $2}'
static.8.regexp=(.*)

static.9.name=rbfeederver
static.9.source=/usr/bin/rbfeeder --help 2>&1 | grep "Version " | awk '{print $4}'
static.9.regexp=(.*)

static.10.name=openskyver
static.10.source=journalctl -u opensky-feeder --no-pager
static.10.regexp=Version (.*)

web.status.1.content.1.name=Avionics
web.status.1.content.1.icon=daemons.png
web.status.1.content.1.line.1="<table class='table'><thead><tr><th>Application</th><th>Status</th><th>Version</th><th>Web interface</th></tr></thead><tbody>"
web.status.1.content.1.line.2="<tr>"
web.status.1.content.1.line.3="<td><a href='https://github.com/flightaware/dump1090' target=_blank>dump1090-fa</a></td><td>" + Label(data.dump1090,"==8080","active","success") + Label(data.dump1090,"!=8080","inactive","danger") + "</td><td>" + data.dump1090ver + "</td><td><a href='http://127.0.0.1:8080/' target=_blank>DUMP1090</a></td>"
web.status.1.content.1.line.4="</tr>"
web.status.1.content.1.line.5="<tr>"
web.status.1.content.1.line.6="<td><a href='http://feed.flightradar24.com/#raspberry-pi' target=_blank>fr24feed</a></td><td>" + Label(data.fr24,"==8754","active","success") + Label(data.fr24,"!=8754","inactive","danger") + "</td><td>" + data.fr24ver + "</td><td><a href='http://127.0.0.1:8754' target=_blank>FR24 Feeder Status</a><br /><a href='https://www.flightradar24.com/premium/' target=_blank>Flightradar24.com Premium</a></td>"
web.status.1.content.1.line.7="</tr>"
web.status.1.content.1.line.8="<tr>"
web.status.1.content.1.line.9="<td><a href='http://ja.flightaware.com/adsb/piaware/' target=_blank>piaware</a></td><td>" + Label(data.piware,"==30104","active","success") + Label(data.piware,"!=30104","inactive","danger") + "</td><td>" + data.piwarever + "</td><td><a href='https://flightaware.com/adsb/stats/user/you' target=_blank>FlightAware</a></td>"
web.status.1.content.1.line.10="</tr>"
web.status.1.content.1.line.11="<tr>"
web.status.1.content.1.line.12="<td><a href='https://planefinder.net/sharing/client' target=_blank>pfclient</a></td><td>" + Label(data.finder,"==30053","active","success") + Label(data.finder,"!=30053","inactive","danger") + "</td><td>" + data.finderver + "</td><td><a href='http://127.0.0.1:30053' target=_blank>Plane Finder Client</a></td>"
web.status.1.content.1.line.13="</tr>"
web.status.1.content.1.line.14="<tr>"
web.status.1.content.1.line.15="<td><a href='http://www.virtualradarserver.co.uk/Download.aspx' target=_blank>VirtualRadar</a></td><td>" + Label(data.vrs,"==8082","active","success") + Label(data.vrs,"!=8082","inactive","danger") + "</td><td>2.4<br />31-JUL-2016</td><td><a href='http://127.0.0.1:8082/VirtualRadar/WebAdmin/Index.html' target=_blank>VRS Web Admin</a><br /><a href='http://127.0.0.1:8082/VirtualRadar' target=_blank>Virtual Radar Server</a><br /><a href='http://www.adsbexchange.com/' target=_blank>ADS-B Exchange</a></td>"
web.status.1.content.1.line.16="</tr>"
web.status.1.content.1.line.17="<tr>"
web.status.1.content.1.line.18="<td><a href='http://xdeco.org/?page_id=30#mm2' target=_blank>modesmixer2</a></td><td>" + Label(data.modesmixer2,"==8787","active","success") + Label(data.modesmixer2,"!=8787","inactive","danger") + "</td><td>" + data.modesmixer2ver + "</td><td><a href='http://127.0.0.1:8787' target=_blank>ModeSMixer2</a><br /></td>"
web.status.1.content.1.line.19="</tr>"
web.status.1.content.1.line.20="<tr>"
web.status.1.content.1.line.21="<td>lighttpd</td><td>" + Label(data.lighttpd,"==80","active","success") + Label(data.lighttpd,"!=80","inactive","danger") + "</td><td>" + data.lighttpdver + "</td><td><a href='http://127.0.0.1:8080/3d/' target=_blank>MyRadar24</a></td>"
web.status.1.content.1.line.22="</tr>"
web.status.1.content.1.line.23="<tr>"
web.status.1.content.1.line.24="<td>collectd</td><td>" + Label(data.collectd,"=='active'","active","success") + Label(data.collectd,"!='active'","inactive","danger") + "</td><td>" + data.collectdver + "</td><td><a href='127.0.0.1/collectd/' target=_blank>dump1090-tools</a></td>"
web.status.1.content.1.line.25="</tr>"
web.status.1.content.1.line.26="<tr>"
web.status.1.content.1.line.27="<td><a href='https://github.com/flightaware/dump978' target=_blank>dump978-fa</a></td><td>" + Label(data.dump978,"==30978","active","success") + Label(data.dump978,"!=30978","inactive","danger") + "</td><td>" + data.dump978ver + "</td><td><a href='http://127.0.0.1/skyaware978' target=_blank>dump978-fa</a></td>"
web.status.1.content.1.line.28="</tr>"
web.status.1.content.1.line.29="<tr>"
web.status.1.content.1.line.30="<td><a href='https://www.radarbox24.com/raspberry-pi/guide' target=_blank>RadarBox</a></td><td>" + Label(data.rbfeeder,"=='active'","active","success") + Label(data.rbfeeder,"!='active'","inactive","danger") + "</td><td>" + data.rbfeederver + "</td><td><a href='https://www.radarbox24.com/stations/EXTRPI00000' target=_blank>RadarBox</a></td>"
web.status.1.content.1.line.31="</tr>"
web.status.1.content.1.line.32="<tr>"
web.status.1.content.1.line.33="<td><a href='https://www.adsbexchange.com/active-feeds/' target=_blank>ADSBExchange</a></td><td>" + Label(data.adsbexchange,"==30005","active","success") + Label(data.adsbexchange,"!=30005","inactive","danger") + "</td><td>N/A</td><td><a href='http://www.adsbexchange.com/coverage-1D/?new' target=_blank>ADSBExchangeFeeder</a></td>"
web.status.1.content.1.line.34="</tr>"
web.status.1.content.1.line.35="<tr>"
web.status.1.content.1.line.36="<td><a href='https://opensky-network.org' target=_blank>OpenSkyNetwork</a></td><td>" + Label(data.opensky,"=='active'","active","success") + Label(data.opensky,"!='active'","inactive","danger") + "</td><td>" + data.openskyver + "</td><td><a href='https://opensky-network.org/receiver-profile?s=00000' target=_blank>OpenSkyFeeder</a></td>"
web.status.1.content.1.line.37="</tr>"
web.status.1.content.1.line.38="</tbody></table>"

Finally, I opened up /etc/rpimonitor/data.conf and added this line to the end of the file:

include=/etc/rpimonitor/template/avionics.conf

You will need to stop and restart the collectd and rpimonitor services, and then you should have a working page with the avionics section.

You will probably want to tweak it a little from there, but that should get you started.

Right this is what I have locally:

When I go into the XU4, I can not find an rpimonitor dir. Set up, XU4, running airspy, via emmc, Ubuntu Bionic with Armbian Linux 4.14.141-odroidxu4

1 Like

You need to include the avionics.conf in the rpimonitor conf file
then you edit

/etc/rpimonitor/data.conf

and add the avionics.conf template

include=/etc/rpimonitor/template/avionics.conf

Restart rpimonitor and collectd

sudo systemctl stop collectd rpimonitor
sudo systemctl start collectd rpimonitor
1 Like

Ahhhh that would be good if I can find the rpimonitor directory

my ls check

1 Like

stand by found it . sorry not a linux boffin at all, needed sudo nano

1 Like

YaY !!! not bad for a novice:

I have added the GPU temp gauge, but neither is showing data. What do you need a copy of to see what is a miss??

1 Like

Here is a good crutch to find things with when in a bind. There are many other ways as well, but my preferred:

sudo apt install -y locate
sudo updatedb
locate data.conf

So far as temperature with the Odroid:
cat /etc/rpimonitor/template/temperature.conf

This line should be present: dynamic.12.source=/sys/devices/virtual/thermal/thermal_zone0/temp

That said, you are getting ‘null’ for a few things and I don’t have an Odroid to help break it down. Also judging by the 81C temp I see in an above screenshot, may want to look into some sort of cooling for that thing. That’s rather warm.

That line is there. With regards to the heat, that unit currently in an outside enclosure waiting for it’s cooler N2 replacement. But I will tone down its performance to conservative. I did note in dropping the mhz from 20 to 12 didn’t really change the cpu temp :thinking:

I have now set it up on my N2. As you will see, it still is not populating the temps, but don’t panic, the N2 runs much much cooler, current temp 41c lol

Which templates are enabled in your /etc/rpimonitor/data.conf @jlb56?

I have a sneaking suspicion it may be defaulting to the incorrect kernel template based on the number of null strings you are returning. You may need to point to the axp209_cpu_pmu_temp.conf as well as the temperature_xbian.conf if it isn’t already…

1 Like

The templates

#include=/etc/rpimonitor/template/example.friends.conf #include=/etc/rpimonitor/template/example.header.conf #include=/etc/rpimonitor/template/example.addons.conf #include=/etc/rpimonitor/template/example.justgage.conf #include=/etc/rpimonitor/template/example.badge_and_label.conf #include=/etc/rpimonitor/template/example.progressbar.conf #include=/etc/rpimonitor/template/example.visibility.conf #include=/etc/rpimonitor/template/example.alert.conf #include=/etc/rpimonitor/template/example.interval.conf #include=/etc/rpimonitor/template/example.multipage.conf

include=/etc/rpimonitor/template/addons.conf include=/etc/rpimonitor/template/version.conf include=/etc/rpimonitor/template/uptime.conf include=/etc/rpimonitor/template/cpu.conf include=/etc/rpimonitor/template/temperature.conf include=/etc/rpimonitor/template/memory.conf include=/etc/rpimonitor/template/swap.conf include=/etc/rpimonitor/template/sdcard.conf include=/etc/rpimonitor/template/network.conf include=/etc/rpimonitor/template/avionics.conf

#include=/etc/rpimonitor/template/printer.conf #include=/etc/rpimonitor/template/storage.conf #include=/etc/rpimonitor/template/services.conf #include=/etc/rpimonitor/template/wlan.conf #include=/etc/rpimonitor/template/dht11.conf #include=/etc/rpimonitor/template/entropy.conf

Can’t see this axp209_cpu_pmu_temp.conf

1 Like

With Rpi-Monitor running on the port 8888, i have frequently this kernel message in my log :

kernel: [215850.589469] TCP: request_sock_TCP: Possible SYN flooding on port 8888. Sending cookies. Check SNMP counters.

I also have this same message type for different services (RadarBox, FR24, etc.) on port 3005.

I f you have the same, and if this TCP connections are legitimate (check with netstat), you can solve this like me :

First check what is the number actualy used : sysctl net.core.somaxconn
In my case it was 128 (Raspbian Buster), so i updated it to 512 : sysctl -w net.core.somaxconn=512
To keep this setting after a reboot : echo "net.core.somaxconn = 512" >> /etc/sysctl.conf

You need to do the same for net.ipv4.tcp_max_syn_backlog :

sysctl net.ipv4.tcp_max_syn_backlog
sysctl -w net.ipv4.tcp_max_syn_backlog=512
echo "net.ipv4.tcp_max_syn_backlog = 512" >> /etc/sysctl.conf

After that no more Kernel message.
If you want you can try with a value less than 512, such as 256 !

This must be an RPi Monitor bug. I don’t think my un-tweaked RPi 4 can run that fast.

1 Like

So you didn’t want to just check the specification?

1 Like

The RPi 4 runs at 600 MHz which it usually reports. One of the values must be wrong - 600 MHz or 1500 MHz. It can’t be both.

600MHz

1 Like

The CPU speed changes according to load. 600 MHz is the base speed, and 1500 MHz is the maximum processor speed of the pi 4 without overclocking.

2 Likes