mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-15 18:03:30 +00:00
81 lines
1.8 KiB
Bash
Executable File
81 lines
1.8 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2006-2014 OpenWrt.org
|
|
|
|
START=99
|
|
STOP=16
|
|
USE_PROCD=1
|
|
#使用procd启动
|
|
|
|
run_4g()
|
|
{
|
|
local enabled
|
|
config_get_bool enabled $1 enabled
|
|
|
|
echo "run 4G" >> /tmp/log4g
|
|
|
|
if [ "$enabled" = "1" ]; then
|
|
local user
|
|
local password
|
|
local apn
|
|
local auth
|
|
local pincode
|
|
local device
|
|
local tool
|
|
|
|
# echo "enable 4G" >> /tmp/log4g
|
|
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 tty $1 tty
|
|
config_get atcmd $1 atcmd
|
|
|
|
devname="$(basename "$device")"
|
|
devpath="$(readlink -f /sys/class/usbmisc/$devname/device/)"
|
|
ifname="$( ls "$devpath"/net )"
|
|
|
|
if [ "$tool" = "at" ];then
|
|
at_tool "$atcmd" -d $tty
|
|
else
|
|
procd_open_instance
|
|
#创建一个实例, 在procd看来一个应用程序可以多个实\E4\BE?
|
|
#ubus call service list 可以查看实例
|
|
procd_set_param command $tool -i $ifname -s $apn
|
|
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
|
|
|
|
fi
|
|
}
|
|
|
|
|
|
service_triggers()
|
|
{
|
|
procd_add_reload_trigger "gobinetmodem"
|
|
}
|
|
|
|
start_service() {
|
|
config_load gobinetmodem
|
|
config_foreach run_4g service
|
|
}
|
|
|
|
stop_service()
|
|
{
|
|
echo "4G stop" >> /tmp/log4g
|
|
killall quectel-CM
|
|
echo "quectel-CM has stoped."
|
|
}
|
|
|