Turris Mox Support?

Hi guys,

any chance that openWRT will support the modular router "Turris Mox"? It seems it has installed openWRT anyways, but I like the idea of having control about the underlying software :slight_smile:

Anybody having experience with this piece of hardware?



I think it's like with its predecessor: the Turris people are not making a lot of efforts to integrate support into OpenWrt. They will sell it to you with the catchphrase 'running OpenWrt' (or 'based on OpenWrt') but that's still not the same as supported by OpenWrt.

There's probably a lot of blobs and maybe some NDAs they're shackled by. To cut a long story short: you should ask the Turris people, not OpenWrt.

Edit: it seems the Mox is closer to mainline OpenWrt and the Turris people took another approach with the Mox codebase which greatly improves compatibility with vanilla OpenWrt.

1 Like

Thank you for the information!

In all fairness, Marvell probably have the best support as far as mainline goes if you're looking at aarch64/ARM64 hardware that's in the "low-cost" spectrum and their design is clever. It's based around the same SoC as Espressobin and GL-MV1000 aka Brume although there will of course be some specifics pending on product. The only real downside is no mainline u-boot support but that's a common occurance.

As for "upstream" OpenWrt support there are no patches available for that specific device.

I am not sure if it is good to post replies even you are not sure.

Actually, Turris OS 4.0 (and newer versions) is designed as patchset for OpenWrt. It basically means that what is in OpenWrt, that it is available in Turris OS.You may choose if you would like to try snapshots of OpenWrt 19.07, which was not released or even daily snapshots of master branches. For more details, you may refer Turris workflow or switch-branch which is available on Turris routers. The software is open-source, so you have everything that you need. What can be curious for you can be this git-hash file from stable branch of Turris OS, where you can check from repositories with git commit hash it was built.

I can not agree that we are not making a lot of efforts to integrate support into upstream. Actually, kernel 4.19 for mvebu target (Turris Omnia, Turris MOX) was sent by us and Tomasz finished it. However, for now, Turris MOX is not supported in OpenWrt. We are aware of that and we are working on that as there are some things which needs to be backported first like adding Moxtet bus and so on. In the meantime, you can take a look at this patch, which adds basic MOX support for OpenWrt. Also, it needs to be said that on master branches on OpenWrt you are on your own and opkg upgrade is not supported. We sent quite a lot PRs against packages repository and we don't have the plan to stopped that. :wink:

In upstream u-boot Turris MOX is already supported.
//EDIT: Most things for Turris MOX including DTS is in kernel since version v5.4-rc1.


My bigger concern[0] about that hardware would be exactly the modular approach, with its proprietary busses and connectors. Namely the option to get the modules I may like (in my preferred configuration) in the future, for a reasonable price, or at all, a couple of years from now. In the past proprietary modular approaches haven't been successful on the market and disappeared rather quickly, leaving the modular promises unfulfilled.

Especially if you do want classic router functionality, you do have quite an investment into these proprietary modules ahead of you - 2 wlan modules, one switch modules, leaving not that much future extensibility (and afaik the bus connectors aren't that modular either, needing a specific coding for each slot, limiting your options even further[1]).

Software issues aside, I personally consider the turris omnia (or a future device loosely based on that) to be a better choice for most potential OpenWrt users[2], [3] than the turris mox could ever be - and probably even cheaper as well.

[0] I do expect OpenWrt support for it to be possible, although I wouldn't hold my breath about the question of how long it would take to materialize, nor if cz.nic would help with that…
[1] can you add 4 switch modules, XOR 4 5 GHz WLAN modules to the same turris mox, afaik you can't, given the serdes lane enumeration in the sockets
[2] one free mini-PCIe slot, available for whatever mini-PCIe option you may come up with
[3] the same might go for 802.11ax, you can get m.2 --> mini-PCIe adapters, so once you can buy (supported) AP-capable 802.11ax wlan cards, you should be able to add them to your turris omnia as well - probably quicker than mox compatible modules appear on the market[4]
[4] e.g. the non-AP capable Intel AX200 m.2 WLAN cards already exist on the market today, rather cheap as well.

1 Like

How is that different from any other cheap router?

Well, the modular approach still has the advantage that one can configure a device best for a given use-case at purchase time.

Well, the omnia is quite pricy (and a nice device worth the money) so having a cheaper option is appreciated. All I wish is that the base module had two gigabit ethernet ports, so it could do duty as wired router without the need for additional modules...

Given that neither a MOX or an omnia is sufficiently powerful to use all its neat software tricks at Gbps rates*, it might make sense to think about a newer SoC to base an 802.11ax router around, no?

*) E.g. with firewalling and NAT, DNS my omnia can shape with cake reliably up to around 500-550 Mbps bi-directionally, add VPN or other compute intensive services (or 802.11ax radios) and that shaper performance drops even more. In all honesty, that is actually a pretty impressive shaper performance (at least IMHO), but this is already below what people actually can get as internet access link speed.

It's different in the sense that 'other cheap routers' do already contain switch/ wlan cards - offering a fixed hardware bouquet for -well- 'cheap'. The difference here is that with the mox you don't have those features, unless you buy into the modular format and trust into their (long term) availability. The roughly similarly priced (cheaper, if you add switch and wlan cards into the tally) turris omnia is an even better example here, as the parts it does provide in a modular fashion follow an open standard (mini-PCIe), for which you can buy replacements now and in 10 years (albeit probably only on the used market, still, mini-PCIe is common enough for that not being a problem anytime soon).

I question that, really, because I assume 'anyone' (at least most) to require at least 3 modules from the get go, switch and two WLAN cards (if their intention is to use it as a router, for other purposes a cheap SBC might do just as well), once you add those to the tally, it's getting expensive (compared to the turris omnia, so trying to be fair here). Another issue is the hardware coding of the SERDES lanes, modules aren't interchangeable, they need to match the existing setup. Let's look at a simple example, as far as I understand it (due to the way the SERDES lanes are passed through) you can't put 4 WLAN cards into the same turris mox.

That's exactly my problem with this. You have to buy into a proprietary (uncommon/ device specific) module format for this to provide any useful operation. Once you have feature compatibility with an entry level 70 EUR router (e.g. ipq40xx, concurrent dual-band wlan)[0], you're already 3 modules into vendor lock-in. With an unclear situation if 802.11ax modules will become available, or if you can re-use any of your existing modules in a hypothetical mox-ng.

My understanding is that it should be able to do 1 GBit/s routing (without SQM) at linespeed, providing enough performance to service future 802.11ax cards is kind of an assumption on my side (slightly encouraged by cz.nic's advertising). Obviously both have their limits, but - µATX x86_64 does provide both standardized modularity and the necessary performance for SQM at (beyond) 1 GBit/s linespeed for a roughly comparable price and power envelope here.

[0] that's obviously not a fair comparison in terms of routing performance, but I do want to provide a baseline for what most users will consider to be a router these days; namely at least 4+1 ethernet ports and concurrent dual-band wifi. And I try to be fair here, by having based my rough price comparison ('full-featured router') on the prices for the turris omnia, and not some low(er) end mass produced device.

cz.nic never annouced it as long-time platform in terms of hardware availability but on the other hand I don't think their goal is to just fullfill a handfull of orders. They're trying to cater mid-range/hi-end "open source" hardware users who wants to ability to build a rather powerful platform for various tasks. If you keep that mind you'll quickly realize that it's not a fair comparson especially on the hardware level. Also worth keeping in mind that while x86 provides performance some might want to use ARM due to security concerns etc.

Exactly, but I happen to question the usefulness of modules that (at least potentially) 'have no future'. Yes, you can tailor your needs (heck, I personally would love a router with >=8 switch ports included), but I fail to see the advantage at the given price point (compared to e.g. the turris omnia). If that's the asking price, I can just as well go full dedicated devices and use a managed switch, a 'cheap' dual-band AP and an adequately powerful 'mainboard'.

Well, you can also immediately buy all options you need; long-term availability IMHO only becomes important once you consider your router a "platform" worth of mid-lifetime upgrades. But I assume with increasing internet access rates that does seem to be an optimistic strategy. But sure that is purely subjective :wink:

Except in 10 years I am not sure the omnia's flash will still be usable. In all honesty, if I would plan for such long times I probably would go for the proven modularity of x86/x64. That said, my wndr3700v2 is getting close to 10 years in service (without updates, as my soldering skills are mediocre), so maybe 10 years is not that far fetched....

Well the omnia retails for 304 EUR (https://www.discomp.cz/turris-omnia-2019-eu-wi-fi-2gb-5x-glan-1x-sfp-2x-usb-3-0-3x-minipci-e_d91878.html?fulltextword=turris) the mox classic for 307 EUR (https://www.discomp.cz/turris-mox-classic_d90845.html?fulltextword=mox) so I would say similarly priced, but if you do not need either the 4 port ethernet switch or the 802.11 radios you can save some money on the MOX (and get a 64bit CPU). But I agree there are cheaper router in the market. But other higher-end consumer routers also reach the ~300EUR range, so the turris routers are not excessively expensive. Personally, I consider turris' automatic updates worth the price delta...

Sure, but you can add two mPCIe modules, allowing for two modular radios, or two more than typical routers in that price range ;).

I still see this as a pick your own router kind of affair, sure the base module alone will not do much (but hey there are folks using raspberry pis as routers, a bit of VLAN trickery can help).

Only if you look at the MOX as a future proof platform (a view I do not share).

I strongly assume the mox to be a side branch in development that will die off sooner or later, and any potential successor will use its own "bus" design, otherwise legacy will lock the development in.

With bidirectional RRUL and no sqm I saw a aggregate of 1746.11 Mbps, pretty decent. But that was also tested without 802.11 activity. Personally I would probably prefer to run at 500/500 with sqm even if I had a 1000/1000 link, as I consider the configuration without shaper not robust enough for my taste.

Sure, with higher internet access speeds x64 becomes more and more interesting. Personally I consider running the primary router just wired and using dedicated AP(s) a viable solution that avoids the need having to equip a x64 board with radios and antennas...

Except ARM does not by itself provide more "security" than x86, as far as I can tell

1 Like

As far as I can tell (from https://mox-configurator.turris.cz/AGBEEED) you can configure the MOX with 3 X 8 Ethernet switches, sure these will not be all well connected to the main CPU, but it is one of the advantages of a modular design

Sure, and that might not be a bad idea (as it will allow you to optimize each component independently for your use case, it is that use-case that could do with a dual ethernet MOX base unit :wink: ), but there are enough people who seem to desire all in one routers. I guess it is a matter of taste.

Nope, but sometimes one goes out on a limb (and indicates as such).

Thanks for sharing the information (and the code). Great to see you guys making the effort to get support into mainline.

Maybe for paranoid people with concerns about Intel ME engine or proprietary UEFI. Or spectre concerns.

In the end, ARM is slower than x86.

So you not recommend this device, because they not contribute upstream and include BLOBS?

I not wish running closed source software

IMHO team turris is quite decent. They started quite remote from OpenWrt and got closer over time, sure getting stock OpenWrt installed on their hardware is not for the faint of heart (but IMHO one of their best features are the automatic updates, which simply are not a feature stock OpenWrt aims to offer).
I believe they are also trying hard to be good open source citizens, trying to upstream to the Linux mainline kernel and OpenWrt as much as possible and acceptable (not every patch solving a specific problem is considered to be mergeable by either the kernel or OpenWrt, just as not all OpenWrt patches are accepted by the mainline kernel, nothing nefarious here, but normal opensource development in action).
You will need to run firmware blobs with almost all routers (and even if those are potentially not loaded by the kernel, as they might already reside in some ROM on the device itself), so I am not sure that 100% free is a viable option for a wifi router. That said, I agree that striving toward that goal is a good thing.