martes, 10 de enero de 2017

Flashear cualquier Xiaomi en Linux

Para nadie es un secreto que Windows tiene mucho más soporte que Linux, y si bien muchos preferimos una distro de éste último, hay veces que echamos de menos ciertas herramientas que en Windows nos hacían la vida más fácil. En el caso de Xiaomi tenemos Mi Flash Tool y Mi PC Suite, dos herramientas que no existen en Linux. En éste tutorial veremos como flashear manualmente cualquier dispositivo Xiaomi en una distro de Linux.

Nota: Para flashear a través de modo fastboot requieres que tu equipo tenga bootloader desbloqueado, en el caso del modo EDL esto no es necesario. Éste tutorial sirve para ambos modos.

Paso 1: Instalar drivers adb y fastboot

Instalar los drivers adb y fastboot es muy sencillo, bastará con abrir el terminal y ejecutar los siguientes codigos:

sudo apt-get install android-tools-adb

sudo apt-get install android-tools-fastboot


Con esto ya tendremos adb y fastboot instalados, podemos cerrar el terminal, por ahora no lo necesitaremos

Paso 2: Preparar los archivos

Pueden descargar la ROM más reciente para su dispositivo desde aquí, sólo eligen su dispositivo y la ROM que deseen (Global/China, Estable/Desarollador) y comenzará la descarga.

Una vez terminada la descarga abren su explorador de archivos y la extraen del mismo modo que se haría en Windows, debe quedarles una carpeta así:


Ahora elegiremos el tipo de instalación que queremos, los cuales son los archivos .sh. Los scripts varían dependiendo del dispositivo, pueden ser los siguientes:

flash_all: elimina todo, incluyendo la memoria interna, es la instalación más limpia.
flash_all_except_storage: Elimina todo excepto los archivos que se encuentran en la memoria interna tales como fotos, vídeos, música,etc. No disponible en algunos equipos.
flash_all_except_data_storage: Recomendable sólo para flashear una actualización, no borra los datos de aplicaciones ni la memoria interna.
flash_all_lock: Lo mismo que el flas_all pero éste bloquea el bootloader.

Una vez que hemos elegido el tipo de instalación que queremos nos aseguraremos que el script tiene permisos de ejecución, para esto damos click derecho sobre el archivo, elegimos propiedades y de ahí vamos a la pestaña permisos, debería estar así:

Una vez que tengamos todo listo procederemos a iniciar el flasheo.

Paso 3: Flashear

Damos click derecho sobre la carpeta en la que tenemos la ROM y seleccionamos abrir en terminal.

Reiniciamos nuestro equipo en modo fastboot (volumen abajo y encendido) o EDL dependiendo de nuestra necesidad y conectamos el equipo.

Lo primero que haremos será comprobar que la PC reconoce nuestro equipo con el comando sudo fastboot devices,, debería arrojar una linea de varios números seguido de la palabra "fastboot" (Ver ejemplo en la captura), si no lo detecta repetir el paso uno y reiniciar la PC de ser necesario.

Una vez que comprobamos que nuestro equipo es reconocido ejecutaremos el script con el comando sudo sh flas_all.sh Cambiar "flash_all.sh" por el tipo de instalación que eligieron, por ejemplo si quieres flashear como actualización ponen "flash_all_except_data_storage.sh". Presionamos enter y comenzará el flasheo:


Una vez que termine de flashear el equipo se reiniciará automáticamente (Es posible que no se reinicie automáticamente si flashean en modo EDL, en cuyo caso sólo basta con dejar presionado el botón de encendido durante algunos segundos).

Como vemos es un proceso mucho más sencillo de lo que a priori podría parecer, esperemos que en algún futuro Xiaomi decida darle soporte a Linux y podamos usar tanto Mi Flash Tool como Mi PC Suite

lunes, 2 de enero de 2017

Revivir Xiaomi con Hardbrick


En ocasiones, cuando el usuario prueba novedades en el móvil como roms nuevas, flasheo de archivos o modificacion de archivos del sistema, el móvil puede quedar inusable o brickeado, es decir, como un ladrillo, un lindo pisapapeles caro de marca Xiaomi.

Hay dos tipos de brick: softbrick y hardbrick. Soft proviene de software y es cuando el sistema del teléfono no inicia, puede quedarse estancado en la animación de inicio (bootloop). En este caso con un flasheo utilizando Miflash puede revivirse. Pero.. ¿Qué pasa cuando el teléfono no enciende, no responde a ningún botón o combinación de botones? Felicidades, el teléfono tiene un hardbrick.

Cuando esto suceda, no hay que temer, mientras contemos con un cable deep flash, conexión a internet y una computadora. ¿Cable deep flash? ¿Qué es esto? Podemos comprar uno en tiendas en línea como aliexpress, o elaborarlo de manera casera.

Antes de iniciar, cabe destacar que éste método no se recomienda emplearlo en dispositivos vivos encendidos o que no estén en estado de hardbrick. Hay testimonios de que aquellos dispositivos que no pueden entrar a modo EDL pueden flashearse de esta manera, siempre y cuando estén apagados, sin embargo ésto solo se ha probado en un dispositivo completamente brickeado. En caso de cualquier percance, el usuario asume la responsabilidad de sus actos.

Elaboración de un cable deepflash

Componentes

  • Cable mini USB de datos.
  • Materiales para soldar (recomendado) o cables delgados para puentear.
  • Switch de tipo 0 - 1. (Recomendado). Se puede emplear un switch de botón, pero es necesario mantener presionado el switch para cerrar el circuito.
  • Exacto o rasuradora para pelar los cables.
  • Cinta eléctrica de aislar.

Instrucciones


Lo que se busca obtener, es un cable que siga el diagrama indicado en la figura de arriba. Para ello seguir los siguientes pasos:

  1. Tomar el cable usb y pelarlo ligeramente del centro. Cuidar que los cables internos no se rompan.
  2. Pelar ligeramente el cable de color negro y de color verde, de manera que puedan hacer contacto. No es necesario una abertura grande. 
  3. Hacer contacto entre el switch y cada cable. Para ello se puede emplear un cable delgado como puente entre el cable verde y el switch y el cable negro y el switch. Se recomienda soldar directamente los cables al switch y después proteger con una cinta de aislar. El resultado debe quedar similar a la siguiente figura:


En la figura de abajo se observa que los cables rojo y blanco estan en medio del switch y los cables verde y negro estan soldados a cada uno de los costados del switch, para cerar el circuito. Al final, la cinta de aislar protege los cables y el switch.


Felicitaciones, ya tenemos el cable deep flash. Ahora es momento de revivir a los caidos al móvil.

Proceso de deep flash en móvil Xiaomi

Requisitos

Instrucciones

  1. En la PC, abrir el administrador de dispositivos de Windows. En windows 10: Configuracion > Dispositivos > Desplazarse hacia abajo hasta encontrar Administrador de dispositivos.
  2. Abrir el programa de Xiaomi MiFlash y elegir la ROM descargada.
  3. Conectar el cable deep flash en el dispositivo, no conectar a la computadora todavía.
  4. Encender el circuito. En caso de usar un switch, presionar el botón o activar el 1 del switch 0-1. 
  5. Conectar el cable a la computadora.
  6. Esperar 15 segundos con el cable en ese estado y apagar el switch.
  7. La computadora indicará que está instalando drivers. Debe indicar que se detectó un puerto COM de nombre Qualcomm HS-USB QLoader 9008, si indica 900E quiere decir que no lo está detectando correctamente.

  8. En el caso de la imagen, marca un signo de admiración porque cuando lo hice no tenía desabilitada la
  9. comprobación de firmas de los drivers, pero no debe marcar este signo.
  10. Una vez instalados los drivers y el dispositivo detectado, hacer clic en el botón refresh de MiFlash. El dispositivo debe aparecer en la lista de la aplicación, tal como se muestra en la imagen de abajo.

  11. Hacer clic en el botón flash y esperar 10 minutos a que termine el flasheo.
  12. Cerrar el programa y desconectar el teléfono. 
  13. Encenderlo con el botón, aquel móvil caído que no respondía a nada, ahora sí encendera. Bienvenido a la vida, querido móvil.

Felicidades amigo por revivir tu móvil y no  lo vuelvas a dejar en ese estado.  En caso de cualquier duda o indicación adicional, no olvides visitar nuestro grupo de Facebook para realizar tus aportaciones.