Introductie
Samengevat
De Seeed Studio reRouter is een veelzijdige router. Door de modulaire opbouw en uitgebreide documentatie kun je met voldoende kennis elk onderdeel naar je eigen hand zetten. De basis bestaat uit een Raspberry Pi Compute Module die je later kunt upgraden naar een nieuwe variant. De Raspberry Pi is uitgebreid met een extra 1Gbit/s-ethernetadapter waardoor het totaal op twee komt. Deze zijn, samen met veel andere aansluitingen, samengebracht op een pcb waarvan uitgebreide documentatie beschikbaar is. Dit maakt het mogelijk om de reRouter op te nemen in een groter project, of juist aan te laten sturen. De opensourcestandaardsoftware, OpenWrt, biedt enorm veel mogelijkheden op routergebied, maar maakt het je niet makkelijk in de configuratie. Sla je je daar doorheen, dan kan je de reRouter veel servertaken laten verrichten. Dat alles komt wel met een pittige prijs en vooralsnog niet zo'n goede beschikbaarheid. Dit heeft alles te maken met de leverbaarheid van de Raspberry Pi Compute Modules.
Ongeveer twintig jaar geleden was internet in de Nederlandse huishoudens nog volop in opmars. Ondanks wat stuiptrekkingen van ‘gratis’ providers, waaronder Zonnet, stierf inbellen met een modem al snel een stille dood. Kabelinternet en ADSL werd steeds meer de standaard. De centrale computer in het huishouden kreeg al vaak gezelschap van een laptop of tweede computer voor de kinderen. Hiermee deden routers hun intreden in het huishouden om het internet te verdelen tussen die computers, want de providers leverden toen enkel een modem, en in sommige gevallen werd vanuit de provider zelfs fronsend gekeken naar thuisnetwerkjes.
Customfirmware
Een van de bekendere routers uit die periode is de Linksys WRT54G. De voornaamste eigenschap van dit apparaat was dat je er customfirmware op kon laden. Hiermee kon je de uitzendkracht van het wifinetwerk, tot voorbij legale grenzen, oprekken. Dit zorgde voor meer ‘streepjes’ ontvangst en iets meer bereik, maar dat was vooral te danken aan het feit dat de 2,4GHz-frequentieband toen een stuk minder druk was dan tegenwoordig.
De eerste customfirmware die in 2005 uitkwam voor de WRT54G was DD-WRT. Die firmware werd door de populariteit al snel uitgebreid met alternatieven als Tomato en OpenWrt. Al deze distributies kennen tot op de dag van vandaag actieve community's.
De populariteit van deze alternatieven is niet alleen te wijten aan het opvoeren van je wifinetwerk, een andere belangrijke reden is dat ze veelal netwerkfuncties en -utilities ontgrendelen die je niet vindt in de standaardsoftware van je router, zoals ondersteuning van vlans, uitgebreidere poorttoewijzingen en bijvoorbeeld meer firewall- en nat-functies
Met een customfirmware heb je wel de mogelijkheid je router op zijn knieën te dwingen, zeker als je aan de slag gaat met intensieve taken als pakketinspectie of de router allerlei servertaken op zich laat nemen. Niet elke router is even stevig uitgevoerd en dat heb je wel nodig om zulke taken vloeiend af te handelen. De afgelopen paar jaar doemt hier een klein probleem op.
De chipsets van de nieuwste generatie consumentenrouters worden nauwelijks ondersteund door customfirmwares, doordat de fabrikanten van deze chipsets de toegang tot de benodigde drivers beperken tot routerproducenten. Wil je wat meer uit zo’n wifirouter halen dan de fabriek je biedt, dan kun je op wat uitzonderingen na alleen maar bij ASUS terecht. Voor een selectie modellen heeft de Canadese ontwikkelaar Eric Sauvageau de Merlin-firmwarevariant ontwikkeld op basis van de originele ASUS-software.
Het kan zijn dat ASUS je smaak niet is, of dat je sowieso ver weg wilt blijven van closed source of commercieel ontwikkelde firmwares. Het geijkte alternatief is dan om je wifi over te laten aan losse (mesh)accesspoints en daarnaast firewallsoftware zoals OPNsense of pfSense te draaien op een thuisserver of een speciaal hiervoor gebouwd microsysteem: vaak een singleboardcomputer met twee of meer netwerkaansluitingen.
Een voorbeeld van zo'n microsysteem is de Seeed Studio reRouter. Dit apparaatje heeft twee bijzondere eigenschappen. De basis wordt gevormd door een Raspberry Pi Compute Module en is daardoor te upgraden in de toekomst. Daarnaast ondersteunt dit apparaatje OpenWrt dat met 16 jaar ontwikkeling onder de motorkap een serieus routerplaform is geworden en kant-en-klaar geïnstalleerd wordt meegeleverd.
Is OpenWrt zo toegankelijk geworden dat iedereen ermee aan de slag kan en welke voordelen bieden dit soort alternatieve routerplatforms?
:strip_exif()/i/2005815644.jpeg?f=imagenormal)
Seeed Studio reThings
Sommige lezers zullen de naam Seeed Studio misschien al herkennen. Het Chinese bedrijf is al langer op de markt met open hardware, apparatuur die wordt geleverd met een uitgebreide beschrijving van de opbouw en schema’s. Een bekende productlijn is het Grove-ecosysteem. Dit zijn sensormodules en microcontrollermodules die onderling eenvoudig aan en met elkaar te koppelen zijn zonder soldeerbout, doordat de lay-out en connectors dezelfde standaard aanhouden.
De naam van het apparaat waar we vandaag naar kijken, is niet helemaal duidelijk. In webshops en op de doos wordt de naam 'Mini Router' gebruikt, maar op de eigen website wordt het apparaat ook aangeduid als reRouter. Die naam geeft aan dat het apparaat uit de reThings-productlijn komt. Andere producten in deze lijn zijn onder andere de reSpeaker, reServer, reTerminal en reComputer; allemaal veelzijdige apparaten die ontworpen zijn met de openhardwarefilosofie, zodat je er als tweaker verder mee kunt bouwen.
De reSpeaker is een serie componenten waarmee je een spraakassistent kunt bouwen door een microfoonarray, een speaker en een Raspberry Pi te combineren. De reTerminal is een touchscreen waar een Raspberry Pi op ‘geplakt’ is waarmee een minicomputertje ontstaat. De reServer is een singleboardcomputer met enorm veel connectiviteitsopties zoals LoRa, 5G, wifi en bluetooth.
De hardware van de reRouter biedt heel wat knutselmogelijkheden door de open opzet, maar daar heb je natuurlijk niets aan zonder software die je naar je eigen hand kunt zetten. De reRouter is standaard uitgevoerd met OpenWrt, maar op de website zijn instructies te vinden om Raspberry Pi OS te installeren en zo te configureren dat je de externe hardware zoals de USB-netwerkcontroller en statusleds kunt aanspreken.
Hierbovenop zou je bijvoorbeeld een smarthomeplatform kunnen installeren en de reRouter op de scheidslijn van je iot- en gewone thuisnetwerk kunnen plaatsen, om zo je smarthomeapparatuur netjes gescheiden te houden. De twee netwerkpoorten zijn hier ideaal voor.
De hardware
De Seeed Studio reRouter komt verpakt in een kartonnen doosje, dat dichtgeplakt zit met het productlabel. De bijgeleverde adapter met een vermogen van 20W is uitgerust met een USB-C-voedingsconnector en is dus in de toekomst eventueel makkelijk te vervangen door een ander exemplaar. De adapter functioneert zowel op 110 als 240V en heeft verschillende meegeleverde opzetstukjes, zodat je hem in elke lokale variant wandcontactdoos kwijt kunt.
Aan de voorzijde bevinden zich achter de behuizing drie leds: een blauwe om aan te geven dat de router aan staat, een witte om aan te geven wat de status is van de router en een groene die aangeeft of er aanspraak wordt gemaakt op de opslagruimte.
Aan de achterzijde (of is dit de voorzijde?) van de behuizing vinden we aardig wat aansluitingen voor iets dat zich ook wel een minirouter noemt. Uiteraard heeft de router twee 1Gbit/s-aansluitingen, maar daarnaast ook twee USB 3.0-aansluitingen, een micro-HDMI-aansluiting, een sleuf voor microSD-geheugenkaartjes en een USB 2.0-aansluiting met USB-C-formfactor voor de stroomvoorziening en firmwareupdates.
Bij het aansluiten valt meteen de eerste misser op: er ontbreekt een opschrift bij de ethernetpoorten voor de functie. Mijn gok dat de rechterpoort standaard is ingesteld als lanaansluiting, bleek de juiste, maar het was handiger geweest als dit in een oogopslag duidelijk was. De beide zijkanten van de behuizing hebben een gaatje, afgesloten met een rubberen dopje. De maatvoering doet denken dat hier eventueel in de toekomst een sma-antenneconnector geplaatst kan worden om een draadloze variant van dit apparaatje uit te brengen.
Binnenzijde
Aan de binnenzijde van de reRouter zit een pcb-sandwich van drie lagen. De onderste is niet voorzien van contactpunten, maar fungeert als basisplaat voor de bovenliggende lagen en heeft ronde uitsparingen
om grip te bieden als je de reRouter uit zijn behuizing wilt nemen. De tweede verdieping is de pcb waarop de hardware van de router gemonteerd is. Op deze print bevinden zich de RJ45-netwerkaansluitingen en overige connectors, en is de Raspberry Pi Compute Module 4 gemonteerd die het hart vormt van de router. Deze beschikt over een BCM2711-chipset die een Arm-processor bevat met vier kernen op een kloksnelheid van 1,5GHz. De module komt met 4GB werkgeheugen en 32GB flashopslag. De computemodule beschikt over een Broadcom BCM54210PE-ethernetcontroller die aan de linker ethernetpoort is aangesloten.
Break-outboard
Onder de computemodule zijn twee controllerchips verstopt die de andere netwerkaansluiting verzorgen. Dit zijn de Microchip Technology LAN7800, een USB 3-netwerkcontroller met een snelheid van 1Gbit/s. Die is op zijn beurt weer verbonden met de VIA Labs VLI805-Q6, een PCI-naar-USB-controller.
:fill(white):strip_exif()/i/2005815774.jpeg?f=imagemedium)
Voor de knutselaars zijn er ook connectors en headers beschikbaar voor USB 3.0, een ventilator, een i/o-connector voor I²C en SPI. Verder zijn de MIPI DSI- en CSI-connectors ook aangesloten en voorzien van een connector. Hiermee kan video in- en uitgevoerd worden vanaf de computemodule. Uiteraard ontbreken de uart-aansluitingen niet en vinden we ook nog een paar pinnen om de opstartmodus aan te passen voor bijvoorbeeld firmwareupgrades of andere recoveryprocedures. Als laatst vinden we een resetknop die, vreemd genoeg, enkel bereikbaar is als de router niet in de behuizing zit.
De bovenzijde van de behuizing is uitgevoerd in aluminium. Aan de binnenzijde maakt deze contact met de processor op de Raspberry Pi en dient zo een dubbelrol als koellichaam. Openingen aan de zijkant van de behuizing zorgen voor verdere verkoeling van het geheel.
Uitbreidbaarheid
Met al die extra aansluitingen op het break-outboard biedt de reRouter aardig wat mogelijkheden om dingen boven op deze router te knutselen. Je kunt de router uitbreiden met extra hardware, zoals een camera, externe opslag of display, of het een onderdeel maken van een groter geheel, zoals een robot. Om je daarbij van dienst te zijn, levert Seeed Studio alle schema’s en pin-outs. Ik heb het al eerder genoemd, maar ook de Raspberry Pi kun je in de toekomst natuurlijk vervangen om de router up-to-date te houden.
:strip_exif()/i/2005815776.jpeg?f=imagenormal)
De software, installatie en updaten
Omdat dit een vrij modulair geheel is, heb je meerdere keuzes voor de software. Omdat de basis een Raspberry Pi-computemodule is, kun je kiezen om Raspberry Pi OS te installeren op de router. De extra hardware zal dan nog niet direct functioneren, zoals de USB- en ethernetaansluitingen, maar met wat
extra configureren, is dat werkend te krijgen. In principe heb je dan een minicomputer met dubbele gigabitethernetaansluiting, maar dat is uiteraard nog geen router, die functionaliteit zul je verder helemaal zelf moeten bouwen. Als je de reRouter onderdeel maakt van een robot, elektrische fiets of doe-het-zelfkettingzaag is dat fijn, maar de kans bestaat dat je liever iets meer kant-en-klare software wilt gebruiken. OpenWrt is dan een prima keuze; de reRouter wordt dan ook standaard met deze software geleverd.
Firmware-update
De reRouter die wij bekeken, is een tijdje onderweg geweest en we willen de router met de nieuwste firmware bekijken. De reRouter van een update voorzien, bleek wat meer moeite te kosten dan we gewend zijn van ‘normale’ routers.
De nieuwe versie van de firmware is te vinden via de website van Seeed Studio. Deze wordt gehost op het OneDrive-platform van Microsoft, maar gelukkig heb je geen account nodig om de bestanden te benaderen. De firmware is verkrijgbaar in twee smaken: minimal en entertainment. We hebben gekozen voor de laatste variant. Het verschil wordt nergens duidelijk vermeld, maar dat zit voornamelijk in het aantal vooraf geïnstalleerde pakketten en wat meer eyecandy in de interface in de vorm van icoontjes en
een mooier vormgegeven aanmeldvenster.
Ons exemplaar werd geleverd met OpenWrt 21, wat een versie achter de huidige OpenWrt 22 ligt. Dit is vermoedelijk de reden dat een update via de webinterface strandde met een onduidelijke foutmelding. Gelukkig is er een alternatieve methode om de router van nieuwe firmware te voorzien, maar daarvoor moet de reRouter uit de behuizing worden gehaald om de bootmodus te wijzigen. Dit doe je door twee pinnen door te verbinden met een jumper, die niet wordt meegeleverd. De router moet vervolgens op een computer worden aangesloten met de Raspberry Pi-USB-boottool, die de reRouter in upgrademodus start. Vervolgens kan met een flashtool zoals Balena Etcher een nieuwe imagefile worden weggeschreven naar het flashgeheugen van de computemodule.
Nadat de upgrade voltooid is, heb ik getest of de laatste nightly versie van OpenWrt 21 via de webinterface kon worden geüpdatet en geheel vanuit de webinterface kon worden voltooid. Daarbij bleven de instellingen van de router behouden. Een normale update kost niet zoveel moeite, maar je moet er dus rekening mee houden dat je de reRouter na een grotere softwareupdate opnieuw moet instellen, omdat de instellingen niet altijd klakkeloos overgenomen kunnen worden van de ene naar de andere softwareversie.
Nadat alles geïnstalleerd is en we inloggen, worden we begroet met een hoofdmenu waar een tweakershart sneller van gaat kloppen. Het is duidelijk dat deze firmware niet voor beginners is gebouwd, maar het aan de eigenaar overlaat om naar hartenlust te kunnen verdwalen in het woud van mogelijkheden.
De werking
OpenWrt beheer je grotendeels via de webinterface, maar consoletoegang via ssh of ttyd is ook een optie en standaard geactiveerd op het lannetwerksegment. Het openingsscherm geeft wat globale informatie over de status van de soft- en hardware, zoals het processor en geheugenverbruik, het aantal actieve verbindingen en clients, de bandbreedtedoorvoer op de netwerkaansluitingen. OpenWrt komt prettig en
opgeruimd over. Er is duidelijk nagedacht over de indeling, want je wordt niet direct gebombardeerd met alle mogelijkheden die de omgeving biedt. Die geavanceerde opties komen pas boven als je wat ‘dieper doorklikt’ in functies waardoor het overzicht goed behouden blijft. Het uiterlijk van de webinterface is aan te passen voor een lichter of minimaler thema als je dat fijner vindt.
Je zult voldoende kennis moeten hebben op netwerkgebied of bereid moeten zijn om te googelen en bij te leren, want met onbeperkte mogelijkheden komt verantwoordelijkheid kijken. OpenWrt doet alles wat je wilt, maar dat kan ook zomaar iets zijn wat je misschien niet bedoelt en niet hoort te doen. Het is fijn dat er meerdere opties veranderd en opgeslagen kunnen worden, voordat je die ook daadwerkelijk doorvoert met de save-and-applyknop. Zo hoef je niet voor elke instelling te wachten tot deze is doorgevoerd voordat je door kunt gaan met instellen, wat zeker bij de eerste grote configuratieslag lekker soepel werkt.
Als je kiest voor de ‘entertainment’-versie van OpenWrt zoals ik heb gedaan, krijg je een uitgebreide set gereedschap meegeleverd om de reRouter direct te kunnen inzetten voor allerlei taken. Zo zijn er al diverse servers startklaar zoals NFS en SMB, met Windows-bestandsdeling inclusief clientsupport, mediastreaming met behulp van DLNA en AirPlay, een downloadutility die HTTP(S), (S)FTP en torrents voor zijn rekening kan nemen en een v2ray-server, een netwerktechniek die ‘gefilterde’ internetverbindingen kan omzeilen. De opsomming gaat nog wel even door met onder meer een USB-printerserver, ondersteuning voor rsync en, vreemd genoeg, een PlayStation 3-ISO-server.
Een kalere versie van OpenWrt is ook beschikbaar, die bevat enkel basisfunctionaliteit die je mag verwachten van een router die je in dat geval zelf kunt uitbreiden door het installeren van pakketten. De installatie van die pakketten verloopt voor simpele pakketten grotendeels automatisch en met een druk op de knop. Voor de wat uitgebreidere pakketten zijn nog wel eens wat handmatige stappen nodig. Zo kon de adblocker die ik wilde installeren, AdGuard, niet direct gebruikmaken van de DNS-poort, omdat daar de standaard DNS-tool die OpenWrt aanbiedt, nog actief was. In zo’n geval moet je zo’n conflict zelf herkennen en oplossen.
In dit geval kon dit allemaal via de webinterface, maar er zijn genoeg pakketten die je enkel kunt instellen door de config-files te wijzigen vanuit de terminal. Hier liep ik tegenaan bij het installeren van het pakket Snort. Snort is een van de pakketten die deze router interessanter maakt dan de consumentenrouters die we normaal bekijken. Het is een opensource-ids, ofwel een intrusion detection system, en ips, ofwel een intrusion prevention system, dat je vanuit de pakketmanager installeert, maar geheel via de terminal moet configureren. Hier liepen we continu tegen configuratie-errors aan die gegarandeerd op te lossen zouden zijn met wat meer tijd en inspanning dan voor deze review aanwezig was, maar geeft nogmaals goed weer dat je van OpenWrt niet moet verwachten dat alles met een druk op de knop geregeld is.
De terminaltoegang is standaard bereikbaar vanaf alle interfaces, zelfs vanaf wan. Dat laatste is een goede aanleiding om het te hebben over netwerkbeveiliging. Standaard biedt OpenWrt zijn managementopties zowel aan de lan- als wanzijde. Dat betekent dat iedereen op internet ‘aan de poort kan rammelen’, zowel bij de webinterface als de SSH-toegang. In het geval van die laatste, kun je dit beperken via de OpenWrt-instellingen, maar de webserver zul je via een teksteditor in de terminal moeten beperken door de binding van uHTTPd aan te passen in de betreffende config-file in /etc/config/uhttpd, zodat deze niet meer aan de wanzijde luistert.
Standaard is OpenWrt dus niet tot het uiterste beveiligd; dat zul je zelf moeten doen. Een groot deel van de Tweakers-community zal daar niet zo van terugschrikken en gelukkig is de documentatie en community rondom OpenWrt uitgebreid; nagenoeg elke probleemsituatie is al een keer besproken en terug te vinden op internet.
Meetresultaten
Nog wat specificaties die ik heb kunnen testen: de doorvoer tussen de wan- en lanzijde is 1Gbit/s; beide poorten halen dus (gelijktijdig) hun volledige doorvoer. Een stevige firewall als het eerdergenoemde Snort
kan hier een bottleneck vormen, maar dat ligt in dat geval meer aan de kracht van de Raspberry Pi, die je kunt upgraden. Ook de USB-doorvoer is snel genoeg; met pieken van 117MB/s bij SMB-bestandsoverdracht zien we dat de 1Gbit/s-interface de limiet vormt.
De reRouter verbruikt niet veel energie; de teller blijft in rust hangen op 3,8W. Bij stevig gebruik loopt dit op naar zo'n 5W. Op jaarbasis kost de router je met het tarief van het prijsplafond, 40 eurocent per kWh, iets meer dan 13 euro. Dit is aan de lage kant voor een router, maar je moet je bedenken dat ten opzichte van de routers die we normaal bekijken, deze geen wireless chipset en radio's heeft, wat natuurlijk iets scheelt in het verbruik.
Conclusie
De Seeed Studio reRouter / Mini Router is zeker niet de goedkoopste router, maar hij is erg interessant als je op zoek bent naar een pure opensourcerouter. Niet alleen de software is dat in dit geval, maar de hardware ook. Dat maakt de reRouter een kameleon die je in allerlei projecten kunt toepassen, waarbij de functie niet enkel beperkt hoeft te zijn tot netwerkverkeer routen. Je kunt het apparaat allerlei serverfuncties laten vervullen, maar ook hardware laten bedienen die je normaal gesproken niet op een router zou aansluiten.
Een groot voordeel van dit soort routers is dat ze nooit ongevraagd verbinding maken met een cloudservice van de fabrikant en mogelijk privacygevoelige informatie doorspelen, iets wat we steeds vaker zien bij consumentenrouters. Naast dat voordeel is de router nagenoeg onbeperkt uit te voeren met gratis extra softwarefuncties waarvoor fabrikanten al snel een abonnement vereisen, en in sommige gevallen weer data vergaren.
Voor de privacyminnende en knutselende tweakers zou je zeggen dat deze router dus een no-brainer is als je de prijs even wegdenkt. De veelzijdigheid komt echter met een keerzijde, want het maakt het apparaat wat ingewikkelder dan een ‘normale’ router. Zeker als je buiten de gebaande paden treedt, ben je aan jouw kennis en doorzettingsvermogen overgeleverd, want je zult beslagen ten ijs moeten komen om dit apparaat naar je eigen hand te zetten. De basisfuncties zijn vrij makkelijk te configureren, maar je moet daarbij goed opletten dat je de configuratie veilig houdt; een foutje is makkelijk gemaakt en OpenWrt accepteert zonder waarschuwing onveilige configuraties waarbij services extern bereikbaar kunnen zijn waarvan je dat absoluut niet wilt.
Heb je de kennis, of in elk geval het doorzettingsvermogen om met deze router aan de slag te gaan, dan gooit enkel de prijs nog wat roet in het eten, want met 190 euro is dit geen goedkope router. Dat zal ongetwijfeld ook liggen aan de Raspberry Pi Compute Module die de basis vormt van deze hardware, die zijn al tijden lang slechts mondjesmaat beschikbaar en zorgt er ook voor dat de reRouter niet overal op voorraad is. Het voordeel van die module is dat de reRouter hiermee waarschijnlijk een langer leven beschoren is dan de gemiddelde router, omdat je het hart van de router later kunt upgraden voor een krachtiger exemplaar.