1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
This commit is contained in:
suyuan 2024-05-14 16:10:08 +08:00 committed by GitHub
commit 67f9d20c76
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 24 additions and 8 deletions

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libqmi
#PKG_SOURCE_VERSION:=1.34.0
PKG_SOURCE_VERSION:=1.35.3-dev
PKG_SOURCE_VERSION:=1.35.4-dev
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git

View file

@ -743,20 +743,21 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
# ifup $OMR_TRACKER_INTERFACE
# sleep 30
#if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] && [ "$interface_up" = "false" ] && [ "$interface_available" = "false" ] && [ "$interface_pending" = "false" ] && [ "$interface_autostart" = "true" ]; then
if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] && [ "$interface_autostart" = "true" ]; then
if [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ]; then
modemfind="0"
for modem in $(timeout 3 mmcli -L | awk -F/ '{ print $6}' | awk '{print $1}'); do
modeminfo="$(timeout 2 mmcli -m $modem -K)"
device="$(uci -q get network.$OMR_TRACKER_INTERFACE.device)"
if [ -n "$(echo $modeminfo | grep $device)" ]; then
modemfind="1"
if [ -n "$(echo $modeminfo | grep 'modem.generic.state ' | grep failed)" ]; then
mm_state="$(timeout 2 mmcli -m $modem -K | awk '/modem.generic.state / {print $3}' | tr -d '\n')"
if [ "$mm_state" = "failed" ]; then
if [ -n "$(echo $modeminfo | grep 'modem.generic.state-failed-reason' | grep 'unknown-capabilities')" ]; then
_log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..."
/usr/bin/mmcli -m ${modem} -r 2>&1 >/dev/null
sleep 30
fi
elif [ -n "$(echo $modeminfo | grep 'modem.generic.state ' | grep connected)" ] || [ -n "$(echo $modeminfo | grep 'modem.generic.state ' | grep enabled)" ]; then
elif [ "$mm_state" = "connected" ] || [ "$mm_state" = "enabled" ]; then
# [ -n "$(echo $modeminfo | grep 'modem.3gpp.registration-state ' | grep home)" ]; then
_log "No answer from $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE), restart interface"
_log "Set $OMR_TRACKER_INTERFACE down"
@ -765,6 +766,19 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
_log "Set $OMR_TRACKER_INTERFACE up"
ifup $OMR_TRACKER_INTERFACE
sleep 30
elif [ "$mm_state" = "disabled" ]; then
# [ -n "$(echo $modeminfo | grep 'modem.3gpp.registration-state ' | grep home)" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) disabled, set it up"
ifup $OMR_TRACKER_INTERFACE
sleep 30
elif [ "$mm_state" = "locked" ]; then
# Sometimes PIN is not correctly sent to modem
if [ -z "$(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry)" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PIN"
mmcli -i $(timeout 2 mmcli -m $modem -K | awk '/modem.generic.sim / {print $3}') --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)
sleep 30
uci -q set network.$OMR_TRACKER_INTERFACE.pin_retry=1
fi
fi
fi
done
@ -1043,6 +1057,7 @@ fi
if [ "$OMR_TRACKER_PREV_STATUS" != "" ] && [ "$OMR_TRACKER_PREV_STATUS" != "$OMR_TRACKER_STATUS" ] && [ -n "$OMR_TRACKER_INTERFACE" ]; then
_log "$OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) switched up"
uci -q delete network.$OMR_TRACKER_INTERFACE.pin_retry
mail_alert="$(uci -q get omr-tracker.$OMR_TRACKER_INTERFACE.mail_alert)"
[ -z "$mail_alert" ] && mail_alert="$(uci -q get omr-tracker.defaults.mail_alert)"
[ "$mail_alert" = "1" ] && [ -n "$(uci -q get mail.default.to)" ] && {

View file

@ -134,7 +134,6 @@ _check_master() {
local count=0
local countips=0
local changes="0"
local oneserverup="0"
config_get master $1 master
config_get ip $1 ip
config_get port $1 port "65500"
@ -143,6 +142,7 @@ _check_master() {
[ "$master" = "1" ] && [ -n "$ip" ] && [ "$disabled" != "1" ] && {
check_ip() {
local ipd=$1
server_ping=false
#[ -n "$serverip" ] && [ "$server_ping" = true ] && return
ipresolve="$(resolveip -4 $ipd | head -n 1)"
if [ -n "$ipresolve" ]; then
@ -312,7 +312,6 @@ _check_backup() {
local count=0
local countips=0
local changes="0"
local oneserverup="0"
config_get backup $1 backup
config_get ip $1 ip
config_get port $1 port
@ -321,7 +320,8 @@ _check_backup() {
[ "$backup" = "1" ] && [ -n "$ip" ] && [ "$disabled" != "1" ] && {
check_ip() {
local ipd=$1
[ -n "$serverip" ] && [ "$server_ping" = true ] && return
server_ping=false
#[ -n "$serverip" ] && [ "$server_ping" = true ] && return
ipresolve="$(resolveip -4 $ipd | head -n 1)"
if [ -n "$ipresolve" ]; then
serverip="$ipresolve"
@ -498,9 +498,10 @@ retry=${OMR_TRACKER_TRIES:-4}
waittest=${OMR_TRACKER_WAIT_TEST:-0}
while true; do
server_ping=false
oneserverup="0"
config_load openmptcprouter
config_foreach _check_master server
[ "$server_ping" = false ] && {
[ "$oneserverup" = "0" ] && {
config_load openmptcprouter
config_foreach _check_backup server
}