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
-