mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-09-11 19:05:11 +08:00
108 lines
2.3 KiB
Bash
Executable File
108 lines
2.3 KiB
Bash
Executable File
#!/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."
|
|
}
|
|
|
|
|
|
reload_service() {
|
|
restart
|
|
}
|