From 8c1505cd9f80044b073e295d819d7d0a6e265306 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 25 Apr 2024 17:57:00 +0200 Subject: [PATCH] Fix z8102 with gpiolib 2 --- z8102/files/etc/init.d/z8102 | 26 +++++++++++++++++++------- z8102/files/usr/lib/custom/wdg.sh | 14 ++++++++++---- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/z8102/files/etc/init.d/z8102 b/z8102/files/etc/init.d/z8102 index e9f85969c..b543f6417 100755 --- a/z8102/files/etc/init.d/z8102 +++ b/z8102/files/etc/init.d/z8102 @@ -2,7 +2,7 @@ # Copyright (C) 2013 OpenWrt.org # Copyright (C) 2023 Yannick Chabanois (Ycarus) for OpenMPTCProuter -START=58 +START=99 USE_PROCD=1 log() { @@ -18,8 +18,10 @@ modem1() #echo "0" > /sys/class/gpio/gpio${i}/value if [ -e /sys/class/gpio/sim1/value ]; then echo "0" > /sys/class/gpio/sim1/value - else + elif [ -f /usr/bin/gpiofind ]; then gpioset `gpiofind "sim1"`=0 + else + gpioset -t0 sim1=0 fi # stop modem 1 @@ -29,8 +31,10 @@ modem1() #echo "0" > /sys/class/gpio/gpio${i}/value if [ -e /sys/class/gpio/modem1/value ]; then echo "0" > /sys/class/gpio/modem1/value - else + elif [ -f /usr/bin/gpiofind ]; then gpioset `gpiofind "modem1"`=0 + else + gpioset -t0 modem1=0 fi sleep 1 @@ -39,8 +43,10 @@ modem1() #echo "1" > /sys/class/gpio/gpio${i}/value if [ -e /sys/class/gpio/modem1/value ]; then echo "1" > /sys/class/gpio/modem1/value - else + elif [ -f /usr/bin/gpiofind ]; then gpioset `gpiofind "modem1"`=1 + else + gpioset -t0 modem1=1 fi } modem2() @@ -52,8 +58,10 @@ modem2() #echo "0" > /sys/class/gpio/gpio${i}/value if [ -e /sys/class/gpio/sim2/value ]; then echo "0" > /sys/class/gpio/sim2/value - else + elif [ -f /usr/bin/gpiofind ]; then gpioset `gpiofind "sim2"`=0 + else + gpioset -t0 sim2=0 fi # stop modem 2 @@ -63,8 +71,10 @@ modem2() #echo "0" > /sys/class/gpio/gpio${i}/value if [ -e /sys/class/gpio/modem2/value ]; then echo "0" > /sys/class/gpio/modem2/value - else + elif [ -f /usr/bin/gpiofind ]; then gpioset `gpiofind "modem2"`=0 + else + gpioset -t0 modem2=0 fi sleep 1 @@ -73,8 +83,10 @@ modem2() #echo "1" > /sys/class/gpio/gpio${i}/value if [ -e /sys/class/gpio/modem2/value ]; then echo "1" > /sys/class/gpio/modem2/value - else + elif [ -f /usr/bin/gpiofind ]; then gpioset `gpiofind "modem2"`=1 + else + gpioset -t0 modem2=1 fi } start_service() diff --git a/z8102/files/usr/lib/custom/wdg.sh b/z8102/files/usr/lib/custom/wdg.sh index 8ce969c3f..3f2e2d868 100755 --- a/z8102/files/usr/lib/custom/wdg.sh +++ b/z8102/files/usr/lib/custom/wdg.sh @@ -7,11 +7,17 @@ while true do #echo "1" > /sys/class/gpio/gpio${i}/value - gpioset `gpiofind "watchdog"`=1 2>&1 >/dev/null - gpioset --hold-period 100ms -t0 watchdog=1 2>&1 >/dev/null + if [ -f /usr/bin/gpiofind ]; then + gpioset `gpiofind "watchdog"`=1 2>&1 >/dev/null + else + gpioset --hold-period 100ms -t0 watchdog=1 2>&1 >/dev/null + fi sleep 1 #echo "0" > /sys/class/gpio/gpio${i}/value - gpioset `gpiofind "watchdog"`=0 2>&1 >/dev/null - gpioset --hold-period 100ms -t0 watchdog=0 2>&1 >/dev/null + if [ -f /usr/bin/gpiofind ]; then + gpioset `gpiofind "watchdog"`=0 2>&1 >/dev/null + else + gpioset --hold-period 100ms -t0 watchdog=0 2>&1 >/dev/null + fi sleep 1 done \ No newline at end of file