aboutsummaryrefslogtreecommitdiffstats
path: root/package/om-watchdog/files
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2012-01-04 17:30:39 +0000
committerGabor Juhos <juhosg@openwrt.org>2012-01-04 17:30:39 +0000
commit9b6231dd3b294002c35586b5d3e9a34f5ff40003 (patch)
treeb8424678a02fb240d35fe5831a7b63995094306d /package/om-watchdog/files
parent2470702e461b16fbc1fc58dad7a790be6b625e93 (diff)
downloadupstream-9b6231dd3b294002c35586b5d3e9a34f5ff40003.tar.gz
upstream-9b6231dd3b294002c35586b5d3e9a34f5ff40003.tar.bz2
upstream-9b6231dd3b294002c35586b5d3e9a34f5ff40003.zip
package: add om-watchdog package
om2p-watchdog package is OM2P specific. However a similar watchdog mechanism exists on OM1P as well. This new package wants to substitute om2p-watchdog with a new one which is suitable either for OM1P and OM2P. Signed-off-by: Antonio Quartulli <ordex@autistici.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29647 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/om-watchdog/files')
-rw-r--r--package/om-watchdog/files/om-watchdog15
-rw-r--r--package/om-watchdog/files/om-watchdog.init22
2 files changed, 37 insertions, 0 deletions
diff --git a/package/om-watchdog/files/om-watchdog b/package/om-watchdog/files/om-watchdog
new file mode 100644
index 0000000000..d730c68447
--- /dev/null
+++ b/package/om-watchdog/files/om-watchdog
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+GPIO=$1
+
+trap "" INT HUP
+
+echo $GPIO > /sys/class/gpio/export
+echo out > /sys/class/gpio/gpio${GPIO}/direction
+
+while true; do
+ echo 1 > /sys/class/gpio/gpio${GPIO}/value
+ sleep 1
+ echo 0 > /sys/class/gpio/gpio${GPIO}/value
+ sleep 180
+done
diff --git a/package/om-watchdog/files/om-watchdog.init b/package/om-watchdog/files/om-watchdog.init
new file mode 100644
index 0000000000..d598c86a38
--- /dev/null
+++ b/package/om-watchdog/files/om-watchdog.init
@@ -0,0 +1,22 @@
+#!/bin/sh /etc/rc.common
+#
+# Copyright (C) 2011 OpenWrt.org
+#
+
+START=11
+
+SERVICE_DAEMONIZE=1
+
+boot() {
+ if [ -r /lib/ar71xx.sh ]; then
+ . /lib/ar71xx.sh
+ local board=$(ar71xx_board_name)
+ fi
+
+ if [ "$board" = "om2p" ]; then
+ service_start /sbin/om-watchdog 12
+ else
+ #we assume it is om1p in this case
+ service_start /sbin/om-watchdog 3
+ fi
+}