travelmate: update 1.2.4
authorDirk Brenken <dev@brenken.org>
Fri, 5 Oct 2018 08:37:41 +0000 (10:37 +0200)
committerDirk Brenken <dev@brenken.org>
Fri, 5 Oct 2018 08:37:41 +0000 (10:37 +0200)
* with the config option 'trm_radio' you can now restrict travelmate
  to a single radio (e.g. 'radio1') or change the overall
  scanning order (e.g. 'radio1 radio2 radio0')
* LuCI: show QR codes now inline on the overview page
  (collapsed by default)

Signed-off-by: Dirk Brenken <dev@brenken.org>
net/travelmate/Makefile
net/travelmate/files/README.md
net/travelmate/files/travelmate.sh

index f20b94aed14175df569ed2f1807ce8cfefdcc4ee..aeb449853e2d626981fb5c3ede7f6ec37bde902f 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=travelmate
-PKG_VERSION:=1.2.3
+PKG_VERSION:=1.2.4
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
index 063f33e32b3cac102cae43093dee29233f03cb90..d44e6d0aae58e5f2ca0882aef4822840124d916a 100644 (file)
@@ -13,7 +13,7 @@ To avoid these kind of deadlocks, travelmate set all station interfaces in an "a
 * support all kinds of uplinks, incl. hidden and enterprise uplinks
 * continuously checks the existing uplink connection (quality), e.g. for conditional uplink (dis-) connections
 * captive portal detection with internet online check and a 'heartbeat' function to keep the uplink connection up & running
-* support of devices with multiple radios
+* support devices with multiple radios in any order
 * procd init and hotplug support
 * runtime information available via LuCI & via 'status' init command
 * status & debug logging to syslog
@@ -46,7 +46,7 @@ To avoid these kind of deadlocks, travelmate set all station interfaces in an "a
     * trm\_maxwait => how long (in seconds) should travelmate wait for a successful wlan interface reload action (int/default: '30', valid range: 20-40)
     * trm\_maxretry => how many times should travelmate try to connect to an uplink (int/default: '3', valid range: 1-10)
     * trm\_timeout => overall retry timeout in seconds (int/default: '60', valid range: 30-300)
-    * trm\_radio => limit travelmate to a dedicated radio, e.g. 'radio0' (default: not set, use all radios)
+    * trm\_radio => limit travelmate to a single radio (e.g. 'radio1') or change the overall scanning order (e.g. 'radio1 radio2 radio0') (default: not set, use all radios 0-n)
     * trm\_iface => main uplink / procd trigger network interface (default: trm_wwan)
     * trm\_triggerdelay => additional trigger delay in seconds before travelmate processing begins (int/default: '2')
 
index 6d1c266de959401a010e9cf09897bbd8fc5ab84a..61b036cefa3bbda245d54dcdde26fea3eb82b8b3 100755 (executable)
@@ -10,7 +10,7 @@
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-trm_ver="1.2.3"
+trm_ver="1.2.4"
 trm_sysver="unknown"
 trm_enabled=0
 trm_debug=0
@@ -101,10 +101,12 @@ f_prep()
        local disabled="$(uci_get wireless "${config}" disabled)"
        local eaptype="$(uci_get wireless "${config}" eap_type)"
 
-       if ([ -z "${trm_radio}" ] || [ "${trm_radio}" = "${radio}" ]) && \
-               [ -z "$(printf "%s" "${trm_radiolist}" | grep -Fo " ${radio}")" ]
+       if [ -z "${trm_radio}" ] && [ -z "$(printf "%s" "${trm_radiolist}" | grep -Fo " ${radio}")" ]
        then
                trm_radiolist="${trm_radiolist} ${radio}"
+       elif [ -n "${trm_radio}" ] && [ -z "${trm_radiolist}" ]
+       then
+               trm_radiolist="$(printf "%s" "${trm_radio}" | awk '{while(match(tolower($0),/radio[0-9]/)){ORS=" ";print substr(tolower($0),RSTART,RLENGTH);$0=substr($0,RSTART+RLENGTH)}}')"
        fi
        if [ "${mode}" = "sta" ] && [ "${network}" = "${trm_iface}" ]
        then