1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-12 18:41:51 +00:00

Increase default sleep on ModemManager modem restart and add it as a parameter in network luci interface

This commit is contained in:
Ycarus (Yannick Chabanois) 2024-09-18 19:38:52 +02:00
parent c525e9c9f2
commit ef0040e56f
3 changed files with 13 additions and 7 deletions

View file

@ -159,6 +159,10 @@ return network.registerProtocol('modemmanager', {
s.taboption('advanced', form.Flag, 'debugmode', _('Enable Debugmode')); s.taboption('advanced', form.Flag, 'debugmode', _('Enable Debugmode'));
o = s.taboption('advanced', form.Value, 'delay', _('Modem init timeout'), _('Amount of seconds to wait for the modem to become ready'));
o.datatype = 'uinteger';
o.placeholder = '120';
o = s.taboption('advanced', form.ListValue, 'loglevel', _('Log output level')); o = s.taboption('advanced', form.ListValue, 'loglevel', _('Log output level'));
o.value('ERR', _('Error')) o.value('ERR', _('Error'))
o.value('WARN', _('Warning')); o.value('WARN', _('Warning'));

View file

@ -263,6 +263,8 @@ _restart
OMR_TRACKER_INTERFACE_PROTO="$(uci -q get network.${OMR_TRACKER_INTERFACE}.proto)" OMR_TRACKER_INTERFACE_PROTO="$(uci -q get network.${OMR_TRACKER_INTERFACE}.proto)"
OMR_TRACKER_PREV_STATUS="" OMR_TRACKER_PREV_STATUS=""
[ "$OMR_TRACKER_INTERFACE_PROTO" = "modemmanager" ] && sleep $(uci -q get network.${OMR_TRACKER_INTERFACE}.delay || echo '120')
# main loop # main loop
while true; do while true; do
# setup tracker variables # setup tracker variables

View file

@ -41,7 +41,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp
if [ "$mm_state_failed" = "unknown-capabilities" ]; then if [ "$mm_state_failed" = "unknown-capabilities" ]; then
_log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..." _log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..."
/usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1 /usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1
sleep 30 sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
elif false && [ "$mm_state_failed" = "sim-missing" ]; then elif false && [ "$mm_state_failed" = "sim-missing" ]; then
_log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..." _log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..."
/usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1 /usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1
@ -56,7 +56,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp
sleep 5 sleep 5
_log "Set $OMR_TRACKER_INTERFACE up" _log "Set $OMR_TRACKER_INTERFACE up"
ifup $OMR_TRACKER_INTERFACE ifup $OMR_TRACKER_INTERFACE
sleep 30 sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.restart_intf=1 uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.restart_intf=1
uci -q commit openmptcprouter uci -q commit openmptcprouter
elif [ "$mm_state" = "disabled" ]; then elif [ "$mm_state" = "disabled" ]; then
@ -64,12 +64,12 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) disabled, set it up" _log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) disabled, set it up"
/usr/bin/mmcli -m ${modem} -e >/dev/null 2>&1 /usr/bin/mmcli -m ${modem} -e >/dev/null 2>&1
ifup $OMR_TRACKER_INTERFACE ifup $OMR_TRACKER_INTERFACE
sleep 30 sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
elif [ "$mm_state" = "registered" ]; then elif [ "$mm_state" = "registered" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) registered, reset it" _log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) registered, reset it"
#ifup $OMR_TRACKER_INTERFACE #ifup $OMR_TRACKER_INTERFACE
/usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1 /usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1
sleep 30 sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
elif [ "$mm_state" = "locked" ]; then elif [ "$mm_state" = "locked" ]; then
mm_unlock_required=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.unlock-required") mm_unlock_required=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.unlock-required")
mm_generic_sim=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.sim") mm_generic_sim=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.sim")
@ -82,15 +82,15 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp
if [ "$mm_unlock_retries" -gt "1" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then if [ "$mm_unlock_retries" -gt "1" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PIN" _log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PIN"
mmcli -a -m ${modem} -i $mm_generic_sim --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) >/dev/null 2>&1 mmcli -a -m ${modem} -i $mm_generic_sim --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) >/dev/null 2>&1
sleep 20 sleep 30
ifup $OMR_TRACKER_INTERFACE ifup $OMR_TRACKER_INTERFACE
fi fi
fi fi
elif [ "$mm_unlock_required" = "sim-puk" ] && [ "$mm_unlock_retries" -gt "1" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode)" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then elif [ "$mm_unlock_required" = "sim-puk" ] && [ "$mm_unlock_retries" -gt "1" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode)" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PUK" _log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PUK"
mmcli -i $mm_generic_sim --puk=$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode) --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) >/dev/null 2>&1 mmcli -i $mm_generic_sim --puk=$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode) --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) >/dev/null 2>&1
sleep 30
fi fi
sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
fi fi
fi fi
if [ "$modemfind" = "0" ]; then if [ "$modemfind" = "0" ]; then
@ -99,7 +99,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp
#_log "Can't find $OMR_TRACKER_INTERFACE in ModemManager, restart modemmanager..." #_log "Can't find $OMR_TRACKER_INTERFACE in ModemManager, restart modemmanager..."
_log "Can't find $OMR_TRACKER_INTERFACE in ModemManager" _log "Can't find $OMR_TRACKER_INTERFACE in ModemManager"
#/etc/init.d/modemmanager restart #/etc/init.d/modemmanager restart
sleep 30 sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
fi fi
fi fi
#elif [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] && [ "$interface_available" = "false" ]; then #elif [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] && [ "$interface_available" = "false" ]; then