mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-13 02:51:50 +00:00
Fix and force PIN for modemmanager in omr-tracker post-tracking script
This commit is contained in:
parent
868706760e
commit
5eb157e2a0
1 changed files with 18 additions and 3 deletions
|
@ -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)" ] && {
|
||||
|
|
Loading…
Reference in a new issue