More networks on the same device - automatic channel update

I configured my range extender (with openwrt) to connect as client to WOW FI - FASTWEB network (using radius login with user name and password).
It works.
Then, on the same range extender, I added 2 wifi AP networks in order to connect my tablet and PC: one at 2,4Ghz (cowhome2.4Ghz) and one at 5Ghz (cowHome5Ghz)

the fastweb WOWFI is a 2,4Ghz network. This means that now I'm using a AP network (CowHome2.4Ghz) and a Client network (WOW FI - FASTWEB) sharing the same wifi device. In fact Luci says that the CowHome2.4Ghz channel is locked by the WOW FI - FASTWEB.
It works!

Unfortunately, I found that the WOW FI - FASTWEB router automatically changes the used channel at 2.4Ghz after few hours. When this happens, the openwrt doesn't automatically re-estabilish the connection with WOW FI - FASTWEB, while the CowHome2.4Ghz AP stays ON on the original channel.
I suppose that this problem is related to the use of a single device for 2 networks on 2 different channels....Is it correct?
What can I do to let openwrt automatically switch the CowHome2.4Ghz AP to the same channel used by Fastweb network? The Clients connected to CowHome2.4Ghz can be disconnected for few minutes but I would like to automatically reestabilish the connection.
Here I share my configuration files, to let you expose your opinion.

BusyBox v1.30.0 () built-in shell (ash)
  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r8982-a54129d
 -----------------------------------------------------
root@OpenWrt:~#
**root@OpenWrt:~# cat /etc/config/network**

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd04:1903:c019::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.2.1'

config interface 'wwan'
        option proto 'dhcp'

**root@OpenWrt:~# cat /etc/config/system**

config system
        option hostname 'OpenWrt'
        option timezone 'UTC'
        option ttylogin '0'
        option log_size '64'
        option urandom_seed '0'

config timeserver 'ntp'
        option enabled '1'
        option enable_server '0'
        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'

config led 'led_lan_data'
        option name 'LAN Data'
        option sysfs 'tp-link:green:lan_data'
        option trigger 'netdev'
        option mode 'tx rx'
        option dev 'eth0'

config led 'led_lan_link'
        option name 'LAN Link'
        option sysfs 'tp-link:green:lan_link'
        option trigger 'netdev'
        option mode 'link'
        option dev 'eth0'


**root@OpenWrt:~# cat /etc/config/firewall**

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 input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'
        option name 'wwan'
        option network 'wwan2 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-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option src_ip 'fc00::/6'
        option dest_ip 'fc00::/6'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        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 rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'

config include
        option path '/etc/firewall.user'

config forwarding
        option dest 'wwan'
        option src 'lan'

**root@OpenWrt:~# cat /etc/config/wireless**

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11a'
        option path 'pci0000:00/0000:00:00.0'
        option htmode 'VHT80'
        option country 'IT'
        option legacy_rates '1'
        option channel 'auto'

config wifi-device 'radio1'
        option type 'mac80211'
        option hwmode '11g'
        option path 'platform/ahb/ahb:apb/18100000.wmac'
        option legacy_rates '1'
        option country 'IT'
        option channel 'auto'
        option htmode 'HT40'

config wifi-iface
        option device 'radio0'
        option mode 'ap'
        option ssid 'CowHome5Ghz'
        option network 'lan'
        option key 'xxxxxxxxx'
        option encryption 'psk'

config wifi-iface
        option network 'wwan'
        option ssid 'WOW FI - FASTWEB'
        option device 'radio1'
        option mode 'sta'
        option bssid '62:EA:BC:2B:2F:91'
        option encryption 'wpa2'
        option eap_type 'peap'
        option auth 'EAP-MSCHAPV2'
        option identity 'xxxxxxxxxxxxxxxxx'
        option password 'xxxxxxx'
        option disassoc_low_ack '0'

config wifi-iface
        option device 'radio1'
        option mode 'ap'
        option ssid 'CowHome2.4Ghz'
        option network 'lan'
        option encryption 'psk'
        option key 'xxxxxxxx'

**root@OpenWrt:~# cat /etc/config/luci**

config core 'main'
        option lang 'auto'
        option mediaurlbase '/luci-static/bootstrap'
        option resourcebase '/luci-static/resources'

config extern 'flash_keep'
        option uci '/etc/config/'
        option dropbear '/etc/dropbear/'
        option openvpn '/etc/openvpn/'
        option passwd '/etc/passwd'
        option opkg '/etc/opkg.conf'
        option firewall '/etc/firewall.user'
        option uploads '/lib/uci/upload/'

config internal 'languages'

config internal 'sauth'
        option sessionpath '/tmp/luci-sessions'
        option sessiontime '3600'

config internal 'ccache'
        option enable '1'

config internal 'themes'
        option Bootstrap '/luci-static/bootstrap'

config internal 'apply'
        option rollback '30'
        option holdoff '4'
        option timeout '5'
        option display '1.5'

config internal 'diag'
        option dns 'openwrt.org'
        option ping 'openwrt.org'
        option route 'openwrt.org'

root@OpenWrt:~#

The Travelmate package may be able to handle this. There are "challenges" in deciding what to do with an already-configured AP and client on the same radio when the client drops, or is not yet established. These comes about because the radio can only operate on a single channel at a time.

I'm not sure if what you describe is really the problem, If a client loses its connection, any APs on the same radio shut down and the radio starts scanning all the channels for an AP with the SSID (and BSSID, if set) that is configured. Then it will connect to the AP, and finally any AP interfaces on the radio will start up again.

I suggest NOT setting a BSSID on a client unless there is more than one AP in the area with the same SSID, and you need to force the connection to a particular one.

Travelmate is a package? It is not installed on my router.
but Mk24 here says that openwrt should automatically do what I need. So may be the problem is elsewhere?

There is another Fastweb router with the same name but with lower strength. So I suppose it is better to remain connected to my bssid

That's why he advised that you install it. :wink:

1 Like