Let’s start this with a little background. I work at CZ.NIC on Turris project. So I’m definitely biased. But this post is my own, written in my free time and express just my own opinions and it explicitly doesn’t represent opinions of the company I work for unless by chance.
So now you know the background, so let’s take a look at what Turris MOX actually is. It is marketed as modular open source router. Well Turris project is about secure routers, so it makes sense. But what I like about it is that it is actually quite nice and modular single board computer. If you are wondering what single board computers are, check Wikipedia or think Raspberry Pi which is the most well known example and probably one of the worst options you have.
If you heard just about Raspberry Pi, you heard about nothing interesting. What is wrong with Raspberry? Well it is not that bad, but it has a weird concept as it is mainly GPU and CPU is kinda afterthought and although it has USB ports and network card, it is in fact just USB HUB and USB attached network card connected to one USB port. And it is notoriously known for instabilities. Are there any better alternatives? Yes, definitely, plenty of those. I personally like Pine64, there is also Orange Pi, ODroid and plenty of others. They have various peripherals, various pricing, so you can pick up whatever HW fits your needs the best. One of those options might be Turris MOX nowadays.
One disadvantage those boards usually have in common is varying software support. Old Allwinners are mostly fine nowadays (and are going to get even better with Free electrons working on video decoder), the newer you get, the more troubles you face. Those devices mostly come with old heavily patched Android kernel. If it is popular board, it has few distribution images created by community ready. And if it is popular SoC, over the time some parts will get support in mainline kernel. So read a lot before you buy, otherwise you might get have to choose between being stuck with old kernel and having half of the hardware not working. Also with those half-baked old kernels, you have to pick the right set of features, otherwise it will blow up.
Turris MOX selling points
I already have Turris Omnia as my main router, so I would disregard the main selling point – using it as a router. That is what people seems to want the most according to the sold units on Indiegogo. People probably know what to expect there, so no point in talking about that.
What if you don’t need a router? There are cool selling points from both HW and SW point of view. HW wise the base module already has gigabit network and one USB3. So just the Start module is a perfect match for doing some home server. ARMv8 also has some crypto acceleration inside, so MOX can do quite well in terms of AES which means that encryption wouldn’t slow down your rotating disks if you want NAS. Modularity is nice, from home server point of view, probably the most interesting extension is more powered USB 3.0. This way you can easilly add a bunchbof additional drives. Yes, you could do it with USB hub, but then there is plenty of cables around, additional powersource etc. Also cheap hubs are often crap that cretes errors on the bus and dies quickly. Apart from that, PCIe might come in handy for various other devices – well mostly what I think of is SATA controller. But some IoT stuff has cards for either USB or mPCIe.
So HW is interesting, what about software? It comes with our own OpenWRT fork with nice webui which is great if your grandma wants to use it as a router. But I wouldn’t be running it on my MOX. My MOX will be pure home server, so I will be running my favorite distribution (openSUSE) on it. So why should I care about SW it comes with? It comes with latest OpenWRT with 4.14 LTS kernel, 2018.3 u-Boot (if not newer) and it will be fully supported there as the software is part of the deal. Even if I’m not going to use it, there will be source of up to date kernels and u-Boots. For Turris 1.X we migrated from 3.10 to 3.18 to 4.4 and 4.14 is work in progress. That kinda proves that there will be newer kernels provided by CZ.NIC. Which itself is nice. What is even better is that there is a work in progress to upstream all bits and pieces. It’s not there yet with Omnia, but I know that the main obstacles are few unusual bits of HW where kernel abstraction is not ready yet. In MOX case, there is no such thing, those were all avoided so there should be nothing stopping my colleagues from upstreaming everything and actually it is already being done. Therefor it shouldn’t give you any headaches to get it running.
People often complained that it had just 512M RAM. Yep, it was a limitation, but nowadays you can get one gig upgrade. People are still asking for more – 4G or 8G or … Something like that is IMHO nonsense. I have VPS that is running Nextcloud, DNS server, mail server and few other little things and 1G RAM is fine for it. People need to realize, that they are not going to run Xorg on it and they are not going to browse the modern web on their MOX. So there is no need for such huge RAM. For NAS it is still perfect with just 512M unless you decide to run Nextcloud on it. Then you would have to tune it down a little to fit or preferably buy an RAM upgrade.
It also doesn’t have a GPU – surprise surprise, it’s a router! And at least it doesn’t eat your precious RAM. It could be better with SATA, more USB 3.0 ports etc. directly on CPU board. But it would make the basic price higher, not everybody needs it and you can put that into mPCIe so it’s still an option when you decide to enhance it. One can also always complain about the price, but in general, that is the tradeof you have to make – is modularity, extensibility and support worth those few extra bucks compared to all-built-in solution that best matches your needs? For me it is at least in some use-cases.
I believe that the device makes sense, is open and well supported. Support is something that you don’t see when browsing hardware stores. Yep, you can get this nice Chinese tablet for 99.99 and it comes with Android! But with Android 4.0, company is GPL violator and you will never get anything newer than 3.10 kernel on it unless you spend huge amount of work on it. I think MOX is on the other side of the spectrum. It’s not dirty cheap (but also not that expensive) but the support and things you can do with it is going to be much better. So if you like it, support it on Idiegogo before it is too late.