Signed-off-by: guilin.w...@gl-inet.com <guilin.w...@gl-inet.com> --- package/kernel/om-watchdog/Makefile | 2 +- package/kernel/om-watchdog/files/om-watchdog | 40 +++++++++++++++++++---- package/kernel/om-watchdog/files/om-watchdog.init | 2 ++ 3 files changed, 37 insertions(+), 7 deletions(-)
diff --git a/package/kernel/om-watchdog/Makefile b/package/kernel/om-watchdog/Makefile index 403069b..02520d2 100644 --- a/package/kernel/om-watchdog/Makefile +++ b/package/kernel/om-watchdog/Makefile @@ -12,7 +12,7 @@ PKG_RELEASE:=2 PKG_VERSION:=1 include $(INCLUDE_DIR)/package.mk - +PKG_CONFIG_DEPENDS += BUSYBOX_CONFIG_FLOAT_DURATION define Package/om-watchdog SECTION:=base CATEGORY:=Base system diff --git a/package/kernel/om-watchdog/files/om-watchdog b/package/kernel/om-watchdog/files/om-watchdog index d730c68..b12db3e 100644 --- a/package/kernel/om-watchdog/files/om-watchdog +++ b/package/kernel/om-watchdog/files/om-watchdog @@ -1,15 +1,43 @@ #!/bin/sh +. /lib/functions.sh + GPIO=$1 trap "" INT HUP +om_feed_dog() +{ + while true; do + echo 1 > /sys/class/gpio/gpio${GPIO}/value + sleep 1 + echo 0 > /sys/class/gpio/gpio${GPIO}/value + sleep 180 + done +} +glinet_feed_dog() +{ + local count=1 + for i in $(seq 1 $count); + do + echo 1 >/sys/class/gpio/gpio14/value + sleep 0.01 + echo 0 >/sys/class/gpio/gpio14/value + sleep 0.01 + done +} + 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 +board=$(board_name) +if [ "$board" = "glinet,gl-x1200-nor" -o "$board" = "glinet,gl-x1200-nor-nand" ];then + echo 14 >/sys/class/gpio/export + echo out >/sys/class/gpio/gpio14/direction + while true;do + glinet_feed_dog + sleep 10 + done +else + om_feed_dog +fi diff --git a/package/kernel/om-watchdog/files/om-watchdog.init b/package/kernel/om-watchdog/files/om-watchdog.init index 4c407da..5d3ffdd 100644 --- a/package/kernel/om-watchdog/files/om-watchdog.init +++ b/package/kernel/om-watchdog/files/om-watchdog.init @@ -50,6 +50,8 @@ get_gpio() { elif [ "$board" = "teltonika_rut5xx" ]; then # ramips return 11 + elif [ "$board" = "glinet,gl-x1200-nor" -o "$board" = "glinet,gl-x1200-nor-nand" ];then + return 16 else #we assume it is om1p in this case return 3 -- 2.7.4 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel