diff --git a/files/lib/gluon/ssid-changer/emergency.sh b/files/lib/gluon/ssid-changer/emergency.sh new file mode 100755 index 0000000000000000000000000000000000000000..4e9a8e7ff336fedeb5ba8f79861ecd218f65f21b --- /dev/null +++ b/files/lib/gluon/ssid-changer/emergency.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +# set some sysctl +sysctl -w vm.panic_on_oom=0 # deact reboot on oom +sysctl -w kernel.panic=80 # 80s after panic reboot +sysctl -w vm.overcommit_memory=2 # calc if enough mem is avail mmaloc + +# raise prob. of proc to kill +# echo 10 > /proc/$(cat /var/run/fastd.mesh_vpn.pid)/oom_adj # deprecated +echo 700 > /proc/$(pgrep fastd)/oom_score_adj # fastd +echo 900 > /proc/$(pgrep ntp)/oom_score_adj # ntp +echo 950 > /proc/$(pgrep /usr/sbin/batadv-vis)/oom_score_adj # batvis + +# if we see bat GW just exit +netz=$(batctl gwl -H|wc -l) +if [ $netz -ne 0 ] ; then + logger "emergency found network, exiting" + echo 0 > /tmp/emergency + exit 0 +fi + +# see ath9k for stopped +# cat /sys/kernel/debug/ieee80211/phy0/ath9k/queues + +# simple counter +touch /tmp/emergency +counter=$(cat /tmp/emergency) +if [ -z $counter ] ; then counter=0 ; fi +if [ $counter -lt 10 ] + then let counter+=1; echo $counter > /tmp/emergency + else reboot +fi +echo $counter + diff --git a/files/usr/lib/micron.d/emergency b/files/usr/lib/micron.d/emergency new file mode 100755 index 0000000000000000000000000000000000000000..fe138ed7ee0ade7dbaaca44f7b718739b4af85d7 --- /dev/null +++ b/files/usr/lib/micron.d/emergency @@ -0,0 +1 @@ +* * * * * /lib/gluon/ssid-changer/emergency.sh diff --git a/files/usr/lib/micron.d/ssid-changer b/files/usr/lib/micron.d/ssid-changer old mode 100644 new mode 100755 index 92f3c21059f1c3b999facb2f7751eedfacff7b5a..e3a99fa4a0d8e1b1343d97139aaa1f2859dc84b1 --- a/files/usr/lib/micron.d/ssid-changer +++ b/files/usr/lib/micron.d/ssid-changer @@ -1,2 +1 @@ * * * * * /lib/gluon/ssid-changer/ssid-changer.sh -