Démontage: boîte Wi-Fi Creality | Hackaday

Creality, fabricant de la série d’imprimantes 3D Ender, a sorti un produit appelé Wi-Fi Box destiné à contrôler les imprimantes sur un réseau et j’en ai commandé un pour le démontage d’aujourd’hui. Faisons quelque chose de très clair dès le début. Si vous cherchez à contrôler votre imprimante 3D sur le réseau, procurez-vous un Raspberry Pi et installez le phénoménal OctoPrint de Gina Häußge dessus. Malgré ce que Creality voudrait peut-être vous faire croire, leur «Wi-Fi Box» n’est rien de plus qu’une mauvaise imitation de cet incroyable projet open source. Même si vous parvenez à le faire fonctionner avec votre imprimante, ce qui, à en juger par les premières indications, est assez important, cela ne vous donnera pas la même expérience. Au mieux, cela vous fera économiser quelques dollars par rapport à la voie du bricolage, mais au prix de manquer la communauté dynamique de développeurs de plugins qui ont aidé à établir OctoPrint en tant que solution d’impression 3D à distance de facto.

Cela étant dit, le matériel lui-même semble assez intéressant. Pour seulement 20 $ US, vous obtenez un ordinateur Linux de la taille d’une paume avec WiFi, Ethernet, un slot micro SD et une paire de ports USB; le tout enveloppé dans une enceinte assez robuste. Il n’y a pas de sortie vidéo, mais cela n’effraiera guère le vétéran des pingouins. Niché dans un coin et ne sirotant que quelques watts, on peut imaginer de nombreuses tâches auxquelles ce petit gadget serait bien adapté. Peut-être qu’il pourrait agir comme un petit courtier MQTT pour tous vos appareils domestiques intelligents, ou une station météo à distance de faible puissance. Les possibilités sont presque illimitées, à supposer que nous puissions entrer dans la chose de toute façon.

Alors, qu’y a-t-il dans la Creality Wi-Fi Box, et à quel point sera-t-il difficile de la plier à notre volonté? Prenons un à part et découvrons.

Étonnamment élégant

Cela ne sera probablement pas une énorme surprise compte tenu du faible prix d’achat, mais il n’y a pas grand-chose à la Wi-Fi Box. Creality voulait fabriquer ce produit le moins cher possible, et ça se voit. Le paquet n’inclut même pas une alimentation ou la carte micro SD requise, bien que curieusement, ils aient emballé deux câbles USB. Il semble clair que l’entreprise n’a pas voulu investir plus que nécessaire dans ce qui est finalement un produit expérimental. Certains utilisateurs ont même signalé avoir reçu une Wi-Fi Box gratuitement lors de l’achat d’une imprimante 3D chez Creality; avec ce type de modèle commercial, la réduction des coûts est certainement le nom du jeu.

L’antenne WiFi est collée au boîtier et doit être déconnectée pour retirer le PCB.

Même ainsi, l’appareil lui-même ne semble pas bon marché. En fait, tout le contraire. Le boîtier en plastique est étonnamment épais et rigide, et ressemble plus au boîtier moulé par injection pour un outil électrique. C’est probablement exagéré pour une petite boîte clignotante qui vivra une vie facile perchée à côté d’une imprimante 3D, mais je ne me plains certainement pas. Il est également intéressant de noter que le boîtier est constitué d’un seul morceau de plastique solide et non d’une coque. Pour retirer le PCB, vous devez soulever le panneau avant et le faire glisser.

Avec la carte hors du boîtier et les boucliers RF métalliques retirés, nous pouvons voir à quel point il faut peu de temps pour faire fonctionner la Creality Wi-Fi Box. Le SoC MediaTek MT7688AN dispose d’un processeur MIPS 580 MHz ainsi que de contrôleurs intégrés pour USB, SD, Ethernet et WiFi, tandis que le Winbond W971GG6SB fournit 128 Mo de SDRAM DDR2. Le SoC dispose également de quelques broches GPIO, dont nous pouvons clairement voir qu’elles ont été réparties sur les quatre voyants d’état à l’avant de la carte. Ajoutez du magnétisme pour le port Ethernet et un peu de filtrage sur l’alimentation micro USB, et vous obtenez un système Linux assez performant dans une plate-forme compacte, économe en énergie et rentable.

Bien sûr, ce n’est pas exactement un démon de la vitesse. Même le Raspberry Pi Zero pourrait faire des cercles autour de cette petite boîte. Ce qui est finalement notre premier indice sur les raisons pour lesquelles Creality n’a pas utilisé une version personnalisée d’OctoPrint pour ce produit. Le matériel qui peut l’exécuter efficacement est tout simplement trop cher; pour atteindre leur niveau de prix souhaité, ils ont dû proposer leur propre version simplifiée du concept.

Creuser

Donc, à ce stade, nous savons qu’il s’agit d’un boîtier Linux 580 MHz avec 128 Mo de RAM. Pas très excitant en 2023, mais pas vraiment non plus un presse-papiers. Mais bien sûr, peu importe la puissance du matériel si nous ne pouvons pas accéder au système d’exploitation. La prochaine étape consiste à déterminer à quel point Creality veut nous empêcher d’entrer.

Notre première rupture vient de l’en-tête du port série assez visible au bas du PCB. Après avoir branché un adaptateur USB-série et trébuché sur la vitesse correcte de 57 600 bauds, nous pouvons voir les messages du noyau U-Boot et Linux passer, et finalement nous nous retrouvons à une invite de connexion. Malheureusement, nous ne connaissons pas le mot de passe.

Désormais, quiconque est familier avec le piratage Linux embarqué sait que c’est là que vous faites apparaître les variables d’environnement U-boot modifiées pour démarrer le système en mode mono-utilisateur. Mais essayez comme je pourrais, je ne pourrais jamais entrer dans la ligne de commande U-Boot. Après 30 ou 40 tentatives solides pour interrompre le chargeur de démarrage avant de charger le noyau, j’en suis venu à la conclusion que soit mon timing est exceptionnellement mauvais, soit l’accès à U-Boot a été désactivé.

Où cela nous mène-t-il? Eh bien, juste à côté du port série, vous trouverez la puce flash Boyamicro 25Q128 SPI de 16 Mo qui contient le micrologiciel. Vous pouvez extraire la puce, lire son contenu, modifier le système de fichiers et le renvoyer. Si vous prévoyez de faire beaucoup de bidouillage de micrologiciel, vous pouvez même installer un socket pour la puce pour que les bons moments continuent.

Heureusement, il existe un moyen plus simple d’entrer. Un coup d’œil dans un fichier officiel de mise à jour du micrologiciel de Creality montre que le gadget recherchera un install.sh Script Bash sur la carte micro SD et exécutez-le au démarrage. Toutes les commandes que nous mettons dans ce fichier seront exécutées en tant que root, ce qui nous permet de changer facilement le mot de passe sans casser le fer à souder:


#!/bin/sh
echo 'root:hacked' > /tmp/pass
cat /tmp/pass | chpasswd

Avec ce fichier sur la carte SD, nous pouvons maintenant nous connecter au compte racine via le port série et commencer à explorer.

C’est un routeur, Jim

Quand j’ai entendu parler de cet appareil pour la première fois, j’avais de grands espoirs qu’il pourrait réellement exécuter OpenWRT. Malheureusement, nous avons en fait un environnement BusyBox très minimal qui a été clairement conçu pour un routeur sans fil. Je le sais car il semble que toutes les fonctionnalités du routeur sont toujours intactes, elles ont juste été commentées chaque fois que nécessaire pour l’empêcher d’être visible dans l’interface Web ou de démarrer automatiquement.

Les pages commentées sont toujours disponibles, elles n’apparaissent tout simplement pas dans le menu.

De même, il existe de nombreux programmes et scripts sur le système qui sont totalement inutiles pour contrôler une imprimante 3D. De l’émulation d’un serveur iTunes et du streaming MP3 à la négociation avec des modems 3G, la Creality Wi-Fi Box possède de nombreuses fonctionnalités cachées qui sont verrouillées derrière une interface Web volontairement limitée.

Liberté logicielle

En résumé, nous avons un SoC assez bien documenté, un port série fonctionnel, un fichier officiel de mise à jour du micrologiciel à étudier et un moyen facile d’obtenir un accès root. Il existe même un sous-objectif MT7688 pour OpenWRT. Toutes les pièces sont là, il suffit de les assembler.

Heureusement, nous ne sommes pas ceux qui doivent le faire. Un développeur du nom de George Brooke, AKA [figgyc], a déjà fait le travail pour nous. Avant même que je puisse finir d’écrire cet article sur le matériel, il avait identifié et résolu quelques problèmes (tels que l’ajout de la prise en charge de cette puce flash Boyamicro 25Q128) qui empêchaient OpenWRT de démarrer sur cette carte. En utilisant le mécanisme de mise à jour du micrologiciel d’origine, vous pouvez installer son fork de la distribution Linux embarquée populaire sur la Creality Wi-Fi Box sans apporter de modifications matérielles. Il n’a pas encore trouvé comment revenir au firmware d’origine, mais franchement, qui s’en soucie?

Avec OpenWRT installé, la Creality Wi-Fi Box devient un véritable ordinateur polyvalent. Grâce à une vaste gamme de packages et à une communauté de développement active, ce simple échange de micrologiciel transforme un gadget à 20 $ en un outil utile.

Échapper au jardin clos

Après avoir passé du temps de qualité avec la Creality Wi-Fi Box, je ne peux m’empêcher de me rappeler la Recon Sentinel que nous avons jeté un coup d’œil il y a quelques mois. Les deux appareils basés sur Linux nous offrent une plate-forme matérielle facilement réutilisable, car peu ou aucune tentative n’a été faite pour limiter la capacité de l’utilisateur à installer des logiciels plus performants sur eux. Même si cela est plus probablement attribué à un hasard qu’à n’importe quel objectif véritablement altruiste de la part des développeurs, nous devrions être si chanceux d’avoir plus d’appareils commerciaux pouvant être facilement modifiés par l’utilisateur final.

Mais je me demande si les similitudes pourraient finalement aller un peu plus loin. Le Sentinel a été conçu pour enfermer le consommateur dans un contrat de service coûteux, générant ainsi beaucoup plus de revenus que le prix de l’autocollant du gadget lui-même. Creality pourrait-il planifier quelque chose de similaire avec la Wi-Fi Box? Certes, nous n’avons encore vu aucune indication à ce sujet, mais il va de soi que vous ne donnez pas de matériel au prix ou à un prix inférieur à moins que vous n’ayez un plan pour récupérer cet argent à l’avenir.

Un indice peut être trouvé dans l’annonce du produit pour la Wi-Fi Box. Il décrit le «Creality Cloud», un service qui «offre une communauté énergique et créative où les utilisateurs peuvent télécharger gratuitement des fichiers STL illimités, partager leurs modèles et la fonctionnalité la plus importante, slice et impression en ligne». Alors que les modèles proposés sur le service sont gratuits maintenant, il n’est pas difficile d’imaginer que des modèles payants pourraient être introduits ultérieurement. En utilisant la Wi-Fi Box, Creality peut espérer que les clients deviennent dépendants de leur écosystème logiciel unique. Cela pourrait permettre à l’entreprise de créer un référentiel de modèles 3D monétisés, ce que ses concurrents sur le marché n’ont jusqu’à présent pas réussi à accomplir. Seul le temps nous le dira.

En attendant, tout hacker ou fabricant à la recherche d’un nouveau projet ferait bien de se procurer l’un de ces appareils bon marché. Assurez-vous simplement de remplacer immédiatement son micrologiciel propriétaire par une alternative open source qui vous redonne le contrôle du matériel que vous avez payé.

5/5 - (3 votes)
François Zipponi
Je suis François Zipponi, éditorialiste pour le site 10-raisons.fr. J'ai commencé ma carrière de journaliste en 2004, et j'ai travaillé pour plusieurs médias français, dont le Monde et Libération. En 2016, j'ai rejoint 10-raisons.fr, un site innovant proposant des articles sous la forme « 10 raisons de... ». En tant qu'éditorialiste, je me suis engagé à fournir un contenu original et pertinent, abordant des sujets variés tels que la politique, l'économie, les sciences, l'histoire, etc. Je m'efforce de toujours traiter les sujets de façon objective et impartiale. Mes articles sont régulièrement partagés sur les réseaux sociaux et j'interviens dans des conférences et des tables rondes autour des thèmes abordés sur 10-raisons.fr.