OpenWrt One – routeur open hardware
(openwrt.org)- OpenWrt One est un routeur open hardware conçu pour l’écosystème OpenWrt, équipé d’un SoC MediaTek Filogic 820, du Wi‑Fi 6 et d’un WAN 2,5 Gbit, pensé à la fois comme routeur de production et comme matériel de développement et de récupération
- L’état de sortie d’usine inclut le firmware de version OpenWrt et l’interface LuCI, avec un démarrage sur NAND permettant un accès immédiat à l’interface web ou en SSH sur
192.168.1.1 - La mise à niveau du firmware se divise entre USB, récupération NAND et récupération complète NOR, et le chemin de récupération varie selon la combinaison d’interrupteurs de démarrage et de boutons
- Même si la NAND est endommagée, il est possible de reflasher via le mode de récupération NOR ; la récupération de la NOR elle-même nécessite un démarrage UART, un serveur TFTP et une intervention sur le cavalier
NOR WP - Avec une console série USB-C intégrée et une NOR de récupération, l’appareil conserve une possibilité de restauration même si le bootloader ou la NAND sont endommagés pendant des expérimentations sur le firmware
Configuration matérielle et firmware d’usine
- OpenWrt One est un appareil basé sur le SoC MediaTek Filogic 820
- Les principales caractéristiques matérielles sont les suivantes
- Wi‑Fi 6
- double bande
- configuration radio 3×3/2×2
- 1× WAN 2,5 Gbit
- 1× LAN 1 Gbit
- 1 Go de RAM DDR4
- 256 MiB de NAND
- 16 MiB de NOR de récupération
- SSD M.2
- console série USB-C
- USB 2.0
- Le Power Over Ethernet fonctionne via une alimentation fournie par un équipement compatible IEEE 802.3af/at à travers le connecteur WAN RJ-45 2,5 Gbit/s
- Chaque appareil est expédié avec la version la plus récente du firmware OpenWrt disponible à la date du lot de fabrication déjà flashée
- L’interface LuCI est installée et prête à l’emploi avec les paramètres standards par défaut
Premier démarrage et accès de base
- Avant la mise sous tension, l’interrupteur NAND/NOR doit être positionné sur NAND
- Connecter un câble Ethernet au port 1G de l’appareil et utiliser
192.168.1.1 - Une fois l’appareil allumé, le démarrage est terminé lorsque la LED verte reste allumée en continu
- Dans le navigateur, l’interface LuCI est accessible sur
192.168.1.1, et dans un terminal on peut utiliserssh root@192.168.1.1 - En configuration d’usine, si l’on met à niveau vers la branche SNAPSHOT, l’interface LuCI n’est pas installée par défaut
- Pour la configuration initiale, il suffit de suivre le Quick Start Guide
Mise à niveau du firmware via USB
- La mise à niveau USB consiste à préparer sur une clé USB formatée en FAT32 le fichier
openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb- Le fichier portant son nom complet de version depuis les dépôts SNAPSHOT ou Release doit être renommé avec ce nom
- La procédure suit cet ordre : couper l’alimentation, insérer la clé USB dans le port USB-A, sélectionner le NAND boot switch, maintenir le bouton Reset arrière, remettre sous tension, relâcher le bouton lorsque toutes les LED s’éteignent, puis attendre que la LED centrale devienne verte
- L’appareil démarre depuis la NAND, puis le bootloader reflash le noyau et le système de fichiers racine sur la NAND
- Des problèmes de compatibilité ont été observés avec certaines clés USB ; on peut essayer un formatage FAT32 et une table de partition MBR
- Si U-Boot affiche l’erreur
Bad device specification usb 0, augmenter la valeur deusb_pgood_delaypeut aider - Les premiers OpenWrt One livrés avec un SNAPSHOT antérieur à la version 24.10.0 présentaient un problème où la LED verte ne s’allumait pas à la fin d’un sysupgrade USB
- Dans ce cas, la mise à niveau réussit malgré tout
- Ce comportement anormal est lié à l’issue Green LED doesn't turn on at end of OpenWrt One USB-based sysupgrade et a ensuite été corrigé par ce commit
Mode de récupération NAND et images d’installation
- La mise à niveau en initramfs NAND Recovery Mode ressemble à la mise à niveau du firmware via USB, mais nécessite d’appuyer sur le bouton avant au lieu du bouton Reset arrière, sans préparation de clé USB
- La procédure suit cet ordre : couper l’alimentation, sélectionner NAND boot, maintenir le bouton avant, remettre sous tension, relâcher le bouton lorsque toutes les LED avant s’éteignent, puis attendre que la LED centrale devienne verte
- L’appareil démarre alors sur l’image de récupération
initramfs, après quoi d’autres options de mise à niveau peuvent être utilisées - Des images
factory.ubi,sysupgradeetkernelbrut sont fournies pour l’installation - Pour le flash à des fins de récupération, les images FIP uboot
bl31-uboot.fip,factory.binetpreloader.binsont également proposées pour la NAND ainsi que pour la NOR de récupération réduite
Reflash de la NAND via récupération complète NOR
- Si l’appareil ne démarre plus depuis la NAND, il est possible de démarrer en mode NOR/full recovery pour réparer la NAND
- Cette méthode peut aussi être utilisée si TF-A ou le bootloader de la NAND est endommagé
- Après avoir préparé sur une clé USB FAT32 le preloader NAND et l’image factory, couper l’alimentation, insérer la clé USB, sélectionner NOR boot, maintenir le bouton avant, remettre sous tension, relâcher le bouton lorsque toutes les LED avant s’éteignent, puis attendre que la LED devienne verte
- Le système de récupération NOR reflashe alors l’intégralité de la mémoire NAND pour la remettre à l’état d’usine
- Les fichiers nécessaires peuvent être téléchargés depuis SNAPSHOT ou les Current Stable Release Download Pages
Récupération de la mémoire NOR elle-même
- La mémoire de récupération NOR peut elle aussi être reflashée, en deux étapes
- UART boot : utiliser
mtk_uartbootpour copier en RAM, via une connexion UART/console série, une image d’initialisation DDR4 et une image de bootloader NOR, puis démarrer depuis la RAM - NOR flash : utiliser la fonction de récupération du menu de démarrage pour reflasher la NOR à partir d’une image servie par un serveur TFTP
- UART boot : utiliser
- Pour la deuxième étape, le cavalier SPI NOR WP doit être dans sa position d’usine par défaut, et le serveur TFTP doit être connecté au port LAN de l’OpenWrt One pour fournir la nouvelle image
- Le binaire
mtk_uartbootpeut être obtenu depuis les assets de mtk_uartboot Releases en téléchargeant puis décompressant l’archive adaptée au système d’exploitation - Sous macOS, il peut être nécessaire de supprimer l’attribut de quarantaine avec
xattr -d com.apple.quarantine mtk_uartboot - Le fichier d’initialisation DDR4 et l’image NOR BL31/uboot se téléchargent depuis SNAPSHOT ou le sous-répertoire
<release-version>/targets/mediatek/filogicdes Current Stable Release Download Pages - Lors de la préparation TFTP, l’interface Ethernet de l’ordinateur doit utiliser la configuration manuelle suivante
- IP :
192.168.11.23 - Masque :
255.255.255.0 - Passerelle :
192.168.11.11
- IP :
- Le serveur TFTP doit écouter sur
192.168.11.23, et l’OpenWrt One utilise l’adresse IP192.168.11.11 - Les noms des fichiers téléchargés incluent la version de release ; ils doivent donc être renommés avec le nom sans version demandé par le routeur
- Exemple :
openwrt-25.12.2-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip→openwrt-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip
- Exemple :
Procédure de démarrage UART et flash TFTP
- La commande
mtk_uartbootpermet de copier les fichiers de démarrage lorsque l’appareil est connecté en USB-C, puis d’ouvrir ensuite la connexion console série avec GNU Screen - Lors de l’exécution de la commande, il faut remplacer le chemin des fichiers téléchargés et le chemin du périphérique série de l’hôte par les valeurs réelles
- Sur un hôte Linux, s’il faut des droits d’accès aux périphériques série comme
/dev/ttyS*ou/dev/ttyUSB*, il faut ajouter l’utilisateur aux groupesdialoutetuucp, puis se reconnecter - Quand
mtk_uartbootafficheHandshake..., allumer ensuite le routeur déclenche l’upload de BL2 et du FIP avec les logshw code: 0x7981 - Si l’upload réussit, GNU Screen démarre et le menu de démarrage s’affiche
- Avant de mettre à jour la NOR, il faut ouvrir l’appareil et placer un cavalier sur
NOR WP - Régler l’interrupteur arrière de l’appareil sur la position
NORpuis l’allumer tout en restant connecté au port série UART - Quand le menu de démarrage apparaît, interrompre le processus avec la flèche bas et sélectionner
3. Unlock NOR. (Make sure the NOR/WP jumper is populated) - Sélectionner ensuite l’entrée du menu de démarrage qui demande les fichiers nécessaires via TFTP pour les flasher
- Après le flash, sélectionner de nouveau dans le menu de démarrage
7. Lock NOR. (Remove jumper afterwards) - Un flash NOR réussi est plus lent qu’un cas où aucun flash réel ne se produit
- Une fois le firmware reflashé, on peut redémarrer le routeur et retirer le cavalier
Console série et dimensions physiques
- L’OpenWrt One dispose d’un port de console série USB-C intégré à côté du port hôte USB-A sur la face avant
- Ce port utilise un convertisseur USB-vers-série intégré et apparaît généralement sur un PC comme un port COM virtuel sans pilote supplémentaire
- L’accès console ou série est nécessaire pour la maintenance de l’environnement firmware, la récupération et la vérification des restaurations
- Les dimensions de l’appareil sont de 148 x 100,5 mm
- Il est compatible avec la conception du boîtier Banana Pi BPI-R4
1 commentaires
Avis de Hacker News
OpenWRT Two est actuellement en développement, et ce modèle devrait prendre en charge le Wi‑Fi 7
OpenWRT fonctionne sur beaucoup de matériel, et c’est un bon moyen de prolonger la durée de vie des routeurs après l’arrêt des correctifs constructeur, tout en étendant fortement leurs fonctionnalités
Désormais, je ne compte plus acheter de routeur grand public qui ne prend pas en charge OpenWRT
Par ailleurs, ce routeur de GL.iNet est livré avec OpenWRT préinstallé et prend en charge le Wi‑Fi 7 ainsi que 5 ports 2,5G : http://www.gl-inet.com/en-gb/products/gl-be9300
Ce serait vraiment bien de voir sortir un produit avec seulement 10 emplacements SFP, tous en interfaces routées, sans commutation
Cela pourrait devenir une vraie alternative open source à MikroTik
Mais maintenant que je sais ce qu’il permet, je n’ai plus l’intention d’acheter un routeur qui ne soit pas destiné à OpenWRT
Par exemple, mon FAI propose deux options de connexion PPPoE : l’une est ancienne, uniquement IPv4 et sans IPv6, l’autre a l’IPv4 derrière du CGNAT mais une IPv6 moderne
Avec OpenWRT, j’ai pu créer deux connexions PPPoE sur la même ligne, ce qui m’a permis de profiter des avantages des deux
C’est un peu hors sujet, mais ce qui est amusant avec le nom Wrt, c’est qu’il vient à l’origine d’un firmware alternatif pour le routeur Linksys WRT54G, il y a 25 ans
Pour une raison ou une autre, le nom est resté, sans doute parce que la plupart des gens qui l’utilisent sont des geeks et savent ce que c’est
Linksys a été poursuivi en justice pour l’obliger à publier le firmware lié par la GPL, et ce dump a été modifié pour rendre le WRT54G bien plus puissant que ce que Linksys avait prévu
Au final, Linksys a aussi pu vendre le matériel beaucoup plus longtemps que prévu à l’époque
C’est une drôle de coïncidence de voir ça arriver en première page
Je viens tout juste de recevoir un OpenWrt One, parce que je ne fais pas vraiment confiance à la qualité de la plupart des routeurs
Je n’ai pas envie de ressusciter le vieux PC que j’utilisais autrefois comme routeur. Je l’ai fait pendant un moment, mais il était trop bruyant, et le ventilateur de l’alimentation semble sur le point de rendre l’âme
Cela dit, la combinaison d’une carte Wi‑Fi PCI Qualcomm avec de grandes antennes, d’un PC très bon marché, d’un vieil Ubuntu et d’une configuration hostapd simple a été jusqu’ici le routeur Wi‑Fi le plus stable que j’aie jamais utilisé
J’espère que l’OpenWrt One fera mieux :-)
Au cours des 5 dernières années, je n’ai presque rien eu à toucher en dehors d’ajustements de VLAN et de la configuration d’un tunnel 6in4, et les performances ont été vraiment stables
Mon réseau domestique compte plusieurs centaines d’appareils, et il est probablement plus grand, plus varié et plus complexe que celui de la plupart des foyers, mais je ne me connecte à l’interface d’OPNSense qu’environ deux fois par an, en général juste par curiosité
La courbe d’apprentissage est un peu plus raide que pour un produit grand public, mais ce n’est absolument pas hors de portée pour quelqu’un qui peut utiliser OpenWRT
La documentation et l’aide sur les forums étaient aussi meilleures que celles de 99,9 % des projets open source que j’ai vus ces 25 dernières années
J’utilise encore le Juniper comme switch. Les vieux Juniper SRX ne sont pas terribles pour l’uPNP, mais si je voulais le remettre en routeur, il resterait excellent pour tout le reste
Le MikroTik de milieu de gamme a pris une surtension et a perdu la moitié de ses ports, mais il a routé tout ce qu’il fallait jusqu’à ce que je puisse trouver un remplaçant
Le MikroTik le plus récent fonctionne bien aussi
Honnêtement, je ne vois pas vraiment ce qu’un OpenWrt One m’apporterait
Je me demande s’il ne vaudrait pas mieux installer OPNSense sur le matériel ouvert de son choix, et déléguer la partie sans fil, plus complexe, à un AP séparé
OpenWRT est excellent, mais l’installation et les mises à niveau ne sont pas vraiment simples. Il y a trop d’images par matériel, d’options d’installation et d’outils
Comme il doit tourner sur de petits appareils, il y a aussi des contraintes, et la documentation du wiki est éparpillée, donc il y a une vraie marge d’amélioration
J’ai dû fouiller les forums pendant des semaines pour trouver comment installer des paquets personnalisés adaptés à mon routeur
En ce moment encore, j’essaie de passer à la dernière version via LUCI, mais c’est bloqué. Je vais probablement attendre quelques semaines, le faire en CLI, puis retourner fouiller les forums
J’ai eu l’impression de payer un coût en temps assez élevé pour ne pas utiliser un mini-PC x86 un peu plus cher avec un AP
À partir d’OpenWrt 25.12, il est inclus dans toutes les configurations d’images par défaut appropriées
De mon côté, je fais tourner mon routeur x86, mes AP et même mon switch manageable entièrement sous OpenWrt, sans regret
owut upgrade. C’est assez simpleEn faire un routeur revient littéralement à régler quelques paramètres du noyau et quelques règles iptables pour le NAT. De nos jours, avec Claude, ça prend moins de 5 minutes
On obtient ainsi de bien meilleures performances et une meilleure compatibilité matérielle qu’avec un système BSD, tout en réduisant l’usage des ressources et la surface d’attaque. Pas de GUI ni de composants inutiles non plus
Le support Wi‑Fi de BSD n’est pas bon, alors que sous Linux on peut créer un AP presque immédiatement avec hostapd
Si tu prévois aussi de faire tourner d’autres services sur le même matériel, Linux est évidemment un meilleur choix
En dehors des utilisateurs fidèles, il est difficile de voir quel segment il vise, mais c’est peut-être celui d’un bon rapport matériel/logiciel pour le prix
J’utilise OpenWrt One comme routeur principal et j’en suis très satisfait
J’en ai deux, pour pouvoir remplacer immédiatement l’un si jamais il tombe en panne
Comme c’est du matériel entièrement pris en charge, les images et les paquets sont bien fournis, et c’est le meilleur appareil pour faire tourner OpenWrt
Les débits de routage, les buffers et la latence sont bons, tout fonctionne simplement, et le prix est très raisonnable
Je ne l’utilise pas comme AP, parce que j’avais déjà trois routeurs TP-Link sous OpenWrt que j’utilisais très bien comme AP passifs
Si je devais refaire mon installation, je pense que j’achèterais un OpenWrt One
Cela dit, j’ai aussi essayé un kit mesh Deco, qui fonctionnait très bien, et c’est désormais ce que je recommande aux amis ou à la famille qui ne comptent pas exécuter de paquets arbitraires sur leur routeur ou leur AP
Si tu veux simplement un bon routeur Wi‑Fi ou AP, que tu n’as pas besoin de fonctionnalités que ce produit n’offre pas, comme le Wi‑Fi 7 ou l’Ethernet 10 Gbit/s, et que tu veux consacrer un minimum de temps à ton routeur, maintenant comme plus tard, achète-le
Depuis que je l’ai acheté, je ne vois plus aucune raison d’acheter à nouveau un routeur fermé
Il n’y a pas non plus besoin d’apprendre ni de mémoriser la configuration d’autres routeurs. Tout est sous OpenWRT, donc l’interface est toujours la même et tout fonctionne toujours de la même façon. Configurer un nouvel appareil prend 2 minutes maximum
Une récente mise à jour d’OpenWRT a aussi ajouté la fonction qui manquait le plus au projet : un simple bouton « télécharger et installer le dernier firmware » dans l’UI de l’appareil
Il ne manque plus qu’une option de mise à niveau sans intervention, et je n’aurai probablement plus jamais besoin de me reconnecter après la configuration initiale
Ajoute à cela la satisfaction agréable d’acheter de l’open source, et malgré la limite à 1 Gbit/s et le Wi‑Fi ancien, ça en vaut la peine pour moi. J’utilise aussi un AP séparé
J’ai inversé les ports côté logiciel pour obtenir un WAN 1 Gb et un LAN 2,5 Gb, ce qui permet aussi d’alimenter le routeur via le PoE arrivant par le port LAN
106 dollars avec boîtier et antennes, 84 dollars sans, c’est un prix correct
J’aurais aimé qu’il ait plus de 1 Go de RAM, mais j’imagine que c’est inévitable à cause des datacenters
Aujourd’hui, ils utilisent généralement moins de 64 Mo
Pour ce type d’usage, 1 Go représente une énorme quantité de RAM :) Je suis curieux de savoir pourquoi tu penses qu’il en faudrait davantage
Puisqu’on parle de Wi‑Fi, je voudrais mentionner https://www.wiisfi.com/
C’est la meilleure référence Wi‑Fi que j’aie trouvée jusqu’ici
Je suis passé de Google Wifi à ça : la stabilité est comparable, la portée et la puissance du signal sont meilleures, et il a été plus facile d’appliquer les réglages de contrôle parental que je voulais
Ce serait vraiment bien de pouvoir mettre en liste blanche les appareils autorisés à accéder à Internet pendant les horaires nocturnes
J’utilise OPNSense sur un routeur AliExpress N100. Ça fonctionne très bien et j’en suis satisfait
Mais les mises à niveau font vraiment peur. Une seule fois, une mise à niveau s’est mal passée
J’ai bien des snapshots ZFS en place, mais comme c’est une machine headless, chaque mise à niveau est très stressante quand j’attends le bip indiquant que le système est revenu
Ces derniers temps, j’essaie SPR[1]. C’est une distribution axée sur la sécurité pour les routeurs Wi‑Fi
L’équipe prend la sécurité Wi‑Fi au sérieux et exploite aussi un laboratoire[2] reconnu pour plusieurs CVE dans des composants comme la pile réseau d’Apple
Sa fonction clé consiste à isoler fortement les invités et les appareils domotiques semi-fiables, et la stack logicielle est construite autour de démons Go conteneurisés et audités
Quand j’ai dû partager un réseau d’infrastructure avec d’autres foyers dans une location de courte durée, cela a plutôt bien fonctionné avec un routeur de voyage bricolé à partir d’un Raspberry Pi et d’un dongle USB Netgear A7500
Plus récemment, je teste aussi un modèle basé sur le CM5, avec Wi‑Fi 7 et PoE 2,5GbE, pour l’utiliser comme Wi‑Fi principal à la maison
1: https://www.supernetworks.org
2: https://www.supernetworks.org/security-labs.html