Skip to content

Instantly share code, notes, and snippets.

@devbynyden
Last active November 6, 2023 19:18
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save devbynyden/fd87a92d493c4a8e89994cb1016413f5 to your computer and use it in GitHub Desktop.
Save devbynyden/fd87a92d493c4a8e89994cb1016413f5 to your computer and use it in GitHub Desktop.
Setting up openwrt with Telenet WiFree

Setting up openwrt with Telenet WiFree

This guide explains how to setup your openwrt router to interact with Telenet WiFree as a WISP router.
In this case we will connect to WiFree, create a secondary Wifi signal and also have access to the internet on the Lan interface.
WISP Network
With this setup you can have multiple devices connected to the Telenet WiFree Hotspot.

!Important check the Troubleshooting section at the bottom of this page if LAN does not work.

Disclaimer

I only use this at a secondary home. I am not in any way affiliated with Telenet.

What do you need?

  • OpenWRT (In this case Barrier Breaker because of TP-Link MR3020 RAM limitations.)
  • Full wpad package: search the openwrt packages site, it depends on your openwrt version. It should be located in the base packages.
  • Openwrt compatible router: in this case I used an old TP-Link MR3020

Setup

1. Install OpenWRT

2. Log into your device

login

3. Secure your device

System -> Administration

Create a password

4. Synchronize time

System -> System

Do not skip this step. Telenet WiFree seems to deauthenticate you if your time is not synchronized.
Synchronizing time

5. Removing and installing packages

Change the names of LOCATION_TO_YOUR_WPAD_FILE and wpad_XXX.ipk to the depending on your setup.

Open up your favourite terminal.
Scp the wpad file to your router.
scp /LOCATION_TO_YOUR_WPAD_FILE/wpad_XXX.ipk root@192.168.1.1:/tmp/
SSH into your device.
ssh root@192.168.1.1
Enter your password.
Remove the wpad-mini package and install the previously copied wpad package.

opkg remove wpad-mini
opkg install /tmp/wpad_XXX.ipk
rm /tmp/wpad_XXX.ipk

6. Associate with wireless network

Network -> Wifi

Wifi Interface

  • Press Scan

  • Join the network you want to connect to
    Network Scan

  • Submit these settings
    Network Settings

  • Change your interface configuration exactly as shown below input your own Identity and Password (Telenet Account) and press Save & Apply Wlan Configuration

  • Advanced setting change country to Belgium

  • Check if connected

    Network -> Wifi

    Associated Stations

7. Add secondary network

Network -> Wifi

  • Press add in the right corner
  • Change settings as wanted Wifi Settings
  • Change security settings Wifi Settings

8. Done

Troubleshooting

  • Try to disable all ipv6 connections if you can't get a connection
  • Is your time synced??
  • Leave a comment in case of other problems
  • You could encounter out of space troubles on some devices. Keep in mind that with openwrt everytime you write a file you lose storage. So try to make as little changes as possible.
  • To bypass the X time-out period implemented by Telenet check Watchcat. The restart interface mode should solve this problem and restart the selected interface automatically after x seconds of failed pings.

Credit

config dnsmasq
option domainneeded '1'
option boguspriv '1'
option filterwin2k '0'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option nonegcache '0'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option ra 'server'
config dhcp 'wan'
option interface 'wan'
option ignore '1'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
config defaults
option syn_flood '1'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option network 'lan'
config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
option network 'wan wan6 wwan'
config forwarding
option src 'lan'
option dest 'wan'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option src_ip 'fe80::/10'
option src_port '547'
option dest_ip 'fe80::/10'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config include
option path '/etc/firewall.user'
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
config interface 'lan'
option ifname 'eth0'
option force_link '1'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
option delegate '0'
config interface 'wwan'
option proto 'dhcp'
option delegate '0'
config system
option hostname 'OpenWrt'
option timezone 'UTC'
config timeserver 'ntp'
list server '0.openwrt.pool.ntp.org'
list server '1.openwrt.pool.ntp.org'
list server '2.openwrt.pool.ntp.org'
list server '3.openwrt.pool.ntp.org'
option enabled '1'
option enable_server '0'
config led 'led_usb'
option name 'USB'
option sysfs 'tp-link:green:3g'
option trigger 'usbdev'
option dev '1-1'
option interval '50'
config led 'led_wlan'
option name 'WLAN'
option sysfs 'tp-link:green:wlan'
option trigger 'phy0tpt'
config led 'led_lan'
option name 'LAN'
option sysfs 'tp-link:green:lan'
option trigger 'netdev'
option dev 'eth0'
option mode 'link tx rx'
config network
option init network
list affects dhcp
list affects radvd
config wireless
list affects network
config firewall
option init firewall
list affects luci-splash
list affects qos
list affects miniupnpd
config olsr
option init olsrd
config dhcp
option init dnsmasq
config dropbear
option init dropbear
config httpd
option init httpd
config fstab
option init fstab
config qos
option init qos
config system
option init led
list affects luci_statistics
config luci_splash
option init luci_splash
config upnpd
option init miniupnpd
config ntpclient
option init ntpclient
config samba
option init samba
config tinyproxy
option init tinyproxy
config 6relayd
option init 6relayd
config uhttpd 'main'
list listen_http '0.0.0.0:80'
list listen_http '[::]:80'
list listen_https '0.0.0.0:443'
list listen_https '[::]:443'
option home '/www'
option rfc1918_filter '1'
option max_requests '3'
option max_connections '100'
option cert '/etc/uhttpd.crt'
option key '/etc/uhttpd.key'
option cgi_prefix '/cgi-bin'
option script_timeout '60'
option network_timeout '30'
option http_keepalive '20'
option tcp_keepalive '1'
option ubus_prefix '/ubus'
config cert 'px5g'
option days '730'
option bits '1024'
option country 'DE'
option state 'Berlin'
option location 'Berlin'
option commonname 'OpenWrt'
config wifi-device 'radio0'
option type 'mac80211'
option channel '11'
option hwmode '11g'
option path 'platform/ar933x_wmac'
option htmode 'HT20'
option country 'BE'
option txpower '20'
config wifi-iface
option network 'wwan'
option ssid 'TelenetWiFree'
option device 'radio0'
option mode 'sta'
option encryption 'wpa2'
option eap_type 'peap'
option auth 'MSCHAPV2'
option identity 'WIFREE-USER'
option password 'WIFREE-PASS'
option bssid 'WIFREE-MAC-ADDRESS'
config wifi-iface
option device 'radio0'
option mode 'ap'
option ssid 'MY-HOTSPOT'
option network 'lan'
option encryption 'psk2'
option key '12341234'
@jekkos
Copy link

jekkos commented Nov 21, 2020

Yes indeed it's not a standard wifree but a hotspot with captive portal

@ng80092a
Copy link

It's possible to connect with travelmate app..
But I don't know exactly what kind of security is used, is it possible to find out?

image

@ng80092a
Copy link

It seems its possible to run scripts with travelmate that do the autologin. Did anyone try this yet?

https://github.com/openwrt/packages/blob/master/net/travelmate/files/README.md#captive-portal-auto-logins

@andrasj
Copy link

andrasj commented Dec 28, 2020

I'm using mwan/openwrt and try to offload some non-critical traffic to use the WiFree. I'm also seeing strange dhcp behaviour, and would like to share some thoughts.

@jekkos

EDIT: From the busybox udhcpc code it seems that a RENEW for the lease is already sent after half the lease time has passed, so I suppose this request is never answered by the telenet dhcp

It seems to be arbitrary if the lease-RENEW get's answered. sometimes it works for 1h (some are saying 2h?), sometimes it doesn't work at all...
In traffic on the interface, you can clearly see a blocks of 1h before the link drops ([01:40-02:40],[09:15-10:15],[...-11:15])
image
even without traffic (except some pings for state-tracking of mwan) the link seems to be killed after 1h {12:20-13:25} (see below for dhcpc-log on the interface)

12:19:23: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:20:00: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
12:20:18: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
12:20:18: daemon.notice netifd: wwan (20524): udhcpc: received DHCP NAK
12:20:21: daemon.notice netifd: wwan (20524): udhcpc: sending select for 10.127.x.x
12:20:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:25:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:25:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:30:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:30:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:35:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:35:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:40:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:40:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:45:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:45:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:50:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:50:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:55:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:55:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
13:00:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:00:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
13:05:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:05:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
13:10:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:10:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
13:15:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:15:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
13:20:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:22:51: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:24:06: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:24:43: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:01: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:10: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:14: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:16: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:17: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:17: daemon.notice netifd: wwan (20524): udhcpc: lease lost, entering init state
13:48:19: daemon.notice netifd: wwan (20524): udhcpc: received SIGTERM
13:48:19: daemon.notice netifd: wwan (2338): udhcpc: started, v1.30.1
13:48:19: daemon.notice netifd: wwan (2338): udhcpc: sending discover
13:48:20: daemon.notice netifd: wwan (2338): udhcpc: read error: Network is down, reopening socket
13:48:20: daemon.notice netifd: wwan (2338): udhcpc: bind: No such device
13:48:23: daemon.notice netifd: wwan (2688): udhcpc: started, v1.30.1
13:48:23: daemon.notice netifd: wwan (2688): udhcpc: sending discover
13:48:26: daemon.notice netifd: wwan (2688): udhcpc: sending discover
13:48:26: daemon.notice netifd: wwan (2688): udhcpc: sending select for 10.124.x.x
13:48:26: daemon.notice netifd: wwan (2688): udhcpc: lease of 10.124.x.x obtained, lease time 600
13:53:26: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 10.127.0.1
13:55:56: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 10.127.0.1
13:57:12: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 10.127.0.1
13:57:49: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:07: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:16: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:20: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:22: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:23: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:23: daemon.notice netifd: wwan (2688): udhcpc: lease lost, entering init state

@jekkos
Copy link

jekkos commented Jun 17, 2021

I'm using mwan/openwrt and try to offload some non-critical traffic to use the WiFree. I'm also seeing strange dhcp behaviour, and would like to share some thoughts.

@jekkos

EDIT: From the busybox udhcpc code it seems that a RENEW for the lease is already sent after half the lease time has passed, so I suppose this request is never answered by the telenet dhcp

It seems to be arbitrary if the lease-RENEW get's answered. sometimes it works for 1h (some are saying 2h?), sometimes it doesn't work at all...
In traffic on the interface, you can clearly see a blocks of 1h before the link drops ([01:40-02:40],[09:15-10:15],[...-11:15])
image
even without traffic (except some pings for state-tracking of mwan) the link seems to be killed after 1h {12:20-13:25} (see below for dhcpc-log on the interface)

12:19:23: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:20:00: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
12:20:18: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
12:20:18: daemon.notice netifd: wwan (20524): udhcpc: received DHCP NAK
12:20:21: daemon.notice netifd: wwan (20524): udhcpc: sending select for 10.127.x.x
12:20:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:25:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:25:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:30:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:30:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:35:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:35:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:40:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:40:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:45:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:45:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:50:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:50:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
12:55:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
12:55:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
13:00:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:00:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
13:05:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:05:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
13:10:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:10:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
13:15:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:15:21: daemon.notice netifd: wwan (20524): udhcpc: lease of 10.127.x.x obtained, lease time 600
13:20:21: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:22:51: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:24:06: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 10.127.0.1
13:24:43: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:01: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:10: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:14: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:16: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:17: daemon.notice netifd: wwan (20524): udhcpc: sending renew to 0.0.0.0
13:25:17: daemon.notice netifd: wwan (20524): udhcpc: lease lost, entering init state
13:48:19: daemon.notice netifd: wwan (20524): udhcpc: received SIGTERM
13:48:19: daemon.notice netifd: wwan (2338): udhcpc: started, v1.30.1
13:48:19: daemon.notice netifd: wwan (2338): udhcpc: sending discover
13:48:20: daemon.notice netifd: wwan (2338): udhcpc: read error: Network is down, reopening socket
13:48:20: daemon.notice netifd: wwan (2338): udhcpc: bind: No such device
13:48:23: daemon.notice netifd: wwan (2688): udhcpc: started, v1.30.1
13:48:23: daemon.notice netifd: wwan (2688): udhcpc: sending discover
13:48:26: daemon.notice netifd: wwan (2688): udhcpc: sending discover
13:48:26: daemon.notice netifd: wwan (2688): udhcpc: sending select for 10.124.x.x
13:48:26: daemon.notice netifd: wwan (2688): udhcpc: lease of 10.124.x.x obtained, lease time 600
13:53:26: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 10.127.0.1
13:55:56: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 10.127.0.1
13:57:12: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 10.127.0.1
13:57:49: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:07: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:16: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:20: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:22: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:23: daemon.notice netifd: wwan (2688): udhcpc: sending renew to 0.0.0.0
13:58:23: daemon.notice netifd: wwan (2688): udhcpc: lease lost, entering init state

What I would try to do is find a way to ignore lease expiration, and keep the ip that was previously assigned until they assign a new one.

@sschelde
Copy link

For shits and giggles I connected 2 TL-WR802N devices to a single WiFree to find out (with the same Telenet Account) if the max. allocated download speed is per device, or if it is shared between devices.

Seems to me that 20 Mbps is shared between my 2 devices. I only don't know if 20 Mbps is given for each Telenet account, or if 20 mbps is given to all users signed on on a WiFree modem.

I also have the issue with the 2 hour window.
Kinda grew tired with my iPhone Shortcut "Reboot OpenWrt" which executed an SSH script to 192.168.1.1 with the reboot command :)
I have now set up the following cron job (Scheduled Task) in hopes this solves the issue (temporarely): 0 */2 * * * /etc/init.d/network restart

@devbynyden
Copy link
Author

For those still using this method, I haven't gotten the time to update the guide and maybe I one day will have sufficient time to do an overhaul. But this is not the case as-is.

The above method using a cron job should work perfectly. Although this reboots the system even if there is still a connection.
A better solution is to use the OpenWRT package Watchcat
Using the 'restart interface' mode the system will restart the selected network interface if a ping to a host over that interface fails.
I've set this up with a ping every 30seconds and restart after 70sec of ping failure. Works like a charm. Max downtime is more or less a minute, which is not a problem for my use case.

@base08
Copy link

base08 commented Aug 16, 2022

The CRON job is working perfectly on my case for years now... The OpenWRT router is non stop doing it's thing never skipping a beat. Will perhaps experiment with Watchcat to see if somehow is even better, but I feel this 2 hour window is still the current Telenet WiFree behaviour, thus meaning the cron job should give a similar performance.

@devbynyden
Copy link
Author

A CRON job should indeed work perfectly. And I would say as long as it works you shouldn't change it. Just wanted to mention Watchcat package as it also works perfectly and might be easier to setup for some people. Nice to see other people are also still using this method, enjoy TelenetWifree :-)

@andrasj
Copy link

andrasj commented Aug 16, 2022

I'm using this setup occasionally for temporary off-site internet connection, I had scheduled 'ifup wwan' every 2 hours, also works pretty well.
But thanks for mentioning watchcat, could be useful for some other projects as well

@sschelde
Copy link

sschelde commented Sep 5, 2022

For those still using this method, I haven't gotten the time to update the guide and maybe I one day will have sufficient time to do an overhaul. But this is not the case as-is.

The above method using a cron job should work perfectly. Although this reboots the system even if there is still a connection. A better solution is to use the OpenWRT package Watchcat Using the 'restart interface' mode the system will restart the selected network interface if a ping to a host over that interface fails. I've set this up with a ping every 30seconds and restart after 70sec of ping failure. Works like a charm. Max downtime is more or less a minute, which is not a problem for my use case.

Yeah Watchcat is awesome. However, the Restart Interface doesn't seem to be working. What did you pick as interface ? I had selected br-lan.

"Ping Reboot" seems to do the trick. But I'm not sure what the setting "Force Reboot Delay" is doing?

This is the official info:
When rebooting the router, the service will trigger a soft reboot. Entering a non-zero value here will trigger a delayed hard reboot if the soft reboot were to fail. Enter the number of seconds to wait for the soft reboot to fail or use 0 to disable the forced reboot delay.

But what is a soft reboot ? Does it mean the system will only start "pinging" after x amount of time after a boot ?

@andrasj
Copy link

andrasj commented Sep 10, 2022

I'm not using watchcat, so don't know what it means, I only have this cron job: 0 */2 * * * ifup wwan
so I'm restarting the wwan interface which has the underlying device wlan1 as wifi-clientclient for the wifree network
on top of that I have a zerotier-interface on the router, which is used for a link with my 'home' router, so the remote router/network is reachable from home.
Here are some ping-response-times (6h window) from the remote router to a host on the internet and to my home-router (through the zerotier interface).
You can see there are no glitches on the direct internet connection, but there seems to be some issues with the zerotier network. I've not yet investigated this further but it seems to be non-periodic and independant of the wi-fi. the devices on br-lan seem to have no or little glitches with direct internet acces.
image

@devbynyden
Copy link
Author

devbynyden commented Sep 14, 2022

@sschelde As stated by andrasj, wwan (might be named a bit differently) is the underlying interface for the wlan connecting to telenet Wifree.
So if you select that interface in combination with the Restart Interface option it should work. The cronjob also works perfectly. In essence watchcat is just a UI/script to easily set up different interface related 'cron jobs'.

@fredericve
Copy link

Anyone else had their account banned already? I had created a special user account in "mijn telenet" for the openwrt wifree connection but this stopped working at some point. I tried that account on other devices, resettting the password, but this did not work any more. I created a new user account and now it's working fine again.

I don't know what's going but feels like telenet blocked the account or something.

@andrasj
Copy link

andrasj commented Feb 25, 2023

Nope, not banned, as long as you're using your own account, I don't see any reason why they would ban.
But I think there are 2 constraints on WiFree (iirc): limited in number of simultaneous connections and you should keep WiFree enabled on your own router to allow other to use the service.

@austinroolon
Copy link

@devbynyden I`ve got MR2030 v.1.9 with Atheros AR9331 SoC with only 4MB flash and 32MB RAM on board. What version was yours?
Is it possible to use mine to flash it such a firmware to be a client of WiFree (WPA2-EAP/EAP/ login & password auth.) What exacly compilation (luci) and packages (wpad) do you advice to download? Thanks for your efford!

@sschelde
Copy link

sschelde commented Sep 18, 2023

Party is over in november :(. Did anyone come up with alternatives yet ?
Right now I'm thinking about hooking up my iPhone to the 4G port of a TL-MR3020.

Edit: hooked up my iPhone to the USB port of a Linksys MR8300 through 4G tethering ( followed https://openwrt.org/docs/guide-user/network/wan/smartphone.usb.tethering ). Works like a charm.

@fredericve
Copy link

Looks like the Telenet One subscription includes a data sim. Any one tried using that in a router that has a sim slot?

@PidgeyBE
Copy link

PidgeyBE commented Oct 23, 2023

Looks like the Telenet One subscription includes a data sim. Any one tried using that in a router that has a sim slot?

Yes, it works. I'm actually doing that atm instead of proxying WiFree.
I think the data limit is 300GB, so it's pretty decent!

@fredericve
Copy link

@PidgeyBE cool! Which device are you using with it?

@andrasj
Copy link

andrasj commented Oct 23, 2023

@PidgeyBE cool! Which device are you using with it?

I'm interested in the type of modem-device as well. As a short term solution I'm using proximus wi-free (which seems much more stable, doesn't need the 2h reset, but has a short downtime every night...)

@PidgeyBE
Copy link

@fredericve @andrasj I have a TP-Link 300Mbps 4G LTE-router (TL-MR6400) (bought via amazon https://www.amazon.nl/dp/B07RM95YFC/ref=pe_28126711_487805961_TE_item?th=1 2 years ago).
It's used to cover a my parents' small holiday apartment.
If you think you need higher than 4G speeds and/or be a bit future proof you might look into a 5G router as well. Will probably be more expensive though.
Or use an old phone.
IIRC I bought the router cause 2 years ago the data limit was not 300GB but only 40GB. The router allows to throttle the bandwidth (via admin panel) which makes sure e.g. a connected chromecast doesnt stream in 1080p. That helped to try to stay below the 40GB. Now with 300GB it's less of an issue :)

@andrasj
Copy link

andrasj commented Oct 24, 2023

Tnx, So you're not running OpenWrt on the TL-MR6400?
For me it's just for remote monitoring of meter readings/heat pump/solar panels, ... So I don't need rock-solid nor high-bandwidth.
Currently I'm using TP-Link AC1750 (IIRC), also all 5 ethernet ports are mapped (and in use) as LAN, and the WiFi is used for local WLan and wireless uplink to the internet.
I was thinking about adding a USB LTE-modem (but no idea which one would work best). On the other hand, if the cost of a new LTE-router is the same... (but I still want to run openWrt, and prefereably have at least the same amount of ethernet ports)

@PidgeyBE
Copy link

Tnx, So you're not running OpenWrt on the TL-MR6400?

No, I don't need OpenWrt, just stock firmware/software is fine.

@fredericve
Copy link

I was thinking about adding a USB LTE-modem (but no idea which one would work best). On the other hand, if the cost of a new LTE-router is the same... (but I still want to run openWrt, and prefereably have at least the same amount of ethernet ports)

You could just use an old phone as a modem on the existing router.

From what I've been reading up to now the ZTE MF286D is a good device so I'm looking for a second hand one myself. Only has 4 ports though :-)

@andrasj
Copy link

andrasj commented Oct 29, 2023

You could just use an old phone as a modem on the existing router.

Thought about this as well, but looks really clumsy and comes with additional overhead/point of failures of the MobileOS. In case of failure cannot easily be rebooted (without remote access). If it's connected/embedded directly into the router it gets reset with a reboot of the device as well. (Also don't need the screen/battery)
In my case then it would be easier to run everything of the phone I guess.

@base08
Copy link

base08 commented Nov 6, 2023

Is it normal that after the so called 1 November end of Wi-Free, I still get access to this as usual? Are they waiting to send a FW update to all the existing routers to disable the Wi-Free signal?

@andytolle
Copy link

andytolle commented Nov 6, 2023 via email

@andrasj
Copy link

andrasj commented Nov 6, 2023

I've lost the stable WiFree Hotspot somewhere beginning of october, so I wouldn't be surprised if they started earlier... (or someone in the neighbourhood cancelled his subscription). After all, there are no guarantees about coverage...

@sschelde
Copy link

sschelde commented Nov 6, 2023

I've lost the stable WiFree Hotspot somewhere beginning of october, so I wouldn't be surprised if they started earlier... (or someone in the neighbourhood cancelled his subscription). After all, there are no guarantees about coverage...

Yeah, I started to have authentication issues in september. I switched to a data sim now, but their 4G connection is very unstable (and sometimes very slow), postal code 8980. Let's hope they roll out 5G more quickly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment