I'm looking to build a small router using an ARM SBC, with the following features :
Two Ethernet ports
Supported in mainline linux (so I don't have to get custom kernels, and can install any distrib I like)
No wifi required
I think I will not need SQM, with 1Gbps down and 250 Mbps up, which I guess reduce the CPU requirements. (If you suspect I'm wrong, please tell me )
(I plan to handle the rest of the setup with a switch and cat6a cable).
I had my eyes on using a Rasperry Pi Compute 4 with this, but apparently the CM4 is nowhere to be found currently...
While searching through this forum I came accross the Nanopi R5C, but apparently it's not supported upstream, from what I understood, that's correct (if it's indeed upstream that would fit perfectly) ?
Would you have idea for alternatives in that kind of budget (around 100 euros) ?
NanoPi R4S should be more than enough for you, but don't get R4SE (since the eMMC can't boot vanilla OpenWrt), and also don't get the 1GB RAM model (it's different thing which doesn't work for vanilla OpenWrt), only the 4GB one is good.
The standard NanoPi R4S (4GB without eMMC) running OpenWrt is a perfect device for your requirements. It handles Gbps SQM just fine.
You don't need to use an OpenWrt compatible managed switch of course, but I find it convenient to have all my networking gear running the same OS. I've been running an R4S with a Netgear GS308T switch currently flashed with OpenWrt 22.03.4 for some time.
Yes, not running a traffic shaper will save considerable amounts of CPU; whether you need/want SQM or not is something only you can answer and you might want to try with and without.
There are reports of users on symmetric links like 1000/1000 which where happy without SQM, users on asymmetric links like 1000/50 that compromised on SQM on the 50 Mbps uplink and no shaper on the 1000 downlink. Personally, with my old router, I could either operate my link at ~110/30 Mbps or traffic shape it with SQM down to ~40/29 (at which point my router's CPU was maxed out during saturating loads). For my use-cases 40/29 with SQM resulted in a more usable link than 110/30 without, but I am not claiming that everybody would be happy with the same trade-off/throughput-sacrifice.
Looks like an overall consensus on the NanoPi R4S, so I'm gonna go that route
Currently I have a dumb inexpensive switch which I'm gonna use as a starting point. I'll probably upgrade to something with a little more capabilities in the close future, but I'll handle one new device at a time ^^.
EDIT: Weird, the R4S seems to be pricier than the R5C or R5S
The R4S CPU is a good deal faster than the R5C or R5S, and it has an extra 2GB of ram (which granted, you probably will never need for a basic router, but it is there).
For an extra $26 and current OpenWrt support, I would still opt for the R4S and pay the extra for the 4GB and no unique mac address option (+$15), and the excellent case (+$10). Getting the R5C for $49 instead of the R4S for $75 wouldn't be enough for me to choose the R5C.
I was looking on amazon were the price difference is bigger ^. But I think I found one on the second hand market, which will additionally avoid the 20 days shipping
4GB ram on R4S can allow you to run more packages, even with R2S I put old USB 4GB stick on it to run PiHole inside LXC, for R4S I can even connect USB to SATA for transmission at the same time!
I believe it's a fair request. Being able to run either openwrt or ...say debian, is often useful for different use cases. And some openwrt targets are quite heavily patched.
An Rpi is the obvious simple answer.
It might be easier to search the other way around. Look at what embedded systems the other distros support. Openwrt will most likely support all of those.