mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Add force connection setting to ModemManager
This commit is contained in:
parent
da1accdb06
commit
380117a155
1 changed files with 17 additions and 6 deletions
|
@ -276,6 +276,7 @@ proto_modemmanager_init_config() {
|
|||
proto_config_add_int signalrate
|
||||
proto_config_add_boolean lowpower
|
||||
proto_config_add_boolean allow_roaming
|
||||
proto_config_add_boolean force_connection
|
||||
proto_config_add_string init_epsbearer
|
||||
proto_config_add_string init_iptype
|
||||
proto_config_add_string 'init_allowedauth:list(string)'
|
||||
|
@ -423,6 +424,7 @@ proto_modemmanager_setup() {
|
|||
|
||||
local device apn allowedauth username password pincode
|
||||
local iptype plmn metric signalrate allow_roaming
|
||||
local force_connection
|
||||
|
||||
local init_epsbearer
|
||||
local init_iptype init_allowedauth
|
||||
|
@ -432,7 +434,7 @@ proto_modemmanager_setup() {
|
|||
|
||||
json_get_vars device apn allowedauth username password
|
||||
json_get_vars pincode iptype sourcefilter plmn metric signalrate allow_roaming
|
||||
json_get_vars allowedmode preferredmode
|
||||
json_get_vars allowedmode preferredmode force_connection
|
||||
|
||||
json_get_vars init_epsbearer
|
||||
json_get_vars init_iptype init_allowedauth
|
||||
|
@ -473,8 +475,13 @@ proto_modemmanager_setup() {
|
|||
mmcli --modem="${device}" \
|
||||
--timeout 120 \
|
||||
--3gpp-register-in-operator="${plmn}" || {
|
||||
proto_notify_error "${interface}" MM_3GPP_OPERATOR_REGISTRATION_FAILED
|
||||
proto_block_restart "${interface}"
|
||||
if [ -n "${force_connection}" ] && [ "${force_connection}" -eq 1 ]; then
|
||||
echo "3GPP operator registration failed -> attempting restart"
|
||||
proto_notify_error "${interface}" MM_INTERFACE_RESTART
|
||||
else
|
||||
proto_notify_error "${interface}" MM_3GPP_OPERATOR_REGISTRATION_FAILED
|
||||
proto_block_restart "${interface}"
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
}
|
||||
|
@ -551,7 +558,6 @@ proto_modemmanager_setup() {
|
|||
|
||||
# setup connect args; APN mandatory (even if it may be empty)
|
||||
echo "starting connection with apn '${apn}'..."
|
||||
proto_notify_error "${interface}" MM_CONNECT_IN_PROGRESS
|
||||
|
||||
# setup allow-roaming parameter
|
||||
if [ -n "${allow_roaming}" ] && [ "${allow_roaming}" -eq 0 ];then
|
||||
|
@ -576,8 +582,13 @@ proto_modemmanager_setup() {
|
|||
append_param "${password:+password=${password}}"
|
||||
|
||||
mmcli --modem="${device}" --timeout 120 --simple-connect="${connectargs}" || {
|
||||
proto_notify_error "${interface}" MM_CONNECT_FAILED
|
||||
proto_block_restart "${interface}"
|
||||
if [ -n "${force_connection}" ] && [ "${force_connection}" -eq 1 ]; then
|
||||
echo "Connection failed -> attempting restart"
|
||||
proto_notify_error "${interface}" MM_INTERFACE_RESTART
|
||||
else
|
||||
proto_notify_error "${interface}" MM_CONNECT_FAILED
|
||||
proto_block_restart "${interface}"
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue