om-watchdog: add support for Teltonika RUT5xx (ramips)
[openwrt/openwrt.git] / package / kernel / om-watchdog / files / om-watchdog.init
1 #!/bin/sh /etc/rc.common
2 #
3 # Copyright (C) 2011 OpenWrt.org
4 #
5
6 START=11
7 STOP=11
8
9 USE_PROCD=1
10 NAME=om-watchdog
11 PROG=/sbin/om-watchdog
12
13 get_gpio() {
14 if [ -r /lib/ar71xx.sh ]; then
15 . /lib/ar71xx.sh
16 local board=$(ar71xx_board_name)
17
18 case "$board" in
19 "a40"|\
20 "a60"|\
21 "mr1750"|\
22 "mr1750v2"|\
23 "mr900"|\
24 "mr900v2")
25 return 16
26 ;;
27 "mr600v2")
28 return 15
29 ;;
30 "om2p"|\
31 "om2p-hs"|\
32 "om2p-hsv2"|\
33 "om2p-hsv3"|\
34 "om2p-hsv4"|\
35 "om2pv4"|\
36 "om5p-acv2")
37 return 12
38 ;;
39 "om2p-lc"|\
40 "om2pv2")
41 return 26
42 ;;
43 "om5p"|\
44 "om5p-an")
45 return 11
46 ;;
47 "om5p-ac")
48 return 17
49 ;;
50 esac
51 elif [ -r /lib/ramips.sh ]; then
52 . /lib/ramips.sh
53 local board=$(ramips_board_name)
54
55 case "$board" in
56 "rut5xx")
57 return 11
58 ;;
59 esac
60 else
61 #we assume it is om1p in this case
62 return 3
63 fi
64
65 return 255
66 }
67
68 start_service() {
69 get_gpio
70 gpio="$?"
71 [ "$gpio" != "255" ] || return
72
73 procd_open_instance
74 procd_set_param command "${PROG}" "${gpio}"
75 procd_set_param respawn
76 procd_close_instance
77 }