op-packages/simman2/files/simman2.init
github-actions[bot] b86d032e91 🤞 Sync 2026-04-23 06:19:46
2026-04-23 06:19:46 +08:00

71 lines
1.2 KiB
Bash
Executable File

#!/bin/sh /etc/rc.common
START=80
STOP=10
USE_PROCD=1
DIR=/sbin
PROG=simman2
error(){
echo "${initscript}:" "$@" 1>&2
}
xappend() {
local filename="$1"
local value="$2"
echo "${value#--}" >> "$filename"
}
modem_power_off() {
echo "simman2: power off $1 modem" > /dev/kmsg
simman2_cli -x $1
}
section_enabled(){
config_get_bool enabled "$1" 'enabled' 0
[ $enabled -gt 0 ]
}
start_service_daemon(){
local s="$1"
section_enabled "$s" || return 1
config_get ATDEVICE "$s" atdevice
config_get FIRSTSTART "$s" firststart
if [[ "$FIRSTSTART" -eq "1" ]]; then
/etc/simman2/modeminit $ATDEVICE &
/etc/simman2/nbmodeminit &
uci_set simman2 "$1" firststart "0"
uci_commit simman2
fi
procd_open_instance
procd_set_param command $DIR/$PROG -c $s
procd_set_param respawn ${respawn_threshold:-360} ${respawn_timeout:-5} ${respawn_retry:-0}
procd_close_instance
}
start_service(){
mkdir -p /var/simman2/dev
config_load 'simman2'
config_foreach start_service_daemon 'simman2'
}
service_triggers()
{
procd_add_reload_trigger "simman2"
}
reload_service() {
stop
start
}
shutdown() {
stop
config_load 'simman2'
config_foreach modem_power_off 'simman2'
}