travelmate: update to 2.0.5-2 16352/head
authorDirk Brenken <dev@brenken.org>
Fri, 13 Aug 2021 06:28:29 +0000 (08:28 +0200)
committerDirk Brenken <dev@brenken.org>
Fri, 13 Aug 2021 06:28:29 +0000 (08:28 +0200)
* scan for open uplinks even if no other station has been added/configured

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

index fbe3dc6b652bfa399c6d67e7f35d634ed3b17a0a..eb77252ded0a7a89c7bbb7bd36c209c54d47c884 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=travelmate
 PKG_VERSION:=2.0.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
 
index 2bfdbecc99dc6948b0157590d94145380a752757..12d41061186a6943d0a8f54f119694ce52fb3c97 100755 (executable)
@@ -73,8 +73,6 @@ f_env() {
                elif [ "${name}" = "uplink" ]; then
                        if [ "$(uci_get "travelmate.${type}.opensta")" = "1" ]; then
                                eval "trm_opensta=\"$((${trm_opensta:-0} + 1))\""
-                       else
-                               eval "trm_opensta=\"${trm_opensta:-0}\""
                        fi
                else
                        option_cb() {
@@ -391,7 +389,7 @@ f_addsta() {
        local IFS uci_cfg new_uplink="1" offset="1" radio="${1}" essid="${2}"
 
 
-       if [ "${trm_maxautoadd}" = "0" ] || [ "${trm_opensta}" -lt "${trm_maxautoadd}" ]; then
+       if [ "${trm_maxautoadd}" = "0" ] || [ "${trm_opensta:-0}" -lt "${trm_maxautoadd}" ]; then
                config_cb() {
                        local type="${1}" name="${2}"
 
@@ -737,33 +735,35 @@ f_main() {
                for radio in ${trm_radiolist}; do
                        if ! printf "%s" "${trm_stalist}" | grep -q "\\-${radio}"; then
                                if [ "${trm_autoadd}" = "0" ]; then
-                                       f_log "info" "no station on radio '${radio}'"
+                                       f_log "info" "no enabled station on radio '${radio}'"
                                        continue
                                fi
                        fi
 
                        # station loop
                        #
-                       for sta in ${trm_stalist}; do
-                               section="${sta%%-*}"
-                               sta_radio="$(uci_get "wireless" "${section}" "device")"
-                               sta_essid="$(uci_get "wireless" "${section}" "ssid")"
-                               sta_bssid="$(uci_get "wireless" "${section}" "bssid")"
-                               sta_iface="$(uci_get "wireless" "${section}" "network")"
-                               sta_mac="$(f_mac "get" "${section}")"
-
-                               if [ -z "${sta_radio}" ] || [ -z "${sta_essid}" ] || [ -z "${sta_iface}" ]; then
-                                       f_log "info" "invalid wireless section '${section}'"
-                                       continue
-                               fi
+                       for sta in ${trm_stalist:-"${radio}"}; do
+                               if [ "${sta}" != "${radio}" ]; then
+                                       section="${sta%%-*}"
+                                       sta_radio="$(uci_get "wireless" "${section}" "device")"
+                                       sta_essid="$(uci_get "wireless" "${section}" "ssid")"
+                                       sta_bssid="$(uci_get "wireless" "${section}" "bssid")"
+                                       sta_iface="$(uci_get "wireless" "${section}" "network")"
+                                       sta_mac="$(f_mac "get" "${section}")"
+
+                                       if [ -z "${sta_radio}" ] || [ -z "${sta_essid}" ] || [ -z "${sta_iface}" ]; then
+                                               f_log "info" "invalid wireless section '${section}'"
+                                               continue
+                                       fi
 
-                               if [ "${radio}" = "${config_radio}" ] && [ "${sta_radio}" = "${config_radio}" ] &&
-                                       [ "${sta_essid}" = "${config_essid}" ] && [ "${sta_bssid}" = "${config_bssid}" ]; then
-                                       f_ctrack "refresh"
-                                       f_log "info" "uplink still in range '${config_radio}/${config_essid}/${config_bssid:-"-"}' with mac '${sta_mac:-"-"}'"
-                                       break 2
+                                       if [ "${radio}" = "${config_radio}" ] && [ "${sta_radio}" = "${config_radio}" ] &&
+                                               [ "${sta_essid}" = "${config_essid}" ] && [ "${sta_bssid}" = "${config_bssid}" ]; then
+                                               f_ctrack "refresh"
+                                               f_log "info" "uplink still in range '${config_radio}/${config_essid}/${config_bssid:-"-"}' with mac '${sta_mac:-"-"}'"
+                                               break 2
+                                       fi
+                                       f_log "debug" "f_main-4 ::: sta_radio: ${sta_radio}, sta_essid: \"${sta_essid}\", sta_bssid: ${sta_bssid:-"-"}"
                                fi
-                               f_log "debug" "f_main-4 ::: sta_radio: ${sta_radio}, sta_essid: \"${sta_essid}\", sta_bssid: ${sta_bssid:-"-"}"
                                if [ -z "${scan_list}" ]; then
                                        scan_dev="$(ubus -S call network.wireless status 2>/dev/null | jsonfilter -q -l1 -e "@.${radio}.interfaces[0].ifname")"
                                        scan_list="$("${trm_iwinfo}" "${scan_dev:-${radio}}" scan 2>/dev/null |