Closed LoneWolff7 closed 3 months ago
@LoneWolff7 Well if it is working flawlessly for you then it is good enough for your current use case ;-)
It isn't clear from your description, but indicated by your mesh11sd status
outputs that the mesh is only between:
Archer C6 AP -> D-Link Repater AP
Hint: Enclose multi line blocks of pre-formatted text between two sets of 3 backticks - I edited your post to correct the format.
I note you have on the Archer C6 (the mesh portal, ie the node with the ethernet upstream Internet connection:
"mesh_hwmp_rootmode":"4",
"mesh_gate_announcements":"0",
"mesh_connected_to_gate":"0",
and
"mesh_connected_to_as":"0",
In the current use case, these settings are fine, but if you were to add a third node, you would likely encounter problems as this device acting as portal will not advertise itself on HWMP correctly.
The correct parameters should be:
"mesh_hwmp_rootmode":"4",
"mesh_gate_announcements":"1",
"mesh_connected_to_gate":"1",
and
"mesh_connected_to_as":"1",
Similarly on the D-Link (a mesh gate[way]) you have:
"mesh_hwmp_rootmode":"4",
"mesh_gate_announcements":"1",
"mesh_connected_to_gate":"1",
and
"mesh_connected_to_as":"0",
This is ok, but "mesh_hwmp_rootmode":"4",
will result in more HWMP management traffic than is needed.
A better setting for a normal mesh gate would be "mesh_hwmp_rootmode":"2",
In your current use case of just two meshnodes, "mesh_hwmp_rootmode":"0",
would be even better on this device.
But like I said, in your use case of just two meshnodes, what you have is ok.
Note that in "manual mode", auto channel tracking is disabled and you have channel set to auto. Should the wireless drive change channels, the mesh will break. On 5GHz, this is unlikely if both are set to auto, as this means the default of channel 36 is nearly always chosen. It would be safer to specifically set channel 36 on both meshnodes.
Finally note that mesh11sd v4.1.0 was released over the weekend and should now be available on the OpenWrt feeds. If not yet available, it is just the buildbots being a bit slow, so give it a few hours....
Thanks @bluewavenet for the very in-depth reply, I’ve updated my config as you suggested,
On Archer
"interfaces":{
"mesh0":{
"mesh_retry_timeout":"100",
"mesh_confirm_timeout":"100",
"mesh_holding_timeout":"100",
"mesh_max_peer_links":"16",
"mesh_max_retries":"3",
"mesh_ttl":"31",
"mesh_element_ttl":"31",
"mesh_auto_open_plinks":"0",
"mesh_hwmp_max_preq_retries":"4",
"mesh_path_refresh_time":"1000",
"mesh_min_discovery_timeout":"100",
"mesh_hwmp_active_path_timeout":"5000",
"mesh_hwmp_preq_min_interval":"10",
"mesh_hwmp_net_diameter_traversal_time":"50",
"mesh_hwmp_rootmode":"4",
"mesh_hwmp_rann_interval":"5000",
"mesh_gate_announcements":"1",
"mesh_fwding":"1",
"mesh_sync_offset_max_neighor":"50",
"mesh_rssi_threshold":"-70",
"mesh_hwmp_active_path_to_root_timeout":"6000",
"mesh_hwmp_root_interval":"5000",
"mesh_hwmp_confirmation_interval":"2000",
"mesh_power_mode":"active",
"mesh_awake_window":"10",
"mesh_plink_timeout":"0",
"mesh_connected_to_gate":"1",
"mesh_nolearn":"0",
"mesh_connected_to_as":"1",
"mesh_id":"my-mesh-id",
"device":"radio1",
"channel":"36",
On Repeater
"interfaces":{
"mesh0":{
"mesh_retry_timeout":"100",
"mesh_confirm_timeout":"100",
"mesh_holding_timeout":"100",
"mesh_max_peer_links":"16",
"mesh_max_retries":"3",
"mesh_ttl":"31",
"mesh_element_ttl":"31",
"mesh_auto_open_plinks":"0",
"mesh_hwmp_max_preq_retries":"4",
"mesh_path_refresh_time":"1000",
"mesh_min_discovery_timeout":"100",
"mesh_hwmp_active_path_timeout":"5000",
"mesh_hwmp_preq_min_interval":"10",
"mesh_hwmp_net_diameter_traversal_time":"50",
"mesh_hwmp_rootmode":"0",
"mesh_hwmp_rann_interval":"5000",
"mesh_gate_announcements":"1",
"mesh_fwding":"1",
"mesh_sync_offset_max_neighor":"50",
"mesh_rssi_threshold":"-70",
"mesh_hwmp_active_path_to_root_timeout":"6000",
"mesh_hwmp_root_interval":"5000",
"mesh_hwmp_confirmation_interval":"2000",
"mesh_power_mode":"active",
"mesh_awake_window":"10",
"mesh_plink_timeout":"10",
"mesh_connected_to_gate":"1",
"mesh_nolearn":"0",
"mesh_connected_to_as":"0",
"mesh_id":"my-mesh-id",
"device":"radio1",
"channel":"36",
The setting portal_detect
is set to 1 on both the Main AP and the Repeater, should that be changed to 2 for the Repeater? As the Readme mentions this
NOTE: If the setup option portal_detect is set to 2, the meshnode will be forced into Peer mode, ignoring any any upstream wan feed.
Can you explain what the different hwmp_root_mode
parameters do? As it isn’t specified in the readme.
@LoneWolff7
The setting portal_detect is set to 1 on both the Main AP and the Repeater, should that be changed to 2 for the Repeater?
The setting portal_detect has no effect when auto_config is set to 0.
Can you explain what the different hwmp_root_mode parameters do?
HWMP (Hybrid Wireless Mesh Protocol) is the layer 2 routing protocol used by default in 802.11s mesh networks.
The root mode determines how a mesh node contributes to the routing within the backhaul.
Note: "Routing" means the mechanism by which layer 2 packets are directed within the backhaul. It has nothing to do with IP routing which is at layer 3 .
Every meshnode is a "root" ie it is an active part of the backhaul. HWMP defines 4 types of root:
_Note hwmp_rootmode = 1 is reserved and not defined
There are 3 basic node types (with numerous sub-types):
Typically:
Hopefully this clarifies things a little....
Thanks once again @bluewavenet for the in-detailed reply, really appreciate it. May I suggest you add the rootmode option description to the Readme.
After changing hwmp_rootmode
to 0
I’ve noticed reduced throughput on the Repeater, when I’m in good range of the repeater the speeds don’t go above 50 Mbps, when earlier it used to go above 100 Mbps.
root@AP2:~# iwinfo
mesh0 ESSID: "my-mesh-id"
Access Point: xx:xx:xx:xx:xx:xx
Mode: Mesh Point Channel: 36 (5.180 GHz) HT Mode: VHT80
Center Channel 1: 42 2: unknown
Tx-Power: 18 dBm Link Quality: 54/70
Signal: -57 dBm Noise: unknown
Bit Rate: 585.1 MBit/s
Encryption: WPA3 SAE (CCMP)
Type: nl80211 HW Mode(s): 802.11ac/n
Hardware: 14C3:7662 14C3:7662 [MediaTek MT76x2E]
TX power offset: none
Frequency offset: none
Supports VAPs: yes PHY name: phy1
phy1-ap0 ESSID: "My-SSID"
Access Point: xx:xx:xx:xx:xx:xx
Mode: Master Channel: 36 (5.180 GHz) HT Mode: VHT80
Center Channel 1: 42 2: unknown
Tx-Power: 18 dBm Link Quality: unknown/70
Signal: unknown Noise: unknown
Bit Rate: unknown
Encryption: WPA2 PSK (CCMP)
Type: nl80211 HW Mode(s): 802.11ac/n
Hardware: 14C3:7662 14C3:7662 [MediaTek MT76x2E]
TX power offset: none
Frequency offset: none
Supports VAPs: yes PHY name: phy1
wlan0 ESSID: unknown
Access Point: xx:xx:xx:xx:xx:xx
Mode: Client Channel: unknown (unknown) HT Mode: NOHT
Center Channel 1: unknown 2: unknown
Tx-Power: 20 dBm Link Quality: unknown/70
Signal: unknown Noise: unknown
Bit Rate: unknown
Encryption: unknown
Type: nl80211 HW Mode(s): 802.11b/g/n
Hardware: embedded [MediaTek MT7628]
TX power offset: none
Frequency offset: none
Supports VAPs: yes PHY name: phy0
@LoneWolff7
May I suggest you add the rootmode option description to the Readme.
You may indeed suggest this. A good idea. I'll put it on the ToDo list ;-)
After changing hwmp_rootmode to 0 I’ve noticed reduced throughput on the Repeater, when I’m in good range of the repeater the speeds don’t go above 50 Mbps, when earlier it used to go above 100 Mbps.
I doubt if changing rootmode will have this effect. It could be any of a number of unrelated issues eg radio interference.
Without seeing your detailed configs, it is difficult to come to any conclusions.
What happens if you set rootmode to 2?
Some points to note:
PS. What is the purpose of wlan0 in client mode?
@bluewavenet Do we need to set some parameters before running auto config mode? I remember trying it on my Repeater before and it left my repeater unresponsive, I couldn’t even access it from either luci or ssh.
What is the purpose of wlan0 in client mode?
I have the 2.4 GHz radio disabled as it’s way too much crowded here.
@LoneWolff7 auto_config means AUTOMATIC config. You must remove ALL mesh config from /etc/config/wireless. auto_config creates dynamic configuration, but Luci creates a static configuration, it does not understand a dynamic config, so you will not normally see the mesh in Luci when in auto_config mode.
it left my repeater unresponsive, I couldn’t even access it from either luci or ssh.
In auto_config mode, access is via ipv6 either directly or via the mesh11sd connect
cli command.
In auto_config mode, remember it is AUTOMATIC, so you do not even configure as a "dumb ap".
It might be useful to read: https://openwrt.org/docs/guide-user/network/wifi/mesh/rapiddeployment This would be ideal for your use case.
It would also be useful to read: https://openwrt.org/docs/guide-user/network/wifi/mesh/mesh11sd
Can you qualify this? If neighbours are pushing signals in the -50dBm range or stronger it can cause problems, but this is very unlikely in my experience.
What is your country code? Pretty much everywhere you can now use mesh on HT40 or HE40 on channel 13. I would be surprised if this does not work extremely well for you despite neighbours.
@bluewavenet I’m in India so yes channel 13 is available to me on the 2.4 GHz band.
As you suggested, I removed the 5 GHz mesh backhaul and started one on the 2.4 GHz radio with chan 13, 40 MHz width, and performance has been great after that. Thank you for helping me out.
Just one last question,
In case of auto_config mode I shouldn’t even change the default lan ip address of Repeater and then run mesh11sd connect
on my main ap to set it up, have I understood it right here?
@LoneWolff7
In case of auto_config mode I shouldn’t even change the default lan ip address of Repeater and then run mesh11sd connect on my main ap to set it up, have I understood it right here?
You misunderstand. Auto config does everything for you. Auto config nodes detect whether they are portals or nodes. A portal (has a wan port connection upstream to the Internet) uses the default network config defined ip address. A peer (does not have an upstream wan port connection), sets itself up as a bridge and uses dhcp4 to get itself an ipv4 address.
Yes you can connect to a peer using mesh11sd connect
(works via ssh on ipv6), but by default you do not have to do any configuration _(because it is autoconfig!)
You might want to do a bit of tuning on peers in some circumstances, but if the portal logs show the link is stable, there is no need.
My home network topology is like this NanoPi R2S -> Archer C6 AP -> D-Link Repater AP
NanoPi R2S does routing and the Archer and repeater are setup as dumb ap. So for mesh I installed the necessary packages and manually set up the mesh interfaces in luci in both dumb APs.
Then installed mesh11sd and left it in manual configuration mode.
This is the output of
mesh11sd status
On main AP Archer C6
On Repeater
I’ve omitted some information for privacy reasons.
This mesh setup is working flawlessly for me, only wanted to confirm if it’s setup the right way.