Tutorial: Cambiar firmware a los dispositivos Tuya / Smart Life sin soldar

Tutorial: Cambiar firmware a los dispositivos Tuya / Smart Life sin soldar

Como os he comentado en la noticia del fallo de seguridad que permite acceder al firmware de los dispositivos Tuya / Smart Life sin desmontarlo, aquí os traigo el tutorial para poder cambiarle el firmware de la misma forma que he podido hacer yo.

OJO!! Antes de empezar, deberíais ver el vídeo donde os explico los posibles riesgos. Es posible que al cambiar el firmware, si Tasmota, Espurna o cualquier firmware que pongáis a vuestro dispositivo, podría no funcionar si no está soportado de forma oficial, lo bueno es que teóricamente se puede volver atrás (todavía no probado), por lo que si no estás seguro de lo que estás haciendo, mejor no probar. No hay mucha lista de dispositivos soportados, por lo que si no quieres investigar, mejor esperar a que esté soportado. 

Dicho esto, pasamos al tutorial con lo que necesitaremos hacer:

  • Necesitaremos, por ejemplo una Raspberry Pi 3 o un dispositivo con Linux que permita poner la WiFi en modo AP. Si estáis usando una Raspberry Pi en vuestro Home Assistant, es recomendable usar una nueva SD para instalar desde cero Raspbian (Podéis mirar el tutorial para instalar Raspbian que publicamos)
  • Necesitaremos tener a mano otro dispositivo, por ejemplo, nuestro Smartphone. Recomiendo desactivar los datos móviles, porque si tu teléfono gestiona la conexión a internet automáticamente, podría no funcionar.
  • Como es de imaginar, el dispositivo Tuya / Smart Life que queremos cambiar el firmware

Cambio del firmware de un dispositivo Tuya / Smart Life sin desmontar ni soldar

Para poder comenzar, tendremos que entrar a la Raspberry (doy por hecho que se va a usar la Raspberry) por ssh para poder trabajar dentro de ella, allí pondremos el siguiente comando para traernos el script que hará todo:

git clone https://github.com/ct-Open-Source/tuya-convert

Si nos da error por no poder ejecutar git, lo podemos instalar con:

sudo apt-get install git

Una vez lo tengamos, entramos en al carpeta:

cd tuya-convert

Ahora dentro, vamos a empezar ya el proceso:

./install_prereq.sh

Este proceso tardará un rato ya que nos instalará todas las dependencias que son necesarias para poder trabajar con el script. Una vez que nos devuelve el control, debería salir algo así:

Ahora ya viene la parte más delicada y donde es posible que os den problemas, en caso de no salir como el tutorial, podéis mirar abajo posibles causas e intentos de solucionarlo. De momento, ejecutamos:

./start_flash.sh

Ahora ya va a comenzar el proceso, para asegurarnos que estamos haciendo lo que queremos hacer y que el dispositivo puede quedar sin función alguna, tendremos que escribir “yes” sin las comillas y pulsar intro.

Una vez hecho esto nos dice lo siguiente, tendremos que buscar en nuestro smart phone el punto de acceso “vtrust-flash” y le pondremos la clave flashmeifyoucan. Una vez conectado a la WiFi, tendremos que poner el dispositivo en modo emparejamiento, en función del dispositivo que sea puede ser pulsando el botón principal durante varios segundos, o bien, en las bombillas, apagando y encendiendo repetidas veces de forma rápida.

Cuando ambas cosas estén hechas, entonces pulsamos de nuevo intro y veremos que salen unos puntos como si estuviera buscando algo. En mi caso, con el enchufe inteligente Teckin oí como cambiaba el relé de posición 2-3 veces, tardó unos segundos y al poco empezó a salir por pantalla el volcado del contenido (copia de seguridad del firmware original):

Debemos apuntar la información que nos aparece al ejecutar este comando:

curl http://10.42.42.42

Una vez terminado, antes de flashear, hay que verificar que nos dice que está trabajando en el userspace 2 con este comando:

curl http://10.42.42.42/flash2

Debería decir “Device is allready booting from userspace 2”. Si ha salido así entonces podemos seguir con el flasheo, aunque, si queremos solo tener una copia del firmware y dejarlo como estaba, podemos poner:

curl http://10.42.42.42/undo

En caso de querer seguir, tendremos que poner el siguiente comando para poder flashear una versión genérica de Tasmota:

curl http://10.42.42.42/flash3

Una vez hecho esto, podemos mirar con nuestro smartphone (sin desconectar de la WiFi) si nos aparece un punto de acceso llamado “sonoff-xxxx” y en caso de aparecer, ya podemos conectar a él para poder configurarlo como cualquier dispositivo con Tasmota:

Cuando esté configurado con nuestra configuración de WiFi, podemos entrar a la IP que se le asigne por nuestro router y ya sería la configuración normal de cualquier dispositvo. En mi caso, el enchufe inteligente Teckin he podido configurarlo como si fuera un BlitzWolf SHP, que aunque no tiene consumo en tiempo real si que soporta el relé y podemos apagarlo y encenderlo sin problemas.

Haz click para ver el pase de diapositivas.

Cabe decir que ahora que está tan verde este fallo hay muy pocos dispositivos soportados dentro de los firmware, ya que, muchos dispositivos no se habían “destripado” para el cambio de firmware, pero, con estas puertas abiertas, empezarán a soportar multitud de dispositivos nuevos (enchufes, tiras led, bombillas, etc)

Posibles fallos en el cambio de firmware de los dispositivos Tuya / Smart Life sin desmontar ni soldar

  • Si no funciona el método y aunque tu smartphone está conectado a la WiFi y el dispositivo en modo emparejamiento activado, pero, los puntos no paran de salir y no hace la copia de tu rom. Revisa que no tengas los datos móviles activados ya que, algunos móviles si detectan que la WiFi a la que conectas no tiene internet la ignora y sale por la conexión de datos.
  • Si no ves el punto de acceso vtrust-flash, pulsa CONTROL + C y reinicia la Pi, por lo visto no va 100%
  • Si tienes problemas, tanto en el foro como en el grupo de Telegram podrás solucionarlas. Tienes en la carpeta scripts ficheros acabados en .log que puedes revisar para ver si solucionas el problema.

Cambio del enchufe inteligente Teckin SP21 a Tasmota

Si recordáis, el otro día analizamos los enchufes inteligentes Teckin SP21 y ahora, era el dispositivo que tenía a mano para probar y, ahora ya está cambiado a Tasmota.

Aunque como digo ha sido usando la configuración del módulo como “BlitzWolf SHP” el relé, funciona bien, eso si, como los BlitzWolf tienen consumo en tiempo real aparecen los datos de potencia, voltaje etc, todos a cero (el Teckin no tiene medidor). Pero, al menos, los enchufes puedo usarlos, aunque miraré para ver como hacer que aparezca en la lista de los dispositivos soportados sin los datos de consumo.

Fuente: Github

La entrada Tutorial: Cambiar firmware a los dispositivos Tuya / Smart Life sin soldar se publicó primero en Domótica en Casa.

Eduardo Ruiz

Informático de vocación, apasionado de la tecnología y blogger desde hace mucho tiempo, escribo de lo que me entretiene y disfruto con ello. Si deseas seguirme, usa el rss del blog o en mi perfil de .