Thursday, September 3, 2015

Recuperar Teclast de un brick (flasheo de BIOS)

Uno de los principales inconvenientes de esta tablet es que, al igual que en un PC, si la BIOS queda corrupta, mal flasheada, o autodestruida por intentar instalar un sistema Windows x64, no tenemos la posibilidad de utilizar ningún software conectado al USB que nos permita recuperarla de modo ladrillo como ocurre con los MTK.

La única manera de recuperarla es abriendo la tablet y accediendo al chip. Se que parece una locura abrir la tablet, pero es increiblemente sencillo y si se hace sin emplear la fuerza bruta la carcasa no sufre en consecuencia.

Bien, una vez llegados a este punto hay que estar convencidos de que vamos a programar la EEPROM con la BIOS, eso quiere decir que necesitamos acceder a ella.

Existen varias maneras de flashear una nueva BIOS:

- A través de Windows/Linux y un programador para nuestra tablet (es la opción que la gente recomienda), tenéis la información en este enlace

- A través de una Raspberry Pi que tengamos por casa y gastándonos 0€, usando flashrom (es la que explicaré a continuación).

Personalmente, apoyo mucho a Raspberry Pi, porque no hay nada que no pueda hacerse con ella.



Nadie había utilizado en Internet este proceso para resucitar la Teclast, y no entiendo el por qué, es lo más sencillo del mundo, posee un puerto SPI y a coste 0 si dispones de una Raspberry Pi.

En mi caso he utilizado la que tenía conectada a la pantalla con XBMC (OSMC), ni siquiera hay que cambiar de distribución. El que quiera empezar el proceso de 0 puede utilizar Raspbian, pero cualquier distro servirá.

Pero primero hay que ponerse en situación, necesitamos abrir la tablet y localizar donde está la EEPROM, para abrirla utilizad una tarjeta de puntos de plástico, introducís por la parte de abajo una esquina aplicando un poco de fuerza y la deslizáis a través de toda la carcasa, oiréis unos pequeños "clicks" que nos indican que los anclajes se están soltando (es normal). El proceso es bastante sencillo.

Una vez abierta tenemos que buscar esto:


Ese es nuestro objetico, ahora nos queda saber qué debemos soldar y a donde. Investigando por internet encontré mucha información, pero nada como la página oficial del software que vamos a utilizar (flashrom).

Preparamos la Raspberry:

Accedemos por SSH a la Raspberry, si no estamos en Linux usaremos Putty.

Ordenamos que habilite SPI al inicio, sino no podremos acceder. Editar /boot/config.txt y añadir si no existe:

dtparam=spi=on


Al reiniciar (o encender) deberíamos tener acceso al hardware.

Necesitamos activos dos módulos (si no están ya activos) para que se pueda utilizar el SPI, una vez que estén correctamente se verá que hay un /dev/spidev0.0 y /dev/spidev0.1:

sudo modprobe spi_bcm2708 #si no funciona usad spi_bcm2838
sudo modprobe spidev

Y para que tengamos flashrom:

$sudo apt-get install build-essential pciutils usbutils libpci-dev libusb-dev libftdi1 libftdi-dev zlib1g-dev subversion #(baja las dependencias necesarias para compilar)

$svn co svn://flashrom.org/flashrom/trunk flashrom #(descarga el código de flashrom)
$make #(compila)
$sudo make install #(instala el comando en el sistema)

Ahora nos queda conocer los puntos de soldadura de la Raspberry Pi:


Y a cuales de la EEPROM hemos de soldar:



El esquema a usar:



Soldamos y unimos los puntos, trabajo sencillo, con tranquilidad y buen pulso. Personalmente he utilizado unos pines a la Raspberry para que no me quedara estaño y poder hacer un pequeño puerto, e hilo wrapping 0.1 que es más fácil de soldar, pero cada uno es libre de hacer lo que quiera.


Y a la EEPROM de la tablet (el cable 3 y el cable 7 no son necesarios):



Bien, una vez que ya tenemos todo conectado procedemos a utilizar la Raspberry para que con la ayuda de flashrom, reprograme el chip:

Backup de lo que haya en la Teclast (para futuras investigaciones):

$sudo flashrom -r /ruta/al/backup/tablet.rom -V -p linux_spi:dev=/dev/spidev0.0

Borrado:

$sudo flashrom -E -V -p linux_spi:dev=/dev/spidev0.0

Flasheo (el comando que nos interesa):

$sudo flashrom -w /ruta/a/la/bios/flash.rom -V -p linux_spi:dev=/dev/spidev0.0


Cuando se inicie el flasheo, tenéis que ver una pantalla como ésta que os indique que ha encontrado el chip (en este caso es un Winbond flash chip "W25q64.W" que coincide con el que esperábamos):


Al final del proceso tenéis que ver una pantalla así:


En este momento podéis comprobar que la tablet enciende y que ha vuelto a la vida.

P.D. Agradecer el apoyo de mis compañeros que estuvieron ahí toda la tarde viendo el proceso.

10 comments:

  1. Había leído todo tu blog salvo este apartado, porque de momento (toco madera) no me hace falta. Esperaba que fuera como en otros sitios donde lo hacen con un programador, pero tío con una RasPi...no se me había ocurrido y es genial. Me has dejado flipao. Eres un crack de la electrónica!!

    ReplyDelete
    Replies
    1. Me alegro de que te gustara ;)

      Lo bueno de las cosas cuando son libres es que siempre dan buen resultado (generalmente porque son de calidad).

      Saludos!

      Delete
    2. Y no sabrás cómo se hace con un programador USB?? Me seria de muchísima utilidad.Un salufo y gracias por todo. Pd:Cuando la recupere del Hardbrick ya te preguntaré una cosa de aumentar el tamaño de windows

      Delete
  2. Muy buen manual.
    Lo estoy siguiendo, pero tengo 3 dudas:
    ¿los puntos de soldadura 9 y 18 donde se sueldan?
    Si en lugar de spi_bcm2838 o spi_bcm2708 tengo otro pasa algo?
    Tengo en raspberry pi b+ con 40 pines. Supongo que lo tendré que soldar al final de los 26 primeros pines y dejar los 14 últimos libres

    Gracias

    ReplyDelete
    Replies
    1. Buenas, los módulos son para activar el SPI, si quieres usar raspi-config y habilitarlo con el menú oficial también lo puedes hacer.
      En cuanto a los puntos de soldadura tienen las mismas numeraciones, exceptuando el masa, que es el último.

      Delete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Hola donde puedo ir a reparar una Teclast dual x98 3g

    ReplyDelete
  5. Bueno, IMPRESIONANTE. Te estoy escribiendo desde una TbooK 16. Ojala me hubiera topado con vosotros antes de comprarla. La consegui en Banggood y me parecio estupenda para un escolar obligado a libros electronicos. El problema que con el uso se reinicia. Vivo en Madrid y si me puedes contactar a amirkaramehmedovic1@gmail.com te lo agradeceria de sobremanera.
    Salu.
    Amir



    ReplyDelete
  6. Me dice que el flash esta bien y todo correcto pero sigue sin arrancar.

    ReplyDelete
  7. Hola mi tablet teclast x98 no carga la batería y solo abre Android tiene la pantalla lluviosa y pareciera mal flashes por lo q vengo leyendo. Mi novio la quiso arreglar desinflando todo y instalando de nuevo y quedo así. Ayudar x favor la necesito para la universidad 🙏🏼

    ReplyDelete