A foolproof guide to setting up further wifi coverage

Hey everyone

An update. So my first rollout had a small problem. I thought that if I ignored the dhcp interface on satellites that would be ok but a Samsung Smart TV was still getting a dhcpv6 address from the satellite. I thought it would be an easy fix of just turning off dhcpv6 but after saving the settings, one satellite came back up ok but the third would not connect back at all. Luci on the main node still showed it connected so why I was puzzled. I had to physically connect it back which then worked.

I'm glad it kind of failed because I wanted to start fresh. I got to test out image builder which is really cool. I had wpad-mesh-mbedtls (obviously basic removed) and mesh11sd auto included which saved so much time (also built a specific image for the main node including sqm). I thought to myself "ah maybe I'll just leave dhcpv6 on the main router now" but then I thought since I'm only doing a gateway to 192.168.1.1 on the satellites that might mess up ipv6 dhcp address so I'll just go pure ipv4.

I then followed this guide to make a fully dumb ap (of course mesh functionality configured): https://openwrt.org/docs/guide-user/network/wifi/dumbap

I don't know if it helps much but who knows. I also assigned the removed wan interface to the lan to get back a port so now both satellites have 4 lan ports if ever needed and not 3. I wrote a full step by step guide for my own reference.

Tbh I could have even looked into "Script to run on first boot (uci-defaults)" under image builder to automate the wlan interface creation but meh.

The network is so much better than eero. Family member even commented how much faster the internet is. One thing I didn't do is look into mesh11sd besides just installing it but for now everything seems good.

These Zyxel WSM20 are honestly the little router that could. Good range and a 3 pack was $65 total. I don't know how people are still buying this Eero stuff. I feel so stupid for buying it but that was over a year ago now I don't feel too bad. This setup although more involved most people could set this up and get total control over their network for a fraction of the cost.

It's just little stuff that's better. One thing I didn't like about the eero and my brother printer scanner combo is that it would work but scanning would stop.... start... stop... start on a single page. OpenWRT even through the mesh for the brother is one full continuous scanning sound till completion and much faster.

Plus I get to add proper sqm support to the mesh. Not the half baked crappy fq_codel implementation of the eero 6 series. Sorry for the long message but thought people would like to know that I'm happy. If anyone wants my step by step guide I can make it public somewhere.

2 Likes

Hey @alex24 – congrats for getting it to work! Yes, please publish your guide somewhere and share the link. You started this post because there isn't a whole lot of information about this available yet, so yours will be very welcome!

@operator Thank you I will look over it again before posting. I think maybe screenshots would be good.

@bluewavenet I was looking at system logs and noticed this:

daemon.warn mesh11sd[2706]: Phantom meshnode detected [mac address here] - deleting

I've seen it for a smart phone, smart tv and a computer. I have 15 entries according to the log. Log is from 9:31am to 11:45 pm so approx 14 hours. Most of the time it's close together like this:

Fri Feb 2 20:39:05 2024 daemon.warn mesh11sd[2706]: Phantom meshnode detected [same mac] - deleting
Fri Feb 2 20:39:16 2024 daemon.warn mesh11sd[2706]: Phantom meshnode detected [same mac] - deleting
Fri Feb 2 20:39:49 2024 daemon.warn mesh11sd[2706]: Phantom meshnode detected [different mac] - deleting

Have I done something wrong?

No, that is normal. It is caused when a user device connects to a mesh gate (the access point interface on a meshnode) but does not respond immediately to arp requests for one reason or another. This message is the mesh11sd houskeeping in action. Perhaps this message should be "info" or "debug" rather than "warn"...

Yes exactly :wink:

1 Like

In my case WDS has a much higher throughput than 802.11s on my Zyxel WSM.

I did perform a iperf3 test and want to share my results:

WDS:

root@WSM20-3:~# iperf3 -c 192.168.8.1 -R
Connecting to host 192.168.8.1, port 5201
Reverse mode, remote host 192.168.8.1 is sending
[  5] local 192.168.8.5 port 54230 connected to 192.168.8.1 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  70.2 MBytes   589 Mbits/sec
[  5]   1.00-2.00   sec  71.2 MBytes   598 Mbits/sec
[  5]   2.00-3.00   sec  71.2 MBytes   598 Mbits/sec
[  5]   3.00-4.00   sec  69.6 MBytes   584 Mbits/sec
[  5]   4.00-5.00   sec  72.5 MBytes   608 Mbits/sec
[  5]   5.00-6.00   sec  73.8 MBytes   619 Mbits/sec
[  5]   6.00-7.00   sec  70.9 MBytes   595 Mbits/sec
[  5]   7.00-8.00   sec  71.8 MBytes   602 Mbits/sec
[  5]   8.00-9.00   sec  71.2 MBytes   598 Mbits/sec
[  5]   9.00-10.00  sec  74.1 MBytes   622 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   722 MBytes   605 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   718 MBytes   602 Mbits/sec                  receiver

iperf Done.

802.11s:

root@WSM20-3:~# iperf3 -c 192.168.8.1 -R
Connecting to host 192.168.8.1, port 5201
Reverse mode, remote host 192.168.8.1 is sending
[  5] local 192.168.8.5 port 39126 connected to 192.168.8.1 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  32.6 MBytes   273 Mbits/sec
[  5]   1.00-2.00   sec  31.1 MBytes   261 Mbits/sec
[  5]   2.00-3.00   sec  37.4 MBytes   313 Mbits/sec
[  5]   3.00-4.00   sec  37.2 MBytes   313 Mbits/sec
[  5]   4.00-5.00   sec  35.5 MBytes   298 Mbits/sec
[  5]   5.00-6.00   sec  37.9 MBytes   318 Mbits/sec
[  5]   6.00-7.00   sec  32.6 MBytes   274 Mbits/sec
[  5]   7.00-8.00   sec  38.1 MBytes   320 Mbits/sec
[  5]   8.00-9.00   sec  37.1 MBytes   311 Mbits/sec
[  5]   9.00-10.00  sec  33.9 MBytes   284 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   357 MBytes   299 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   354 MBytes   297 Mbits/sec                  receiver

iperf Done.

Tested under the same conditions.

You have pretty much a factor of 2 to 3 difference which is not in any way normal. It indicates something very wrong somewhere.

Please show the output of mesh11sd status

1 Like

Here is the output of mesh11sd status.

Router:

root@GL-MT6000:~# mesh11sd status
{
  "setup":{
    "version":"2.0.0",
    "enabled":"1",
    "procd_status":"running",
    "portal_detect":"1",
    "mesh_basename":"m-11s-",
    "checkinterval":"10",
    "interface_timeout":"10",
    "debuglevel":"1"
  }
  "interfaces":{
    "m-11s-0":{
      "mesh_retry_timeout":"100",
      "mesh_confirm_timeout":"100",
      "mesh_holding_timeout":"100",
      "mesh_max_peer_links":"8",
      "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":"3",
      "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":"0",
      "mesh_id":"mesh-16",
      "device":"radio1",
      "channel":"10036,40,44,48",
      "tx_packets":"5168",
      "tx_bytes":"6479096",
      "rx_packets":"2319",
      "rx_bytes":"514403",
      "active_peers":"1",
      "peers":{
        "d2:1a:d1:18:9f:3a":{
          "next_hop":"d2:1a:d1:18:9f:3a"
        }
      }
      "active_stations":"2",
      "stations":{
        "e0:bb:9e:67:7e:54":{
          "proxy_node":"d2:1a:d1:18:9f:3a"
        },
        "f0:6e:0b:e0:0b:96":{
          "proxy_node":"d2:1a:d1:18:9f:3a"
        }
      }
    }
  }
}

"Repeater":

root@WSM20-3:~# mesh11sd status
{
  "setup":{
    "version":"2.0.0",
    "enabled":"1",
    "procd_status":"running",
    "portal_detect":"1",
    "mesh_basename":"m-11s-",
    "checkinterval":"10",
    "interface_timeout":"10",
    "debuglevel":"1"
  }
  "interfaces":{
    "m-11s-0":{
      "mesh_retry_timeout":"100",
      "mesh_confirm_timeout":"100",
      "mesh_holding_timeout":"100",
      "mesh_max_peer_links":"8",
      "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":"3",
      "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":"0",
      "mesh_id":"mesh-16",
      "device":"radio1",
      "channel":"100",
      "tx_packets":"2626",
      "tx_bytes":"670604",
      "rx_packets":"6072",
      "rx_bytes":"7454157",
      "active_peers":"1",
      "peers":{
        "96:83:c4:a6:f1:2d":{
          "next_hop":"96:83:c4:a6:f1:2d"
        }
      }
      "active_stations":"2",
      "stations":{
        "0c:43:f9:da:6d:5f":{
          "proxy_node":"96:83:c4:a6:f1:2d"
        },
        "94:83:c4:a6:f1:2b":{
          "proxy_node":"96:83:c4:a6:f1:2d"
        }
      }
    }
  }
}

In the beginning i actually wanted to use 802.11s to set up my mesh at home. i think it's a bit easier to configure. But when i tested the throughput against WDS i changed my mind.
Could it be that the SoC of the Zyxel WSM is already too old/slow for 802.11s?

@bluewavenet

Hi

Have you looked at it yet?

Yes. Nothing looks out of place.

This is the default for v2. It is possible the signal strength is close to this causing problems - not sure.

Can you temporarily move the "repeater" closer to the other and retest?

Yes I'll test it again on Wednesday. Unfortunately no time tomorrow.

@alex24

Maybe you can run an iperf3 test too on your config?
Would be great to have someone to compare the throughput in 802.11s mode.

Hey everyone

Update time. So after 3 days of what seemed great stability, first problem. Family member complained of no internet on their PC which I thought "meh it happens" as 2 hours later when I got in I checked the PC and all was fine. Logs showed nothing that I could see. I should have maybe suspected a problem since the PPPoE link showed close to 4 days uptime still.

About half an hour ago I noticed the printer was offline. The first sign of an actual problem. I know that connects to a satellite (192.168.2.1) so I try to ping the satellite from a wired client on main node (192.168.1.1). Could not reach it at all. I then switch on the problem PC (as stated above) also auto connected to that node and sure enough no internet. I could ping locally to 192.168.2.1 and see the printer online since it was connected to the same node but reaching 192.168.1.1 was not happening.

192.168.1.1 luci web interface showed the mesh point was still associated so I don't know what happened. To fix it I just did a reboot of 192.168.2.1 and all of a sudden everything worked again. I was going to try and get some logs or something but since the problem pc didn't have putty (and no internet access to download putty) I was kind of stuck.

I don't know if I should blame my setup skills for this but then again it did work for what appeared 3 days so I can't have been miles off. I will say that the other satellite node (192.168.3.1) has not shown a problem that I know of anyway. While this was going on I could ping that from 192.168.1.1 just fine and access luci etc.

I'm not one for conspiracy and it literally makes no sense but I think it might be a hardware problem. People with the stock oem firmware of the Zyxel Multy M1 (WSM20) said they also have problems with reliability (one reason I wondered why it's so cheap). One person even joked that it's called Multy because you have to make multiple trips to a customers home to get it working again.

I thought that should just be something that OpenWRT fixed since it's different software but maybe it is actually hardware. I don't know how though so I'm probably just stupid. The thing is the family member works from home so having reliable internet access is a must that I will have to go back to eero.

I might send the 3 WSM20 back. Don't get me wrong it's pretty insane when it does work. I was able to do a waveform bufferbloat test and get an A+ rating for a wireless client connected via a mesh node... let's see eero do that.

I only have approx 60 Mbps internet. I installed htop and saw spikes of 75% CPU when doing speedtest with sqm (even non sqm I saw 55% or so). There's no way that if I was to get faster internet that the router could handle sqm at say 150 Mbps plus mesh. I think it makes more sense to send them back and get something with a better CPU, plus it will completely make sure hardware isn't a problem for reliability. I don't see many people complain about the Netgear WAX206 for example. It is quite annoying that 1 WAX206 is just about the price of 3 WSM20. :frowning:

I guess I could look into the WDS thing but I'd need to reread how to do that. Can't be much different from mesh I guess. I don't really want to put the family member under more unneeded stress of not having internet though.

I would advise you to look at below forum post after you do the WDS setup as per the wiki page. It is really simple and works great.
It seems you have a similar setup as this topic and it may be helpful for you:https://forum.openwrt.org/t/wds-network-setting-stp-right/186173/14
Good luck.
Btw: I am using WDS setup, however only with 2 nodes and it is solid. No probs at all.
Kr
K

Oh so likely what happened is some packets went on an endless loop that brought down connectivity. It would have fixed itself if I had configured this stp?

I'm abit confused by that forum post. The solution by _bernd in op states 4096 for main router and 8192 elsewhere but then post 10 changes this to be 0 for the main router.

They also state that stp is not needed for a star topology which I THINK I have. All I can say on a base level and my limited understanding is 192.168.1.1 is the main router. 192.168.2.1 and 192.168.3.1 connect to 192.168.1.1 via mesh but can also see each other in associated stations since everything shares the same mesh id.

I have a WDS linked star topology too but I absolutely had to enable STP. Otherwise I had issues even with reaching the other nodes or the router after a while.

I your case you can set your routers bridge priority to "0" and for the nodes to "4096"

Just make sure the router has the lower value so it becomes the root bridge.

4096 for your router and 8192 for the nodes would also work.

I see alao that you have given to the nodes address out of you subnet. Change that pls. From the dumb Ap wiki

Blockquote

Give the wireless AP an IP address β€œnext to” your main router.
By default, the main router will have an address of 192.168.1.1, so use 192.168.1.2. (or something like that.)
The address should be on the same subnet as your main router but out of the DHCP range used when assigning addresses to connected devices.
By default, that means the wireless AP router IP should be between 192.168.1.2 and 192.168.1.100.

Blockquote

There are fairly rare but investigated known issues with some radio hardware, causing just this issue (ie ipv4 routing appears to fail from a particular mesh node).
The mesh node remains connected to the mesh but ipv4 routing stops working.
Rebooting or restarting the wireless corrects the issue.
The issue, by the way, seems to be a timeout in hardware. Strange thing is that it does not always happen - either a hardware issue of some kind (getting hot? Power glitches?), or a driver issue - difficult to say.
The "coming soon" release of mesh11sd v3 has many tweaks to solve the problem. Part of the delay in releasing this is due to extended testing for this problem. Looks successful.

Assuming your problem is the same as this, it looks like mesh11sd v3 will prevent this from happening......

Having said that, it could of course be a faulty unit - as I said above - getting hot? Power glitches? and possibly substandard power supply.

The fact that it worked for you for 3 days, makes me feel confident the "rare but investigated" issue is the problem.

1 Like

You do not need STP for a pure mesh network as the built in 802.11s HWMP protocol prevents bridge loops. Of course if you have other non-mesh segments between meshnodes it is a different story in which you will need STP.

A mesh network has a MESH topology. Your 3 nodes might by chance be in a star, but that could change at any time depending on many factors.

Here is a good diagram:

1 Like

When should we expect mesh11sd v3 to be released? For those who'd rather wait for the new version before embarking on their own OpenWrt mesh journey.

Testing is nearing completion, so, unless any bugs appear:
"Soon" β„’ LOL

Seriously, within a few days.

1 Like