mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
106 lines
No EOL
2.3 KiB
Bash
Executable file
106 lines
No EOL
2.3 KiB
Bash
Executable file
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2013 OpenWrt.org
|
|
# Copyright (C) 2023 Yannick Chabanois (Ycarus) for OpenMPTCProuter
|
|
|
|
START=10
|
|
USE_PROCD=1
|
|
|
|
log() {
|
|
logger -t "z8102" "$@"
|
|
}
|
|
|
|
modem1()
|
|
{
|
|
# sim 1
|
|
#i=461
|
|
#echo $i > /sys/class/gpio/export
|
|
#echo "out" > /sys/class/gpio/gpio${i}/direction
|
|
#echo "0" > /sys/class/gpio/gpio${i}/value
|
|
if [ -e /sys/class/gpio/sim1/value ]; then
|
|
echo "0" > /sys/class/gpio/sim1/value
|
|
elif [ -f /usr/bin/gpiofind ]; then
|
|
gpioset `gpiofind "sim1"`=0
|
|
else
|
|
gpioset -t0 sim1=0
|
|
fi
|
|
|
|
# stop modem 1
|
|
#i=459
|
|
#echo $i > /sys/class/gpio/export
|
|
#echo "out" > /sys/class/gpio/gpio${i}/direction
|
|
#echo "0" > /sys/class/gpio/gpio${i}/value
|
|
if [ -e /sys/class/gpio/modem1/value ]; then
|
|
echo "0" > /sys/class/gpio/modem1/value
|
|
elif [ -f /usr/bin/gpiofind ]; then
|
|
gpioset `gpiofind "modem1"`=0
|
|
else
|
|
gpioset -t0 modem1=0
|
|
fi
|
|
|
|
sleep 1
|
|
# run modem 1
|
|
#i=459
|
|
#echo "1" > /sys/class/gpio/gpio${i}/value
|
|
if [ -e /sys/class/gpio/modem1/value ]; then
|
|
echo "1" > /sys/class/gpio/modem1/value
|
|
elif [ -f /usr/bin/gpiofind ]; then
|
|
gpioset `gpiofind "modem1"`=1
|
|
else
|
|
gpioset -t0 modem1=1
|
|
fi
|
|
}
|
|
modem2()
|
|
{
|
|
# sim 2
|
|
#i=462
|
|
#echo $i > /sys/class/gpio/export
|
|
#echo "out" > /sys/class/gpio/gpio${i}/direction
|
|
#echo "0" > /sys/class/gpio/gpio${i}/value
|
|
if [ -e /sys/class/gpio/sim2/value ]; then
|
|
echo "0" > /sys/class/gpio/sim2/value
|
|
elif [ -f /usr/bin/gpiofind ]; then
|
|
gpioset `gpiofind "sim2"`=0
|
|
else
|
|
gpioset -t0 sim2=0
|
|
fi
|
|
|
|
# stop modem 2
|
|
#i=460
|
|
#echo $i > /sys/class/gpio/export
|
|
#echo "out" > /sys/class/gpio/gpio${i}/direction
|
|
#echo "0" > /sys/class/gpio/gpio${i}/value
|
|
if [ -e /sys/class/gpio/modem2/value ]; then
|
|
echo "0" > /sys/class/gpio/modem2/value
|
|
elif [ -f /usr/bin/gpiofind ]; then
|
|
gpioset `gpiofind "modem2"`=0
|
|
else
|
|
gpioset -t0 modem2=0
|
|
fi
|
|
|
|
sleep 1
|
|
# run modem 2
|
|
#i=460
|
|
#echo "1" > /sys/class/gpio/gpio${i}/value
|
|
if [ -e /sys/class/gpio/modem2/value ]; then
|
|
echo "1" > /sys/class/gpio/modem2/value
|
|
elif [ -f /usr/bin/gpiofind ]; then
|
|
gpioset `gpiofind "modem2"`=1
|
|
else
|
|
gpioset -t0 modem2=1
|
|
fi
|
|
}
|
|
start_service()
|
|
{
|
|
modem="$1"
|
|
if [ -z "$modem" ]; then
|
|
log "Enable SIMs and reboot modems..."
|
|
modem1
|
|
modem2
|
|
elif [ "$modem" = "modem1" ]; then
|
|
log "Enable SIM1 and reboot modem1..."
|
|
modem1
|
|
elif [ "$modem" = "modem2" ]; then
|
|
log "Enable SIM2 and reboot modem2..."
|
|
modem2
|
|
fi
|
|
} |