2 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • 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 utiliser ssh 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 de usb_pgood_delay peut 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

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, sysupgrade et kernel brut sont fournies pour l’installation
  • Pour le flash à des fins de récupération, les images FIP uboot bl31-uboot.fip, factory.bin et preloader.bin sont é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_uartboot pour 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
  • 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_uartboot peut ê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/filogic des 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
  • Le serveur TFTP doit écouter sur 192.168.11.23, et l’OpenWrt One utilise l’adresse IP 192.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.fipopenwrt-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip

Procédure de démarrage UART et flash TFTP

  • La commande mtk_uartboot permet 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 groupes dialout et uucp, puis se reconnecter
  • Quand mtk_uartboot affiche Handshake..., allumer ensuite le routeur déclenche l’upload de BL2 et du FIP avec les logs hw 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 NOR puis 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

 
GN⁺ 4 시간 전
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

    • Les caractéristiques prévues sont ici, et il est indiqué que GL.iNet le fabriquera : https://openwrt.org/voting/2025-02-12-openwrt-two
      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
    • Au moins, le Two semble avoir quelques particularités. Cela dit, il paraît viser les passionnés d’Ethernet domestique
      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
    • Ce serait bien aussi d’avoir du double 2.5GbE
    • Je ne fais pas du réseau en profondeur, je me limite plutôt à un homelab, et il m’a fallu un peu de temps pour apprendre OpenWRT
      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

    • La partie logicielle du projet est très probablement une descendante directe de la pile WRT54G
      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
    • Il y a quelques années, j’ai recyclé environ 4 variantes de WRT54G sur lesquelles tournait Tomato, utilisées dans les petites entreprises et les maisons d’amis au début des années 2000
    • Pendant un certain temps au moins, c’était un cas similaire à XBMC
    • J’ai encore un WRT54GL dans une boîte quelque part
  • 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 :-)

    • Si jamais ce n’est pas le cas, la meilleure combinaison de routeur que j’aie utilisée jusqu’ici était un vieux PC avec une carte réseau Intel à deux ports et OPNSense installé dessus
      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
    • Mes trois derniers routeurs domestiques étaient MikroTik, MikroTik, Juniper
      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
    • Les routeurs Wi‑Fi de niveau entreprise d’il y a 10 ans coûtent environ un cinquième du prix sur eBay, et fonctionnent tout aussi bien pour la plupart des usages domestiques ou de petites entreprises
  • 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

    • Tes connaissances de l’écosystème OpenWrt semblent un peu datées. Depuis l’arrivée d’Attended Sysupgrade, les mises à niveau sont un problème résolu : https://openwrt.org/docs/guide-user/installation/attended.sy...
      À 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
    • La solution, c’est d’utiliser Image Builder pour intégrer la configuration directement dans l’image
    • Aujourd’hui, les mises à niveau se font avec owut upgrade. C’est assez simple
    • C’est possible, mais si l’on veut mettre les mains dedans soi-même, je pense qu’une distribution Linux généraliste comme Debian est meilleure qu’OPNSense
      En 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
    • Ce qui est intéressant, c’est que cet appareil n’est ni le meilleur sur le plan matériel ou logiciel, ni le plus accueillant pour le grand public
      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

    • J’utilise 4 OpenWRT One, et ils sont très bien
      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
    • Moi aussi, j’en suis satisfait. Comme c’est une référence, c’est presque un rêve de voir toutes les fonctionnalités d’OpenWRT fonctionner dès le départ, sans bidouille
      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
    • Il n’y a qu’un seul port Ethernet LAN. Je me demande si tu utilises uniquement le Wi‑Fi, ou si tu as ajouté un switch entre le routeur et les appareils
  • 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

    • Même sans aucune optimisation de l’usage de la RAM, les projets de routeurs OpenWRT que j’ai faits, avec toutes sortes de fonctionnalités, ont toujours utilisé moins de 100 Mo de RAM
      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

    • Je me demande s’il y a des fonctions de contrôle parental par défaut, ou s’il a fallu installer quelque chose en plus
      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

    • Je me demande combien tu l’as payé
  • 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