Xiaomi Gateway (versão da ue - Lumi.gateway.mieu01) Hacked

Corte do Xiaomi Zigbee Gateway

Neste artigo, quero compartilhar com você minhas melhores práticas e sucessos na análise do gateway Xiaomi (versão com plug euro com I take.ru). Vou explicar como instalar um software alternativo nele, como restaurar um gateway com um software limpo e até mesmo reviver um gateway com um u-boot limpo.

--------- MUITAS FOTOS -------------



Antes de tudo, vou lhe dizer como se conectar à placa de gateway e obter a raiz.

Primeiro, alguns detalhes sobre o gateway.

Este artigo descreve a versão do gateway criado no processador imx6ull .

Algumas especificações técnicas da placa:

  • Wifi RTL8723BS - o driver a partir dele, por algum motivo, é carregado separadamente.
  • CPU IMX6ULL
  • RAM 256 mb
  • ROM 256 mb
  • Módulo ZIgbee baseado em JN5169.

No quadro, moedas de serviço, P2 e P4 são exibidas. Idealmente, eles são feitos sob os pogopins, mas são mais fáceis de soldar.

P2 é o Wart 0 do processador, onde todas as informações de serviço são exibidas, o log de inicialização do uboot e o gerenciamento do sistema, você pode usar qualquer adaptador usb-uart.

P4 - USB OTG, que é usado para fazer upload de firmware para nand. (Como um OTG de pleno direito, até o final eu não podia iniciá-lo, quando conectado, o dispositivo é detectado, mas aparentemente algo está faltando).



A placa adaptadora USB chinesa é ideal para os apelidos P4.



Depois que tudo estiver soldado e conectado, você primeiro precisará fazer o root.

Fiz de acordo com esta instrução (link para o manual), mas com um pouco de esclarecimento após o ponto 5, você precisa digitar o comando bootcaso contrário, o sistema fica parado e aguarda um comando, as instruções provavelmente foram escritas com a esperança de que todos entendam o Linux.

Por alguma razão, o servidor SSH não foi ativado de acordo com as instruções e foi ativado apenas iniciando manualmente o comando para iniciar /etc/init.d/dropbear start.O

próximo passo, depois de receber a raiz, copiei o conteúdo do sistema usando o WinScp (selecionamos o modo SCP ao criar a conexão).

Além disso, é necessário fazer backup do sistema completo, caso as experiências tenham consequências tristes (como fiz, mas não fiz o backup). A

memória flash do gateway é dividida em quatro seções.



Como se viu, também não há muito espaço livre, enquanto existem muitos arquivos duplicados diferentes na memória.



Depois de jogar por algumas horas, mudei alguma coisa no software e o gateway parou de carregar :)

Agora, vamos descobrir como reviver esse pedaço de ferro e preenchê-lo com qualquer coisa.
Realize ações apenas se você tiver um tijolo!


O processador Imx6ULL contém todas as informações em um formulário aberto, todas as placas de dados e manuais de referência estão disponíveis no site do fabricante após o registro.

O U-boot ainda estava carregando para mim ... Mas enquanto eu tentava me recuperar, acidentalmente copiei um comando extra e limpei completamente o nand. E u-boot, como se viu, estava em Nanda. E ele pegou um tijolo.

O processador suporta vários modos de inicialização. No manual de referência, todos são descritos.



As placas de desenvolvimento geralmente têm comutadores, mas não há nada disso. A folha de dados descreve que tipo de centavo de processador é.



E então os chineses também fizeram um presente muito bonito. Eles os levaram para um local muito conveniente e quase os assinaram)

No quadro ao lado do processador, dois resistores são soldados, onde os pinos do modo de inicialização se encaixam.



Esses dois resistores são apenas comutadores dos modos de inicialização, por padrão, são definidos como nand, mas movendo cada um deles para o lado, obtemos o modo de inicialização serial.

Transferi meu gateway para o modo de inicialização serial; de alguma forma, esse modo é mais conveniente para testar vários firmware.

Para fazer upload do firmware, é usado um utilitário proprietário do NXP mfgtools. A única coisa é preparar um perfil para o processador.

Baixar mfgtools. O arquivo já está na versão preparada com todas as configurações necessárias.

Conectamos o gateway via USB. No modo de inicialização serial, o gateway tentará fazer o download do firmware através da interface USB e um novo dispositivo HID aparecerá no computador.

O Mfgtools, por sua vez, informará que ele vê um novo dispositivo.



Às vezes o computador não o vê, com o que está conectado, não sei dizer.

Depois que o utilitário o visualizar, clique em Iniciar e o processo de download do firmware será iniciado.
O utilitário formatará o nand, inundará o novo ubut, kernel, dtb e rootfs. O rootfs no arquivo foi compilado por um amigo Aleksandr Faronov, ele montou uma compilação limpa do Linux no Yocto. As seções U-boot, Kernel, DTB foram extraídas do firmware nativo do gateway.

Nesta montagem do Linux, apenas um sistema limpo será inicializado, não haverá mais nada (O zigby também não funciona ).

Depois que o utilitário funcionar no meu caso, o gateway não fará nada e também carregará, porque, como recordamos o processador no modo de inicialização serial.

Portanto, ele precisa receber uma imagem inicializável de U-boot. No arquivo com o mfgtools, existe um utilitário uuu adicional que carrega o U-boot no Ram da placa, vamos para a pasta que o contém.
Fechamos o mfgtools e reconectamos o gateway a um novo, o dispositivo HID deve ser detectado novamente, após o que executamos o comando.

uuu u-boot-small.imx

A placa começará a carregar, mas, como não possui env, será exibida após o carregamento do U-boot. No console do gateway, executamos dois comandos, registramos ENV para carregamento.

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)'

e começar a inicialização de inicialização , o gateway inicia o carregamento de Nanda e do firmware que nós carregado.



Em geral, é tudo. No mfgtools, na pasta \ Profiles \ Linux \ OS Firmware \ files, todos os arquivos de firmware estão localizados, substituindo os quais você pode carregar em qualquer sistema compatível. Eu tentei baixar o openwrt.



O sistema está carregando, mas ainda não descobri como colocar o núcleo certo e onde obtê-lo.

Espero que, através de esforços conjuntos, ainda levemos esse gateway à sua conclusão lógica)
Backup dos diretórios do gateway . Telegrama para discussão .

All Articles