Problems on WDS 'mesh' - static vs Dynamic WDS

I think its a mistake taking a shortcut thinking it will make it easier to manage…

Mikrotik is not difficult to manage, and only needs to be set up correctly, backed up and monitored.

The tools it gives you in return will save a lot of headaches later if you plan to have any real traffic on you network…

but, at the end of the day it is your choice…

:wink:

AGAIN …GWISA my friend …
I was trying to get an answer to my last question to you , IF i wil use RB’s as nodes should they act as real routers ? i mean Natting for example ? can i put all my users connected to all my nodes on the same IP range 192.168.1.xx ?? without natting them and make different range on the same node ?

yes, you can. MT is infinitely configurable.

GWISA - I am trying to implement a 3 AP setup similar to what you were doing above. One router is the main gateway and it needs to run the hotspot service. The other 2 routers need to connect ot each other and the gateway router and all APs need to let wireless users access through the hotspot service. Would you mind posting an example of what commandds your would issue on the three routers for this config? When I try to configure the main gateway/hotspot AP, I initially setup the router to be a normal hotspot AP. Once I add the bridge and put wlan1 in the bridge and set wlan1 to wds-mode=dynamic and wds-default-bridge=bridge1, then users are immediately disconnected and cannot gain access from the AP anymore. I stopped after that, and figured I should ask for advice. Thanks for any help. I have posted the main query in thread 15311.

I had inconsistent behaviour trying to run a single hotpot server on the bridge, so that’s why I changed it to a distributed server setup using RADIUS/User manager authentication. Each node runs its own hotspot/PPPoE server on a virtual AP that is not bridged.

Although, with only a few routers it all seemed ok - so yours might work as you want it to. Remember that clients authenticated on a hotspot server running on a bridged setup will probably be able to network between nodes unless you firewall them…

A couple of tips for your setup:

  • Hotspot server should run on the bridge of the main router.
  • Only the gateway router should have the masquerade rule enabled
  • node routers IP’s or MACs should be entered into the ‘IP Bindings’ list with type set as ‘bypassed’ otherwise they will be blocked by the hotspot firewall.


    If you are still interested in my PPPoE setup, I can post a configuration example here. All nodes are programmed exactly the same except for IP’s and connect rules.

I have gotten it to work with the gateway router “AP1” running hotspot on wds interface and the 2 other routers “AP2” and “AP3” as remote APs using dynamic wds

The wds config is set as follows:

/interface wireless set wlan1 ssid=WIFI frequency=2462 compression=yes band=2.4ghz-b/g mode=ap-bridge country="united states" periodic-calibration=enabled periodic-calibration-interval=720 disabled=no
/interface wireless print
/interface wireless set 0 proprietary-extensions=post-2.9.25
/interface bridge add name=wds1 protocol-mode=rstp disabled=no
/interface bridge port add interface=wlan1 bridge=wds1 disabled=no
/interface wireless print
/interface wireless set 0 wds-default-bridge=wds1
/interface wireless set 0 wds-mode=dynamic

Through my tests (by removing antennas to make the client select one AP over another) I find that you can connect to any AP and get to the hotspot and get out to the Internet as expected. If you connect to the gateway router “AP1”, you get the best connection and lowest latency to the Internet. If you connect to one of the other routers “AP2” or “AP3”, you get a good connection to the Internet with slightly higher latency (but acceptable). If I force “AP2” or “AP3” to have to talk between one another to get traffic to AP1 (for example, testing as if there is a range problem between “AP3” and “AP1” therefore making “AP2” relay information from “AP3” to “AP1”), when a client connects through AP3, the latency seems very high. Does dynamic wds not work well under these conditions? Do I need to make sure that a remote router is always one hop from the main gateway router and not rely on interim wds hops? If I set static wds between all three routers would that work better?

Any suggestions on making this work cleaner would be greatly appreciated.

I only saw dynamic WDS becoming a problem when there were more than about 6 nodes that could all see each other. With only 3, it should be fine, but static WDS does perform better.

You should not have to be concerned about how many hops to the gateway - there is a problem somewhere if your latency increases notably.

I also ended up using STP with the greater number of nodes… RSTP didn’t seem to be stable enough.

Possibly my method of testing was the latency problem. Placing AP2 close to AP1 and removing AP1’s antenna so that AP3 could only see AP2 and would have to rely on AP2 to pass traffic. Maybe the latency was being introduced by AP1 not having an antenna even in short range communication to AP2. The config is very simple. I sure would have been nice is MT would put a “generic” mesh expample in the maunal for first time wds users. I have been using MTOS for almost 2 years, but I did not have several hours to reseach the forums and wiat for answers. The wiki examples are not very descript or helpful in a generic way either… Thanks again for your input.

GWISA - The install is working rather well now that it is in place at the apartments. Quick question - Do you think I could use a cheaper rb for the other nodes in the mesh? Like an rb133? or even cheaper?

Also why do you think if you have more than 6 nodes, it stops working with the single hotspot? Don’t you think those two things should be unrelated? Did MT ever tell you why you were having that problem?

We’ve experienced problems on sites that need to service clients using anything less than RB532’s, so have adopted a standard on this.

I did have problems in the beginning on this mesh using RB112’s, where they would just stop responding for some reason, which I think is probably CPU related. If your client count is low, then maybe they’ll work, but I wouldn’t bank on it. Even with no or very little traffic on the mesh, they would periodically freeze.

As far as MT responding with a possible cause for more nodes causing instability or erratic operation - I never got to the bottom of that one… maybe it’s been fixed in v3, as I see they have a ‘mesh’ mode for the wireless operation now…

Reading this tread with interest, things to learn here. And yes, a basic mesh wireless network setup example would certainly help a lot of readers. As a starter I´m also struggling on how to set up a WDS mesh network with 4 nodes all together. Not running Hotspot thoug, just fixed permanent clients.
I also find the Wiki info a bit slim in iots information to say the least.

GWISA,
You talk about a new wireless ¨mesh¨ mode in the new v3. Where do you find this. I can´t find it?

GWISA,
You talk about a new wireless ¨mesh¨ mode in the new v3. Where do you find this. I can´t find it?

its in WDS mode - ‘dynamic mesh’ or ‘static mesh’

IMO dynamic must be used only in development stage of mesh, so you can see what towers can see and choose stable connections.

also if topography allows you can always use dynamic, but for more stable mesh static must be preferred choice

edit:

i am open for suggestions

absolutely - unless a small number of nodes are in the area.

The problem with dynamic is weak signals connecting & disconnecting. As you say, in the development stage, each node should be setup in turn, with dynamic WDS enabled. Once the best paths/strongest signals have been determined, then static WDS must be enabled on those paths, and connect-list rules defined for these links. Always end your connect-list rules with connect=no for all others

Why would you care if the dynamic links with other APs are being established or not. Do the routers not assign a higher preference to stronger links? Lot’s of link negotiating would cause a little CPU overhead, but not really slow down connections (use a rb532). If you have 2 or more equally strong signals in a dynamic bridge, are you concerned that a form of “route flapping” is occurring with RSTP/STP?

Shouldn’t your goal be to build your network with redundancy so that the mesh can self heal? :bulb: I am suprised that there is not a link table to assign preferences to wds links that “may” be connecting dynamically so that if they happen to connect the router knows your instructions. Kind if a static and dynamic mode that lets you stop certain troublesome dynamic links from constantly swapping link preference.

When you say “equally strong” do you also mean “equally weak”? A weak signal is a problem - mesh or no mesh, and in a mesh a weak signal on a WDS link causes havoc with STP/RSTP.

Shouldn’t your goal be to build your network with redundancy so that the mesh can self heal?

Yes of course - that’s why STP/RSTP is employed.

I am suprised that there is not a link table

er…well… that’s what the connect-list is for :open_mouth:

Static WDS is still required when distant (read: weak signal) nodes can see each other, or at the very least, a connect=no option setting in both nodes’ connect list to avoid those nodes connecting dynamically.

Having multiple paths available from a node is exactly what a mesh suggests, and there are many ways to skin a cat… I just found static WDS much easier to manage…

Static WDS is still required when distant (read: weak signal) nodes can see each other, or at the very least, a connect=no option setting in both nodes’ connect list to avoid those nodes > connecting dynamically> .

Are you saying that if the router is in dynamic wds mode that you could create a connect-list to stop certain nodes from connecting? Either way, could you show me what commands you would issue to create a connect-list to match the following example?

Example: Routers named A B C D.
A has a strong connection to both B and C. A has a fairly weak direct connection to D, but D has strong connecitons to B and C. Therefore, only if B and C were down would you want A and D to directly connect to each other. How would you configure the connect-list in A to stop D from randomly making direct connections until such time B and C could no longer be used as intermediate hops?

If the connect-list can be configured this way, then what I was saying before can be done using connect-lists, but I am not very familiar with connect-list use, and therefore I did not think it could adapt the logic. I would really appreciate if you could show me a config example so I will fully understand the implementation. Maybe I could adopt that approach when I create bigger meshes with some weak links in the future. Thanks.

In your above example, having A & D as available paths in your mesh is a fundamental design flaw. This will not work, unless A & D’s WDS connection is 100% stable - or as close as possible without the WDS link frequently disconecting.

If the links are so weak that the WDS keeps connecting & disconnecting, you don’t want this link available as a path for your mesh, so you would not consider this.

Taking MY scenarion into account, and assuming A cannot connect reliably to D, then in router A, you would set a connect list rule connect=no, and on router B, you would set a connect list rule connect=no.

If there is no alternate path for A to D when B & C go down, then aybe you need to re-look at your layout.

If you have no alternative, then maybe you could use a netwatch rule disable the connect-list rules when all links have failed and you HAVE to try and use the bad link.

i would like to add that you will suffer greatly if you will rely on flaky links, as in one moment you will be left only with those flaky link and that will be disastrous to you as a lot of complains will pour in that link is unstable and lots of lost broken downloads etc.

Then once again, my point was to discuss why dynamic wds is such a bad idea for permanent links. If the links are strong, then why did you say the dynamic links do not produce satidfactory performance in a post above?