Xiaomi Gateway (version européenne - Lumi.gateway.mieu01) piraté

Xiaomi Zigbee Gateway Hack

Dans cet article, je veux partager avec vous mes meilleures pratiques et succès dans l'analyse de la passerelle Xiaomi (Version avec prise euro avec I take.ru). Je vais vous dire comment y installer un logiciel alternatif, comment restaurer une passerelle avec un logiciel effacé et même réactiver une passerelle avec un u-boot effacé.

--------- BEAUCOUP DE PHOTOS -------------



Tout d'abord, je vais vous dire comment vous connecter à la carte passerelle et obtenir la racine.

Tout d'abord, quelques détails sur la passerelle.

Cet article décrit la version de la passerelle basée sur le processeur imx6ull .

Quelques spécifications techniques de la carte:

  • Wifi RTL8723BS - le pilote de celui-ci pour une raison quelconque est chargé séparément.
  • CPU IMX6ULL
  • RAM 256 Mo
  • ROM 256 Mo
  • Module ZIgbee basé sur JN5169.

Sur la carte, les pièces de service, P2 et P4 sont affichées. Idéalement, ils sont fabriqués sous les pogopins, mais ils sont plus faciles à souder.

P2 est Wart 0 du processeur où toutes les informations de service sont affichées, le journal de démarrage uboot et la gestion du système, vous pouvez utiliser n'importe quel adaptateur usb-uart.

P4 - USB OTG, qui est utilisé pour télécharger le firmware sur nand. (En tant qu'OTG à part entière, jusqu'à la fin, je ne pouvais pas le démarrer, une fois connecté, l'appareil est détecté, mais apparemment quelque chose d'autre manque).



La carte adaptateur usb chinoise est parfaitement adaptée aux surnoms P4.



Une fois que tout est soudé et connecté, vous devez d'abord vous rooter.

Je l'ai fait selon cette instruction (lien vers le manuel), mais avec une petite clarification après le point 5, vous devez taper la commande de démarragesinon, le système est assis et attend une commande, les instructions ont probablement été écrites dans l'espoir que tout le monde comprend Linux.

Pour une raison quelconque, le serveur SSH ne s'est pas allumé conformément aux instructions et n'a été activé qu'en lançant manuellement la commande pour démarrer /etc/init.d/dropbear start.

L'étape suivante, après avoir reçu la racine, j'ai copié le contenu du système à l'aide de WinScp (nous sélectionnons le mode SCP lors de la création de la connexion).

Plus loin, vous devez sauvegarder le système complet, au cas où les expériences conduiraient à de tristes conséquences (comme moi, mais je n'ai pas fait de sauvegarde). La

mémoire flash de la passerelle est divisée en 4 sections.



Il s'est avéré qu'il n'y avait pas non plus beaucoup d'espace libre, alors qu'en mémoire, il y avait beaucoup de fichiers en double différents.



Après avoir joué pendant quelques heures, j'ai changé quelque chose dans le logiciel et la passerelle a cessé de se charger :)

Voyons maintenant comment faire revivre ce morceau de fer et en remplir quoi que ce soit.
N'effectuez des actions que si vous avez une brique!


Le processeur Imx6ULL contient toutes les informations sous une forme ouverte, toutes les cartes de données et les manuels de référence sont disponibles sur le site Web du fabricant après l'enregistrement.

U-boot me chargeait toujours ... Mais pendant que j'essayais de récupérer, j'ai accidentellement copié une commande supplémentaire et effacé complètement le nand. Et il s'est avéré que u-boot était à Nanda. Et il a eu une brique.

Le processeur prend en charge différents modes de démarrage. Dans le manuel de référence, ils sont tous décrits.



Les cartes de développement ont généralement des commutateurs, mais il n'y a rien de tel. La fiche technique décrit de quel type de processeur il s'agit.



Et puis les Chinois ont fait un très beau cadeau aussi. Ils les ont amenés à un endroit très pratique et les ont presque signés)

Sur la carte à côté du processeur, deux résistances sont soudées, là où les broches du mode de démarrage s'insèrent.



Ces deux résistances ne sont que des commutateurs de modes de démarrage, par défaut, il est défini sur nand, mais en déplaçant chacune d'elles sur le côté, nous obtenons le mode de démarrage série.

J'ai transféré ma passerelle en mode de démarrage série, d'une certaine manière, ce mode est plus pratique pour tester divers micrologiciels.

Pour télécharger le firmware, un utilitaire propriétaire de NXP mfgtools est utilisé. La seule chose à faire est de préparer un profil pour le processeur.

Télécharger mfgtools. L'archive est déjà une version préparée avec tous les paramètres nécessaires.

Nous connectons la passerelle via USB. En mode d'amorçage série, la passerelle essaiera de télécharger le firmware via l'interface USB et un nouveau périphérique HID apparaîtra sur l'ordinateur.

Mfgtools, à son tour, vous informera qu'il voit un nouvel appareil.



Parfois, l'ordinateur ne le voit pas, avec quoi il est connecté, je ne peux pas le dire.

Une fois que l'utilitaire l'a vu, cliquez sur Démarrer et le processus de téléchargement du micrologiciel commencera.
L'utilitaire formatera le nand, inondera les nouveaux ubut, kernel, dtb et rootfs. Les rootfs dans l'archive ont été compilés par un ami Aleksandr Faronov, il a monté une compilation Linux propre sur Yocto. Les sections U-boot, Kernel, DTB ont été retirées du firmware natif de la passerelle.

Dans cet assemblage Linux, seul un système propre démarrera, il n'y aura rien de plus (zigby ne fonctionne pas encore non plus ).

Une fois que l'utilitaire fonctionne dans mon cas, la passerelle ne fait rien et se charge également, car, comme nous le rappelons, le processeur en mode de démarrage série.

Par conséquent, il doit recevoir une image U-boot amorçable. Dans l'archive avec mfgtools, il y a un utilitaire supplémentaire uuu qui effectue le chargement U-boot dans le Ram de la carte, allons dans le dossier qui le contient.
Nous fermons mfgtools et reconnectons la passerelle avec une nouvelle, le périphérique HID doit être détecté à nouveau, après quoi nous exécutons la commande.

uuu u-boot-small.imx

La carte commencera à se charger, mais comme elle n'a pas d'env, elle se lèvera après le chargement de U-boot. Dans la console de passerelle, nous exécutons deux commandes, nous enregistrons ENV pour le chargement.

setenv bootargs 'console=ttymxc0,115200 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs cma=96M mtdparts=gpmi-nand:3m(boot),7m(kernel),1m(dtb),-(rootfs)'

et démarrez le démarrage de démarrage , la passerelle commence le chargement à partir de nanda et du firmware que nous avons téléchargé.



Dans l’ensemble, c’est tout. Dans mfgtools, dans le dossier \ Profiles \ Linux \ OS Firmware \ files, tous les fichiers du micrologiciel sont localisés, en remplacement desquels vous pouvez charger n'importe quel système compatible. J'ai essayé de télécharger openwrt.



Le système est en cours de chargement, mais je n'ai toujours pas compris comment glisser le bon noyau et où l'obtenir.

J'espère que grâce à des efforts conjoints, nous parviendrons toujours à la conclusion logique de cette passerelle)
Sauvegarde des répertoires de la passerelle . Télégramme pour discussion .

All Articles