39 lines
837 B
Bash
39 lines
837 B
Bash
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2006 OpenWrt.org
|
|
USE_PROCD=1
|
|
|
|
START=95
|
|
STOP=0
|
|
|
|
start_service() {
|
|
:
|
|
}
|
|
|
|
stop_service() {
|
|
procd_set_param timeout 30
|
|
config_load qmodem
|
|
config_foreach _reboot_usb modem-device
|
|
|
|
}
|
|
|
|
_reboot_usb() {
|
|
config_get data_interface $1 data_interface
|
|
if [ "$data_interface" == "usb" ]; then
|
|
config_get name $1 name
|
|
if [ "$name" == "fm350-gl" ]; 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 "/dev/$at_port" ] && [ $max_retries -gt 0 ]; do
|
|
sleep 1
|
|
max_retries=$((max_retries - 1))
|
|
done
|
|
fi
|
|
fi
|
|
} |