I've had several TP-Link Archer C7 units running APs on both 2.4 GHz and 5 GHz, with backahul between them running over WDS on a dedicated 5 GHz channel mainly successfully for some time now.
I've had some issues with ARP in my setup and wanted to move to 802.11s in the hopes that it would resolve it cleanly. Unfortunately, I haven't been able to find much good documentation. My first question is if there is something better written than
https://wiki.openwrt.org/doc/howto/mesh.80211s
(which fails to explain any of the steps, especially the later iw
commands)
or
I'm running Reboot (17.01.1, r3316-7eb58cf109)
on two TP-Link Archer C7 v2 units, that are known good under AP and WDS on both bands.
I have not been able to get the radios to "turn on" at least as seen by the scans on other radios, nor have the two of them associated with each other.
If anyone is more familiar with getting 802.11s to work and has some suggestions, I would appreciate it.
I've confirmed that the radios appear to support mesh configuration at the driver level using iw list
phy1 (2.4 GHz)
valid interface combinations:
* #{ managed } <= 2048, #{ AP, mesh point } <= 8, #{ P2P-client, P2P-GO } <= 1, #{ IBSS } <= 1,
total <= 2048, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz }
phy0 (5 GHz)
valid interface combinations:
* #{ AP, mesh point } <= 8, #{ managed } <= 1,
total <= 8, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz }
As I haven't found any documentation on what #{ managed }
means, I chose to keep things simple and start with and stick with 2.4 GHz
I first updated all packages with opkg upgrade $(opkg list-upgradable | cut -f 1 -d ' ')
Based on the descriptions of wpad
at https://wiki.openwrt.org/doc/howto/wireless.utilities#wpad I uninstalled wpad-mini
and installed wpad-mesh
Again, starting simple, I tried to configure for no authentication for the mesh. Apparently this is all LuCI supports at this time.
root@coop:~# uci show wireless
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.hwmode='11a'
wireless.radio0.path='pci0000:01/0000:01:00.0'
wireless.radio0.htmode='VHT80'
wireless.radio0.channel='149'
wireless.radio0.country='US'
wireless.radio0.txpower='30'
wireless.radio1=wifi-device
wireless.radio1.type='mac80211'
wireless.radio1.hwmode='11g'
wireless.radio1.path='platform/qca955x_wmac'
wireless.radio1.htmode='HT20'
wireless.radio1.txpower='23'
wireless.radio1.country='US'
wireless.radio1.channel='6'
wireless.@wifi-iface[0]=wifi-iface
wireless.@wifi-iface[0].device='radio1'
wireless.@wifi-iface[0].encryption='none'
wireless.@wifi-iface[0].ssid='SeeThrough'
wireless.@wifi-iface[0].mode='mesh'
wireless.@wifi-iface[0].network='mesh'
10.11.12.1/24 is configured on one unit, 10.11.12.2/24 on the other. Neither is bridged at this time. Access is wired, through br-lan
on a different net.
network.mesh=interface
network.mesh._orig_ifname='wlan1'
network.mesh._orig_bridge='false'
network.mesh.proto='static'
network.mesh.ipaddr='10.11.12.2'
network.mesh.netmask='255.255.255.0'
The interface apparently does not come up, with the following log messages
Thu Jul 6 07:54:11 2017 daemon.notice netifd: Interface 'mesh' is now down
Thu Jul 6 07:54:11 2017 daemon.notice netifd: Interface 'mesh' is disabled
Thu Jul 6 07:54:12 2017 kern.info kernel: [ 1804.621138] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
Thu Jul 6 07:54:12 2017 daemon.notice netifd: radio1 (8893): command failed: Invalid argument (-22)
Thu Jul 6 07:54:12 2017 daemon.notice netifd: Interface 'mesh' is enabled
Thu Jul 6 07:54:12 2017 daemon.notice netifd: Interface 'mesh' is setting up now
Thu Jul 6 07:54:12 2017 daemon.notice netifd: Interface 'mesh' is now up
Thu Jul 6 07:54:13 2017 daemon.info odhcpd[828]: Using a RA lifetime of 0 seconds on br-lan
Trying manual configuration with authentication at least removes the logged failure, but the SSID is not seen by other radios' scans, nor do the two units associate.
Edit:
uci set wireless.@wifi-iface[0].encryption='none'
anduci set wireless.@wifi-iface[0].key='BigSecret'
removes the log error as well, but apparently does not enable the radio to be seen by others' scans, nor do the two units associate. This suggests that thewifi
script or that which it calls is not robust to the absence of a key when there is no encryption requested.
wireless.@wifi-iface[0]=wifi-iface
wireless.@wifi-iface[0].device='radio1'
wireless.@wifi-iface[0].ssid='SeeThrough'
wireless.@wifi-iface[0].network='mesh'
wireless.@wifi-iface[0].mode='mesh'
wireless.@wifi-iface[0].encryption='psk2/aes'
wireless.@wifi-iface[0].key='BigSecret'
Thu Jul 6 08:24:43 2017 daemon.notice netifd: Interface 'mesh' is now down
Thu Jul 6 08:24:43 2017 daemon.notice netifd: Interface 'mesh' is disabled
Thu Jul 6 08:24:44 2017 kern.info kernel: [ 3426.222435] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
Thu Jul 6 08:24:44 2017 daemon.info odhcpd[828]: Using a RA lifetime of 0 seconds on br-lan
Thu Jul 6 08:24:44 2017 daemon.notice netifd: radio1 (4887): Successfully initialized wpa_supplicant
Thu Jul 6 08:24:45 2017 daemon.notice netifd: Interface 'mesh' is enabled
Thu Jul 6 08:24:45 2017 daemon.notice netifd: Interface 'mesh' is setting up now
Thu Jul 6 08:24:45 2017 daemon.notice netifd: Interface 'mesh' is now up
Thu Jul 6 08:24:46 2017 daemon.info odhcpd[828]: Using a RA lifetime of 0 seconds on br-lan
I definitely could use some pointers as either where to get more information, or what might resolve these issues.
Thanks!
Jeff