travelmate: bugfix 0.3.1 3804/head
authorDirk Brenken <dev@brenken.org>
Mon, 9 Jan 2017 18:46:57 +0000 (19:46 +0100)
committerDirk Brenken <dev@brenken.org>
Mon, 9 Jan 2017 18:46:57 +0000 (19:46 +0100)
* fix error handling, i.e. a wrong uplink key in wireless config

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

index 48f12ba56a1c819e6a1a5ab21800f960ecfbb82e..20f9d9f5cb537424494fa969e8d9084577adad87 100644 (file)
@@ -1,12 +1,12 @@
 #
-# Copyright (c) 2016 Dirk Brenken (dev@brenken.org)
+# Copyright (c) 2016-2017 Dirk Brenken (dev@brenken.org)
 # This is free software, licensed under the GNU General Public License v3.
 #
 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=travelmate
-PKG_VERSION:=0.3.0
+PKG_VERSION:=0.3.1
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
index eefe8886f733fef2f7f32430266d2138ecd6df35..4cd39d60d285fdbff831b6a9baac6d3fdb414fea 100644 (file)
@@ -7,7 +7,7 @@ To avoid these kind of deadlocks, travelmate set all station interfaces in an "a
 
 ## Main Features
 * STA interfaces operating in an "always off" mode, to make sure that the AP is always accessible
-* zero-conf like automatic installation & setup, usually no manual changes needed
+* easy setup within normal OpenWrt/LEDE environment
 * fast uplink connections
 * procd init system support
 * procd based hotplug support, the travelmate start will be triggered by interface triggers
index 726fd951dcc58a16057bd8a81664a920d3ec5a67..4281f4ea2bed574235900117031a39b93f45b27c 100755 (executable)
@@ -10,7 +10,7 @@
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-trm_ver="0.3.0"
+trm_ver="0.3.1"
 trm_enabled=1
 trm_debug=0
 trm_maxwait=20
@@ -80,10 +80,10 @@ f_prepare()
 
 f_check()
 {
-    local ifname cnt=0 mode="${1}"
+    local ifname cnt=1 mode="${1}"
     trm_ifstatus="false"
 
-    while [ ${cnt} -lt ${trm_maxwait} ]
+    while [ ${cnt} -le ${trm_maxwait} ]
     do
         ifname="$(ubus -S call network.wireless status | jsonfilter -l 1 -e "@.*.interfaces[@.config.mode=\"${mode}\"].ifname")"
         if [ "${mode}" = "sta" ]
@@ -121,7 +121,7 @@ f_log()
 
 f_main()
 {
-    local ap_list ssid_list config network ssid cnt=0
+    local ap_list ssid_list config network ssid cnt=1
 
     f_check "sta"
     if [ "${trm_ifstatus}" != "true" ]
@@ -142,7 +142,7 @@ f_main()
         fi
         for ap in ${ap_list}
         do
-            while [ ${cnt} -lt ${trm_maxretry} ]
+            while [ ${cnt} -le ${trm_maxretry} ]
             do
                 if [ ${trm_iw} -eq 1 ]
                 then
@@ -164,10 +164,18 @@ f_main()
                         then
                             uci -q set wireless."${config}".disabled=0
                             uci -q commit wireless
-                            ubus call network.interface."${network}" up
                             ubus call network reload
-                            f_log "info " "main    ::: wwan interface connected to uplink ${ssid}"
-                            return 0
+                            f_check "sta"
+                            if [ "${trm_ifstatus}" = "true" ]
+                            then
+                                f_log "info " "main    ::: wwan interface connected to uplink ${ssid} (${cnt}/${trm_maxretry})"
+                                return 0
+                            else
+                                uci -q set wireless."${config}".disabled=1
+                                uci -q commit wireless
+                                ubus call network reload
+                                f_log "info " "main    ::: wwan interface can't connect to uplink ${ssid} (${cnt}/${trm_maxretry})"
+                            fi
                         fi
                     done
                 fi