Merge pull request #3804 from dibdot/travelmate
travelmate: bugfix 0.3.1
This commit is contained in:
commit
72d7cb2b59
3 changed files with 19 additions and 11 deletions
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue