2025-04-27 21:12:19 +08:00

34 lines
702 B
Bash
Executable File

#!/bin/sh /etc/rc.common
START=95
STOP=0
USE_PROCD=1
start_service() {
:
}
stop_service() {
procd_set_param timeout 30
config_load qmodem
config_foreach _soft_reboot modem-device
}
_soft_reboot() {
config_get soft_reboot $1 soft_reboot
if [ "$soft_reboot" == "1" ]; then
config_get at_port $1 at_port
response=$(tom_modem -d "$at_port" -o a -c "AT+CFUN=1,1")
retries=3
while ! echo "$response" | grep -qi "ok" && [ $retries -gt 0 ]; do
sleep 1
response=$(tom_modem -d "$at_port" -o a -c "AT+CFUN=1,1")
retries=$((retries - 1))
done
max_retries=15
while [ -e "$at_port" ] && [ $max_retries -gt 0 ]; do
sleep 1
max_retries=$((max_retries - 1))
done
fi
}