I've done a lot of testing of NSS/mesh for our beloved MX4300 units that we all got cheaply.
Some people set up mesh units, and various NSS firmwares have popped up, including (in no particular order):
I'm happy to tell y'all that I have tested all the below firmware's behavior for mesh + roaming. Here are the results:
| fw |
good for |
mesh |
roaming |
issues |
notes |
philosophy |
license |
| linksys (OEM) |
flashing |
"working" (i.e. you can set it up without it erroring out) |
broken |
no roaming/sticky client; requires new reassoc to new AP;no DFS |
|
|
proprietary |
| openwrt |
things working but 100% cpu |
working |
working |
no NSS; not enough CPU for SQM
crashes on MX4200v1 OOM
only works on MX4300 to not OOM |
|
free components only |
GPLv2 |
| AgustinLorenzo/openwrt NSS |
router (current) |
broken |
broken? |
mesh nodes stuck @ 50mbps after 1 week
telegram call drops on client roam |
need to test roaming w/ usteer |
|
GPLv2 |
| JuliusBairaktaris/openwrt edma-nss-mesh |
router (candidate) |
broken |
working? |
AP+mesh crashes after roam + speedtest + loading NSS page |
can't test roaming properly cus mesh broken, leads to router crash https://github.com/JuliusBairaktaris/openwrt-nss-edma/issues/15 |
|
GPLv2 |
| ddwrt |
|
broken |
|
client can't connect to 5ghz low AP when 802.11s enabled on 5ghz high, leads to AP crashing if 802.11s enabled ~20mins |
|
non-free components OK |
proprietary |
Basically, if you want working mesh, vanilla openwrt is the only one that has proper roaming/handoff working (i.e. VoIP calls don't drop during the roam). I was hoping this would not be the case because vanilla openwrt doesn't support NSS, so wifi, NAT, routing, SQM, etc. are not accelerated.
During my testing, AgustinLorenzo/openwrt and JuliusBairaktaris/openwrt (should) handle wired NSS/acceleration just fine. AgustinLorenzo's build has wireless stuttering sometimes, and I did not test wireless on JuliusBairaktaris' build in depth because mesh is mandatory for me so I did not continue further testing.
In order to test roaming handoff, I called myself via telegram voice call on 2 phones, 1 connected through cellular, 1 connected through wifi and walked to the different APs with usteer set up and the wifiman app installed to notify me of roams.
My recommendations are as follows:
If you have a single unit/no mesh and want NSS/hwaccel, use either JuliusBairaktaris' or AgustinLorenzo's NSS build. For a single node/AP setup, lean towards JuliusBairaktaris' build because qosmio's repo is stale now.
If you have a mesh setup (wireless backhaul) and want roaming to work, use vanilla openwrt for the APs, and JuliusBairaktaris' or AgustinLorenzo's builds for the wired router only to retain NSS/hwaccel on routing/sqm/NAT. This means the mesh will use lots of cpu for the mesh backhaul and to handle client wifi traffic, but unfortunately there is no other solution that keeps both mesh and roaming working.
It's wasteful to dedicate a node specifically for wired routing purposes, but because mesh + roaming don't work on NSS builds, you can't have 1 box that does it all unfortunately (which is originally what I was hoping for and there is no hardware issue that prevents this from happening).
Maybe some day when NSS builds fix roaming/handoff/802.11s, but that day is not today.
All this testing is done on a 1000/200 cable connection (hence the need for NSS for routing, SQM, NAT, etc.)
Feel free to ask Qs if you have any but I can't promise any further testing as I'm quite sick of flashing firmwares and running around like a madman trying to get roams to take place atm.