From df0e4fadd832220f5556fc3c4e9e70669e1e7048 Mon Sep 17 00:00:00 2001
From: fuzzle <jens@viisauksena.de>
Date: Tue, 27 Sep 2016 04:38:15 +0200
Subject: [PATCH] add emergency script which reload after 10 minutes without
 batctl gw

---
 files/lib/gluon/ssid-changer/emergency.sh | 34 +++++++++++++++++++++++
 files/usr/lib/micron.d/emergency          |  1 +
 files/usr/lib/micron.d/ssid-changer       |  1 -
 3 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100755 files/lib/gluon/ssid-changer/emergency.sh
 create mode 100755 files/usr/lib/micron.d/emergency
 mode change 100644 => 100755 files/usr/lib/micron.d/ssid-changer

diff --git a/files/lib/gluon/ssid-changer/emergency.sh b/files/lib/gluon/ssid-changer/emergency.sh
new file mode 100755
index 0000000..4e9a8e7
--- /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 0000000..fe138ed
--- /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 92f3c21..e3a99fa
--- 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
-
-- 
GitLab