39 lines
694 B
Bash
Executable File
39 lines
694 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
|
|
[ "$soft_reboot" != "1" ] && return 0
|
|
|
|
config_get at_port $1 at_port
|
|
[ -z "$at_port" ] && return 0
|
|
|
|
for i in $(seq 1 3); do
|
|
response=$(tom_modem -d "$at_port" -o a -c "AT+CFUN=1,1")
|
|
echo "$response" | grep -qi "ok" && break
|
|
sleep 1
|
|
done
|
|
|
|
for i in $(seq 1 15); do
|
|
[ ! -e "$at_port" ] && {
|
|
echo "Device disconnected after $i seconds"
|
|
return 0
|
|
}
|
|
sleep 1
|
|
done
|
|
|
|
echo "Device did not disconnect within timeout period"
|
|
return 0
|
|
} |