104 lines
2.2 KiB
Bash
104 lines
2.2 KiB
Bash
#!/bin/sh /etc/rc.common
|
||
# Copyright (C) 2006-2014 OpenWrt.org
|
||
|
||
START=16
|
||
STOP=16
|
||
USE_PROCD=1
|
||
#使用procd启动
|
||
|
||
|
||
# start启动服务
|
||
# stop停止服务
|
||
# restart重新启动服务
|
||
# reload重新加载配置文件(如果服务未实现重新加载,则重新启动)
|
||
# enable启用服务自动启动
|
||
# disable禁用服务自动启动
|
||
# enabled检查服务是否在启动时启动
|
||
# 正在运行检查服务是否正在运行
|
||
# status服务状态
|
||
# trace从系统调用跟踪开始
|
||
|
||
runModem()
|
||
{
|
||
local enabled
|
||
config_get_bool enabled $1 enabled
|
||
echo "run runModem" >> /tmp/log4g
|
||
if [ "$enabled" = "1" ]; then
|
||
|
||
|
||
local user
|
||
local password
|
||
local apn
|
||
local auth
|
||
local pincode
|
||
local device
|
||
local tool
|
||
local pdptype
|
||
|
||
|
||
config_get user $1 user
|
||
config_get password $1 password
|
||
config_get apn $1 apn
|
||
config_get auth $1 auth
|
||
config_get pincode $1 pincode
|
||
config_get device $1 device
|
||
config_get tool $1 tool
|
||
config_get pdptype $1 pdptype
|
||
config_get tty $1 tty
|
||
config_get atcmd $1 atcmd
|
||
|
||
if [ "$pdptype" = "IPV4V6" ]; then
|
||
pdptype='-4 -6'
|
||
elif [ "$pdptype" = "IPV6" ]; then
|
||
pdptype='-6'
|
||
else
|
||
pdptype=''
|
||
fi
|
||
|
||
devname="$(basename "$device")"
|
||
devpath="$(readlink -f /sys/class/usbmisc/$devname/device/)"
|
||
ifname="$( ls "$devpath"/net )"
|
||
|
||
|
||
procd_open_instance
|
||
#创建一个实例, 在procd看来一个应用程序可以多个实\E4\BE?
|
||
#ubus call service list 可以查看实例
|
||
procd_set_param command $tool -i $ifname -s $apn $pdptype
|
||
if [ "$password" != "" ];then
|
||
procd_append_param command $user $password $auth
|
||
fi
|
||
if [ "$pincode" != "" ]; then
|
||
procd_append_param command -p $pincode
|
||
fi
|
||
# procd_append_param command -f /tmp/4g.log
|
||
procd_set_param respawn
|
||
echo "quectel-CM has started."
|
||
procd_close_instance
|
||
#关闭实例
|
||
fi
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
service_triggers()
|
||
{
|
||
procd_add_reload_trigger "modem"
|
||
}
|
||
|
||
start_service() {
|
||
config_load modem
|
||
config_foreach runModem ndis
|
||
}
|
||
|
||
stop_service()
|
||
{
|
||
echo "runModem stop" >> /tmp/log4g
|
||
killall quectel-CM
|
||
echo "quectel-CM has stoped."
|
||
}
|
||
|