#!/bin/sh # SPDX-License-Identifier: CC0-1.0 # 2022 Aleksander Morgado # # 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