From 3bb0686f56990fb732c53850bb74a2ac4fa50a95 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 25 Feb 2020 22:05:59 +0100 Subject: [PATCH] Fix signal from modemmanager --- luci-app-openmptcprouter/root/bin/omr-modemmanager | 13 +++++++------ .../root/usr/libexec/rpcd/openmptcprouter | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/luci-app-openmptcprouter/root/bin/omr-modemmanager b/luci-app-openmptcprouter/root/bin/omr-modemmanager index 4ab427a86..959921b74 100755 --- a/luci-app-openmptcprouter/root/bin/omr-modemmanager +++ b/luci-app-openmptcprouter/root/bin/omr-modemmanager @@ -1,11 +1,12 @@ #!/bin/sh MODEM_INTF=$1 [ -z "$MODEM_INTF" ] && return -ALL_MODEMS=$(timeout 1 mmcli -L) -for MODEM in $ALL_MODEMS; do +timeout 1 mmcli -L | while read MODEM; do MODEM_ID=$(echo $MODEM | awk -F' ' '{print $1}' | awk -F/ '{print $6}') - MODEM_INFO=$(timeout 1 mmcli -m $MODEM_ID --output-keyvalue | grep $MODEM_INTF) + MODEM_INFO="$(timeout 1 mmcli -m $MODEM_ID --output-keyvalue)" + if [ -n "$MODEM_INFO" ] && [ "$(echo "$MODEM_INFO" | grep 'modem.generic.device ' | awk -F": " '{print $2}')" = "$MODEM_INTF" ]; then + PERCENT=$(echo "$MODEM_INFO" | grep 'modem.generic.signal-quality.value' | awk -F": " '{print $2}') + echo $PERCENT + exit + fi done -[ -z "$MODEM_INFO" ] && return -PERCENT=$(echo $MODEM_INFO | grep 'modem.generic.signal-quality.value' | awk -F": " '{print $2}') -echo $PERCENT diff --git a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter index b605ea371..a130cb0e0 100755 --- a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter +++ b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter @@ -1030,7 +1030,7 @@ function interfaces_status() signal = sys.exec("omr-3g " .. device) elseif proto == "modemmanager" then local device = section['device'] - signal = sys.exec("omr-modemmanager " .. ifname) + signal = sys.exec("omr-modemmanager " .. device) end end