mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-13 11:01:50 +00:00
36 lines
922 B
Text
36 lines
922 B
Text
|
#!/bin/sh
|
||
|
|
||
|
# SPDX-License-Identifier: CC0-1.0
|
||
|
# 2022 Aleksander Morgado <aleksander@aleksander.es>
|
||
|
#
|
||
|
# Automatically report to netifd that the underlying modem
|
||
|
# is really disconnected
|
||
|
#
|
||
|
# require program name and at least 4 arguments
|
||
|
[ $# -lt 4 ] && exit 1
|
||
|
|
||
|
MODEM_PATH="$1"
|
||
|
BEARER_PATH="$2"
|
||
|
INTERFACE="$3"
|
||
|
STATE="$4"
|
||
|
|
||
|
[ "${STATE}" = "disconnected" ] || exit 0
|
||
|
|
||
|
. /usr/share/ModemManager/modemmanager.common
|
||
|
. /lib/netifd/netifd-proto.sh
|
||
|
INCLUDE_ONLY=1 . /lib/netifd/proto/modemmanager.sh
|
||
|
|
||
|
MODEM_STATUS=$(mmcli --modem="${MODEM_PATH}" --output-keyvalue)
|
||
|
[ -n "${MODEM_STATUS}" ] || exit 1
|
||
|
|
||
|
MODEM_DEVICE=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.device")
|
||
|
[ -n "${MODEM_DEVICE}" ] || exit 2
|
||
|
|
||
|
CFG=$(mm_get_modem_config "${MODEM_DEVICE}")
|
||
|
[ -n "${CFG}" ] || exit 3
|
||
|
|
||
|
logger -t "modemmanager" "interface ${CFG} (network device ${INTERFACE}) ${STATE}"
|
||
|
proto_init_update $INTERFACE 0
|
||
|
proto_send_update $CFG
|
||
|
exit 0
|