2023-12-11 23:33:23 +08:00

104 lines
2.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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."
}