openwrt/package/kernel/om-watchdog/files/om-watchdog.init

71 lines
927 B
Plaintext
Raw Normal View History

#!/bin/sh /etc/rc.common
#
# Copyright (C) 2011 OpenWrt.org
#
START=11
STOP=11
USE_PROCD=1
NAME=om-watchdog
PROG=/sbin/om-watchdog
get_gpio() {
local board=$(board_name)
if [ -r /lib/ar71xx.sh ]; then
case "$board" in
"a40"|\
"a60"|\
"mr1750"|\
"mr1750v2"|\
"mr900"|\
"mr900v2")
return 16
;;
"mr600v2")
return 15
;;
"om2p"|\
"om2p-hs"|\
"om2p-hsv2"|\
"om2p-hsv3"|\
"om2p-hsv4"|\
"om2pv4"|\
"om5p-acv2")
return 12
;;
"om2p-lc"|\
"om2pv2")
return 26
;;
"om5p"|\
"om5p-an")
return 11
;;
"om5p-ac")
return 17
;;
esac
elif [ "$board" = "teltonika_rut5xx" ]; then
# ramips
return 11
else
#we assume it is om1p in this case
return 3
fi
return 255
}
start_service() {
get_gpio
gpio="$?"
[ "$gpio" != "255" ] || return
procd_open_instance
procd_set_param command "${PROG}" "${gpio}"
procd_set_param respawn
procd_close_instance
}