67 lines
1.1 KiB
Bash
Executable File
67 lines
1.1 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
START=99
|
|
STOP=13
|
|
USE_PROCD=1
|
|
|
|
#脚本目录
|
|
SCRIPT_DIR="/usr/share/qmodem"
|
|
|
|
#运行目录
|
|
MODEM_RUNDIR="/var/run/qmodem"
|
|
|
|
service_triggers()
|
|
{
|
|
procd_add_reload_trigger "qmodem"
|
|
|
|
}
|
|
|
|
start_service() {
|
|
mkdir -p $MODEM_RUNDIR
|
|
|
|
#加载模组配置
|
|
config_load qmodem
|
|
config_get enabled global enable_dial
|
|
[ "$enabled" = "0" ] && config_foreach hang_modem modem-device && stop
|
|
config_foreach run_modem modem-device
|
|
}
|
|
|
|
reload_service()
|
|
{
|
|
stop
|
|
start
|
|
}
|
|
|
|
stop_service()
|
|
{
|
|
#清理运行目录
|
|
config_load qmodem
|
|
config_foreach hang_modem modem-device
|
|
}
|
|
|
|
|
|
|
|
run_modem()
|
|
{
|
|
config_get state $1 state
|
|
if [ "$state" = "disabled" ] ;then
|
|
return
|
|
fi
|
|
config_get enabled $1 enable_dial
|
|
if [ "$enabled" = "0" ] ;then
|
|
hang_modem $1
|
|
return
|
|
fi
|
|
procd_open_instance "modem_$1"
|
|
procd_set_param command "/usr/share/qmodem/modem_dial.sh" "$1" dial
|
|
procd_set_param respawn
|
|
procd_close_instance
|
|
logger -t modem_network "dial modem $1"
|
|
}
|
|
|
|
hang_modem()
|
|
{
|
|
service_stop "modem_$1"
|
|
"/usr/share/qmodem/modem_dial.sh" "$1" hang
|
|
logger -t modem_network "hang modem $1"
|
|
}
|