Travelmate support thread

Hi,

in the OpenWrt stable & snapshot package repo you'll find the travelmate package, a wlan connection manager for travel router.

Main Features

  • STA interfaces operating in an "always off" mode, to make sure that the AP is always accessible
  • Easy setup within normal OpenWrt environment
  • Strong LuCI-Support with builtin interface wizard and wireless connection manager
  • Fast uplink connections
  • Support all kinds of uplinks, incl. hidden and enterprise uplinks
  • WPA3 support
  • includes a vpn hook with support for 'wireguard' or 'openvpn' client setups to handle VPN (re-) connections automatically
  • includes an email hook to 'msmtp' to send notification e-mails after every succesful uplink connect
  • 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
  • automatically add open uplinks to your wireless config, e.g. hotel captive portals (disabled by default)
  • captive portal auto-login hook (configured via uci/LuCI), you could reference an external script for captive portal auto-logins
  • treats a missing internet availability as an error (optional, disabled by default)
  • proactively scan and switch to a higher prioritized uplink, despite of an already existing connection
  • opt-out/temp. stores faulty uplinks in a 'Faulty Stations' list
  • automatically resets the 'Faulty Stations' list after n minutes, default is '0' which means no expiry (default behaviour)
  • 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
  • optional: the LuCI frontend shows the WiFi QR codes from all configured Access Points. It allows you to connect your Android or iOS devices to your router’s WiFi using the QR code
    For Luci screenshots see following post.

latest snapshot version: travelmate 2.1.3-3 plus luci companion package

next stable OpenWrt version 24.10.x: travelmate 2.1.3-3 plus luci companion package

stable OpenWrt version 23.05.x: travelmate 2.1.3-3 plus luci companion package

Link to the latest travelmate documentation

Feel free to test, ask questions or make suggestions.


Changelog

---
update 2.1.3-3

  • properly escape double quotes in travelmate option values
  • minor procd tweaks
    ---
    update 2.1.3-2
  • fixed gathering/printing of system information in travelmate status
  • make use of a central command selector function
    ---
    update 2.1.3-1
  • fixed STA connection issues / restart the travelmate interface on new connections via ubus
  • fixed NTP hotplug issues / trigger the NTP hotplug event via ubus
  • fixed minor log issues (mail/hotplug)
  • readme update
    ---
    update 2.1.2-6
  • fix vpn semaphore handling [#23643], thanks to @brianjmurrell
  • disable vpn processing by default
    ---
    update 2.1.2-5
  • final vpn tweaks
    update 2.1.2-4
  • more re-connections tweaks
  • made travelmate generated emails responsive
    ---
    update 2.1.2-3
  • various vpn optimizations
  • remove obsololete trm_maxscan option
  • small fixes for net status and captive portal handling
  • add an additional login variant to the h-hotels login script
  • fix the wifibahn login script work again with wifionice hotspots again
  • update readme
    ---
    update 2.1.2-2
  • fix a possible re-connection issue/cornercase seen on single radio units
    ---
    release 2.1.2-1
  • fix a station scanning issue on single radio units (mainly a LuCI/JS issue) reported in the forum by multiple users
    ---
    update 2.1.1-3
  • added H-Rewards hotel login
    ---
    update 2.1.1-2
  • more small fixes & enhancements
  • cosmetics
    ---
    release 2.1.1
  • various vpn/wireguard improvements & fixes
  • improved compatibility with new netifd
  • added open STA improvements by [@brianjmurrell]
    ---
    release 2.1.0
  • vpn support can be disabled (enabled by default), fixes #19107 (see trm_vpn option)
  • vpn support can be limited to certain interfaces (see trm_vpnifacelist list option)
  • openvpn support works now per instance (same as wireguard today)
  • add an auto-login script for tplink-omada hotspots provided by Sebastian Muszynski basti@linkt.de
  • remove pipefail command, see #19043 for reference
    ---
    release 2.0.9
  • major vpn handling rewrite
  • add supprt for javascript based captive portals
    ---
    release 2.0.8
  • the domain whitelist feature has been extended to free up multiple nested captive portal domains.
    ---
    release 2.0.7
  • removed no longer working 'db-bahn.login' and 'wifionice.login' auto-login scripts
  • added the new 'wifibahn.login' script for auto-logins to captive portals WIFI@BAHN (DE), run tested on a single ICE (station logins are currently unsupported!)
  • vodafone.login prepared to support free/time limited logins (still WIP!)
  • change return code handling in login scripts and travelmate
  • refine f_wifi function
  • fix a few conercase issues
    ---
    release 2.0.6
  • replaced pipe input for a while/read-loop with a here document/variable as input
    (fix various subshell related bugs and oddities)
  • further improve abort and re-connection handling
  • prevent alleged detected connection failures (false positives) with an additional gw check,
    to stabilize VPN connections in particular
    ---
    release 2.0.5
  • scan for open uplinks even if no other station has been added/configured
  • support the new travelmate option 'macaddr' to use a pre-defined MAC address (per uplink)
  • vpn connections are now handled separately for each uplink
  • The autoadd-feature for adding open uplinks will now be limited by the 'trm_maxautoadd' option. The default is '5', '0' disables this limitation.
  • more code cleanups and optimizations to reduce the repetitive connection handling workload
  • bugfixes regarding multiple radio support
  • refine cp detection (no longer write and parse an error file)
    ---
    release 2.0.4
  • code cleanup
  • add auto login script for Julianahoeve beach resort (NL)
  • add auto login script for Vodafone hotspots (DE)
  • add auto login script for telekom hotspots (DE)
  • enhance captive portal detection to support html redirects as well
  • change default captive portal detection url to 'detectportal.firefox.com'
    ---
    release 2.0.3
  • refine the wifi reconfigure logic
  • fix a possible race condition during boot
  • use the new "device" syntax in the network wizard
    ---
    release 2.0.2
  • fix a vpn/iptables race condition
  • remove needless dnsmasq dependency
  • synchronize code-base of all auto-login scripts, due to COVID-19 restrictions all of them are still untested/WIP
  • ignore invalid wireless sections
  • various small cleanups
    ---
    release 2.0.1
  • fix some remaining vpn issues
  • various cleanups
    ---
    release 2.0.0
  • new package dependency: curl (plus one of the wpad variants)
  • optional package dependencies:
    • 'msmtp' for email notification support
    • 'wireguard' or 'openvpn' for vpn support
  • removed WEP support, only WPA/WPA2/WPA3 are supported!
  • new, more robust setup wizard (CLI and LuCI)
  • more robust captive portal detection
  • randomize mac addresses with every uplnk connect
  • automatic vpn handling during uplink switch (only classic/simple client-setups for wireguard or openvpn are supported)
  • email notifications after successful uplink connections
  • automatically disable uplinks after n minutes, e.g. for timed connections
  • automatically (re-)enable uplinks after n minutes, e.g. after failed login attempts
  • complete LuCI rewrite - migrated to client side JS (separate PR)
Ancient Releases (Unsupported!)

OpenWrt version 22.03.x: travelmate 2.1.0 plus luci companion package
OpenWrt version 21.02: travelmate 2.0.7 plus luci companion package
OpenWrt version 19.07: travelmate 1.5.5 plus luci companion package
OpenWrt version 18.06: travelmate 1.2.2 plus luci companion package
LEDE version 17.01: travelmate 1.0.2 plus luci companion package


Have fun!
Dirk

27 Likes

Screenshots from the new LuCI-GUI (Travelmate 2.x)

Have fun!
Dirk

4 Likes

Thanks! This looks great! I have a half dozen devices that this will make more useful and easier to maintain.

Thanks for your feedback! It would be nice to know, on which devices (model/chipset) you are using travelmate.

My plans are to use it on NEXX WT3020 (MT7620n), A5-V11 (RT5350F) and potentially, some RT5350F-based audio streaming endpoints. Oh, it will probably come in handy on my ZSun Card reader too (AR9331).

Not sure when I'll actually get around to trying it out. I have a bunch of other projects competing for my time.

I am using travelmate on a Xiaomi MiWiFi Mini.

The Xiaomi MiWiFi Mini has some characteristics that make it very usable for my use case, and it is very cheap, only 22 Euro, including shipping from China. I use this router as a travelrouter on a small ship to connect to the WiFi in harbors I visit. It is standing behind the windscreen, mostly in direct sunlight, so the white color prevents it from overheating.
It is a dualband router with external antennas. The range is very good (on 2.4 GHz). The 5 GHz is used for the local network. I alse have a guest network, but that is mainly for showing off :smiley: .

My first experience with travelmate (version 0.4.x) was with a GL-inet GL-AR150-Ext. It worked like a charm and was much more stable than with the software from GL-inet. I then switched to the Xiaomi MiWiFi Mini, because I wanted a little bit more reach (the GL-inet GL-AR150 has only about 63 mW).

Travelmate didn't work the way I was expecting with 2 radio's. I contacted Dirk and 3 days (!) later Dirk send me a version that was able to have the AP en the station at different radio's.

After that there was only one thing missing in the LuCI-GUI of travelmate: an easy way of adding and editing stations. Before I could contact Dirk about this, version 0.9.0 was released.

I have no more wishes.
Travelmate is realy great.

1 Like

Update: I have one more wish :blush:
Is it possible to make disabling of misconfigured uplinks optional?
Yesterday I left the harbor with my ship, that had an active link with the Wifi in the harbor. At some point the Wifi of the harbor is still visible, but it is no longer posible to maintain the connection. Travelmate renames the uplink to SSID_err. When I return to the harbor travelmate does not reconize the uplink anymore. After renaming the uplink to SSID everything is working again.

1 Like

Hi Freek,
it's always a pleasure ... :wink: ... I think it should be sufficient to raise the Connection Limit (trm_maxretry to 10 or 20). Anyway, in travelmate 0.9.3 you could set the above parameter to '0' which means unlimited retries.

Best regards
Dirk

Thank you very much.
Will report after the weekend.

Dirk, it works as expected.
What can I say more :smile:

thanks for your feedback! :sunglasses:

Hi,

I failed to get my RE450 working as a repeater via the wiki (relayd), so I just tried this. I installed travelmate and luci-app-travelmate, but I cannot find the wizard and wireless station manager that is shown in the screenshots and mentioned in the recommended setup in the readme. All I have is:

image

Is the wizard I'm looking for hiding somewhere other than Services>Travelmate?

EDIT: The manual setup worked perfectly, and I'm very happy. I'm just curious about the wizard. Thank you for this simple to configure, functional tool!

Hi, you've installed the old/ancient "stable" release ... to get the wizard and all the advanced LuCI stuff use the download links referenced in the first post of this thread and install it manually via opkg package manager.

Anyway, nice to hear that the old version still works for you ...:smiley:

Oh, whoops. Thanks. Maybe I'll upgrade later then.

I compile travelmate in openwrt
Compile successful however travelmate is not working
Kindly anybody help me what's wrong?
attached screen short logfilelogfile

internal server error in wireless station section

/usr/lib/lua/luci/dispatcher.lua:433: Failed to execute template dispatcher target for entry '/admin/services/travelmate/stations'.
The called action terminated with an exception:
/usr/lib/lua/luci/template.lua:97: Failed to execute template 'travelmate/stations'.
A runtime error occured: [string "/usr/lib/lua/luci/view/travelmate/stations...."]:24: attempt to call global 'url' (a nil value)
stack traceback:
	[C]: in function 'assert'
	/usr/lib/lua/luci/dispatcher.lua:433: in function 'dispatch'
	/usr/lib/lua/luci/dispatcher.lua:168: in function

travelmate config screen short

travelmate_config

wireless config screen short
wireless_config

When does this error comes up? If you click on the "Wireless Stations" tab?
In a first step you can try to reset your luci caches:

/etc/init.d/uhttpd stop
rm -f /tmp/luci-indexcache
rm -rf /tmp/luci-modulecache
/etc/init.d/uhttpd start

But I doubt that this will help.
In a second step edit /usr/lib/lua/luci/view/travelmate/stations.htm and replace all occurencies of ...

=url
with
=luci.dispatcher.build_url

Please note: I never tested travelmate with an ancient Chaos Calmer release and I have no device (and no time) for testing.

I compile CHAOS CALMER (Chaos Calmer, r49389)
After I follow your changes, no error in "wireless station" tab
Thanks

Thanks for testing. I've provided a CC-bugfix with this Pull Request.