lunes, 22 de septiembre de 2014

Coby Kyros MID7033 Bootlooping o Briqueada en el arranque II

Bien, ya que la entrada tuvo buena repercusión entre visitas y comentarios públicos y privados. Explicaré lo mas detalladamente posible como recuperé en mi caso a mi Coby Kyros Mid7033-4, con el bootlooping tal como comente en la entrada coby kyros mid7033 bootlooping o Briqueada en el arranque.

Para empezar, les comento que para realizar la recuperación, primero necesité de algunos archivos adicionales, y lo realicé integramente en Linux, específicamente en Debian. Luego lo realicé en Window$ 7 con algunos problemas menores.


Primero descargaremos las herramientas necesarias que se encuentran en el zip, cuyo link está al final de esta entrada.

Dentro de este zip encontraremos los archivos necesarios y las dos utilidades para luego conectarnos por ADB.



Es importante que tengan alguna idea del uso de ADB, si no la tienen yo explicaré muy por arriba el uso mínimo con el cual deberían poder levantar su tablet. Para mayores referencias del uso de ADB googleen que también la información y solución a los diversos problemas es extensiva.



ADB


Para los que no conocen ADB, es una herramienta perteneciente al SDK de android, creado por Google para conectarse a los dispositivos y realizar variadas tareas de mantenimiento como, instalación, desinstalación, administaración de archivos, depuración de programas propios y un sinfín de usos más.

Para poder utilizar esta herramienta deberán activar la depuración por USB en sus dispositivos, dicha opción se encuentra dentro del menú configuración.

Lo anterior es viable para cualquiera de los usos anteriores, no obstante cuando nuestra tablet se bloqueó, e intentemos acceder por ADB mientras el logo de Coby se presenta, veremos que primero no la detecta y luego de unos segundos (obviamente mientras intentamos contactarla), la detectará pero aparecerá la palabra “offline”, al lado del ID del dispositivo, posteriormente se reseteará y el logo de Coby aparecerá nuevamente.



Recovery


Nuestro dispositivo posee un recovery al igual que cualquier dispositivo con Android. Este recovery nos permite, en caso de tener problemas con nuestra tablet, realizar la limpieza de las particiones que utilizamos, a la vez que se podrían instalar actualizaciones.



El recovery que trae nuestro dispositivo es muy limitado y de dudosa utilidad, ya que como comenté en una de las entradas anteriores, al realizar los wipe a todas las particiones esperando solucionar algo, (obviamente solucioné nada), y luego al arrancar nuevamente mi tablet, supuestamente “desde cero”, pues ahí estaban mis archivos, y alguna aplicación también.



Para ingresar a este modo deben primero tener la tablet completamente apagada.

Si es el caso del bootlooping, solo podrán apagarla, presionando el boton de reset con un clip para papeles en el panel trasero. Luego presionan y mantienen el botón “power” y al momento de aparecer el logo de “COBY”, sin soltar “power”, presionan y mantienen  “bajar volumen”, hasta que aparece el recovery<3e>.



Que bien no?, pues si, pero no nos sirve de nada. Esta introducción es para que sepan un poco que es lo que van a hacer en el intento de recuperar su tablet.



El usuario Vampirefo modificó el recovery<3e>, para que habilite el ADB, y de esta forma poder lanzar  otro recovery utilizando el afamado ClockWorkMod, (para los que no lo conocen les recomiendo que investiguen un poco ya que hay muchísima info en la web).



Referencias:

El texto en este formato y color es el devuelto por la PC Ej: usuario@pc:~$

El texto en este formato y color es el que deben ingresar en la línea de comando Ej: sudo ./adb devices



Comenzamos

Una vez descargado el archivo, descomprimimos el zip, y encontramos una carpeta llamada "7033 Original Vampirefo", el cual es el primer archivo que descargué. Copian todos estos archivos en el directorio raíz de una tarjeta SD.



En lo particular a mi caso fue necesario reemplazar el archivo utscript, por el utscript_32MB, debido a que según la investigación del usuario, existen al menos 3(tres) versiones de memoria. Estas versiones las encontrarán dentro de la carpeta “utscripts”. Allí están, la original (la misma que está dentro de "7033 Original Vampirefo"), otra llamada utscriptgood, y utscript_32MB, esta última fué la que me funcionó. Para el reemplazo es necesario renombrar el archivo “utscript_32MB” a “utscript” por ejemplo. 



Bien, llegados a este paso debemos estar seguros de que  tenemos la herramienta ADB operativa.
Si ya saben utilizar ADB o lo instalaron con anterioridad, salten estos pasos.
Si tienen otro dispositivo con Android sigan estos pasos, no se preocupen que no van tocar nada de este otro dispositivo, solo lo utilizamos para saber que el ADB lo reconoce y los drivers en caso de Windows están correctamente instalados.
1-      Conectan el dispositivo que funciona, con la depuración USB habilitada.
2.1-      Para los usuarios de Linux, (que es el modo en que yo logré recuperar), tienen dentro del zip una carpeta llamada ADB/linux32bit/ dentro de la cual tienen el fichero ADB. Abren un terminal y van hacia la carpeta donde lo descomprimieron por ej.: /home/usuario/RecuperarMid7033/ADB/linux32bit/
Le dan permisos de ejecución a ADB con chmod ugo+x, y luego lo ejecutan con /home/usuario/RecuperarMid7033/ ADB/linux32bit/./adb devices
Les debería aparecer el “ID” del dispositivo conectado seguido de la palabra “online”, si no les aparece “online”, verifiquen googleando la forma de solucionar su problema, ya que como mencioné al inicio, no es intención de esta entrada explicar los bemoles del uso de ADB.
          
     2.2-Para los usuarios de Windows, les recomiendo enormemente que  tengan otro dispositivo con Android, ya que la instalación del driver puede ser un poco engorrosa con nuestra Coby, que se enciende y se resetea.
 
Teniendo este otro dispositivo lo conectan a la PC por medio del cable USB, y dejan que Windows lo detecte e instale. Hecho lo anterior instalamos el “minimal_adb_fastboot”, lo ejecutamos y se nos abrirá una terminal con la ruta donde se instaló. Ejecutamos el comando “adb devices”, y debería aparecer el ID del dispositivo seguido de la palabra “online”.

3-      Si no aparece, nos vamos a Sistema-Adminitrador de Dispostivios y buscamos dentro del hardware presente algo así como “android ADB interface” o similar, hacemos click derecho y seleccionamos “actualizar software”, y le indicamos que busque los *.inf que estan en la ruta ADB\Windows\ADB Drivers_Updated que también están en el zip que les facilité, y esperamos que el proceso finalice.

Si han llegado hasta acá van bien, si tienen problemas con el ADB, drivers de Windows o simils, googleenlo ya que la cantidad de problemas es muy alta pero también son siempre relativamente sencillos de solucionar.

Lo importante es que tengan el ADB operativo con el dispositivo que utilicen, si esto no es así, de nada sirve que sigan con los pasos que continúan. Busquen, y traten de solucionarlo.

Continuamos.

Insertamos la SD con los archivos copiados en la raíz y con la tablet apagada presionamos y mantenemos “subir volumen” + “power” hasta que en la parte superior izquierda de nuestra pantalla aparezca un pequeño letrero que dice “Vampirefo”, soltamos y esperamos. Cuando el proceso finalice (aproximadamente 1 minuto después), colocará un mensaje diciendo algo así como “finished – rebooting now”, la tablet reiniciará sola e iniciará en modo recovery <3e>, modificado para que ADB esté habilitado.








Imagen de la Tablet reiniciada y con el recovery<3e> modificado por Vampirefo





Si lo lograron, pueden seguir con los pasos.

Si la tablet queda freezada y luego de unos minutos no parece responder, apagamos con el boton de reset trasero, retiramos la SD y reemplazamos el utscript por alguno de los restantes.

Ahora que están en el modo de recovery conectamos la tablet a la PC y nos vamos a la PC, abrimos una terminal en Linux o en Windows lanzamos el ADB instalado y comenzamos con los comandos de adb, escriben:    

Windows:
C:\Program Files\Minimal ADB and Fastboot>
adb devices


Linux:

usuario@pc:~$ sudo ./adb devices


List of devices attached

0123456789ABCDEF        recovery

Windows:
C:\Program Files\Minimal ADB and Fastboot>
adb shell


Linux:

usuario@pc:~$ sudo ./adb shell



Con el último comando ingresamos a la Tablet. 

Ejecutamos:

# cw_recovery.sh

/sbin/cw_recovery.sh[13]: kill: 0:00: arguments must be jobs or process IDs/sbin/cw_recovery.sh[13]: kill: /sbin/recovery: arguments must be jobs or process Ids

/sbin/cw_recovery.sh[13]: kill: 1205: No such process

/sbin/cw_recovery.sh[13]: kill: 0:00: arguments must be jobs or process IDs
/sbin/cw_recovery.sh[13]: kill: busybox: arguments must be jobs or process IDs
/sbin/cw_recovery.sh[13]: kill: grep: arguments must be jobs or process IDs
/sbin/cw_recovery.sh[13]: kill: /sbin/recovery: arguments must be jobs or process IDs
Terminated

La Tablet debería de iniciar con el recovery de ClockWorkMod



Imagen de la Tablet con el recovery ClockWorkMod de Vampirefo

Una vez en este punto nos vamos hacia la tablet y veremos que con los botones de “subir volumen” y “bajar volumen”, podremos navegar por las opciones del menú y con el botón “power” seleccionamos la entrada deseada.
Ahora bien, nos desplazamos hasta la opción “mount and storage” y presionamos “power”.


Imagen de la selección mount an storage

Nos desplazamos hasta la opción “mount/sdcard” y presionamos “power”.


Imagen de la selección mount/sdcard


Presionamos el botón “back” (está en la parte frontal del dispositivo).

Volvemos a la PC para continuar con los comando de ADB.

Tipeamos:
flash_image kernel /sdcard/unsecure_boot.img                                        <
mtd: successfully wrote block at 0
mtd: successfully wrote block at 100000
mtd: successfully wrote block at 200000
mtd: successfully wrote block at 300000
mtd: successfully wrote block at 400000
mtd: successfully wrote block at 500000
mtd: successfully wrote block at 600000
mtd: successfully wrote block at 700000
wrote kernel partition
Seguimos con:

flash_image RKer /sdcard/dual_recovery.img                                        <
mtd: successfully wrote block at 0
mtd: successfully wrote block at 100000
mtd: successfully wrote block at 200000
mtd: successfully wrote block at 300000
mtd: successfully wrote block at 400000
mtd: successfully wrote block at 500000
mtd: successfully wrote block at 600000
mtd: successfully wrote block at 700000
mtd: successfully wrote block at 800000
mtd: successfully wrote block at 900000
wrote RKer partition

Formateamos la partición cache:
# format_cache.sh                                                              
Erasing 1024 Kibyte @ 20000000 - 100% complete.
Set volume size to 523313152
Volume ID 0, size 503 LEBs (523313152 bytes, 499.1 MiB), LEB size 1040384 bytes (1016.0 KiB), dynamic, name "cache", alignment 1

Formateamos la partición data:
# format_data.sh                                                               
Erasing 1024 Kibyte @ 68000000 - 100% complete.
Set volume size to 1710391296
Volume ID 0, size 1644 LEBs (1710391296 bytes, 1.6 GiB), LEB size 1040384 bytes (1016.0 KiB), dynamic, name "data", alignment 1
# fo
fold                format_cache.sh     format_system.sh   
for                 format_data.sh    
 
Formateamos la partición system:
# format_system.sh                                                             
umount: can't umount /system: Invalid argument
Erasing 1024 Kibyte @ d00000 -  3% complete.
Skipping bad block at 0x00e00000

Skipping bad block at 0x00f00000
Erasing 1024 Kibyte @ 18200000 - 100% complete.
Set volume size to 392224768
Volume ID 0, size 377 LEBs (392224768 bytes, 374.1 MiB), LEB size 1040384 bytes (1016.0 KiB), dynamic, name "system", alignment 1

Ahora descomprimimos los archivos y se reescriben en sus respectivas carpetas (son muchos archivos y toma su tiempo):
# busybox tar -xzvf /sdcard/7033_system.tgz
system/
system/app/
system/app/HTMLViewer.apk
system/app/NetworkLocation_vmc.apk
system/app/Gallery2.apk
system/app/aldiko-oem-2.00.151.apk
system/app/FlashPlayer.apk
system/app/PicoTts.apk

.............................................
(Aqui siguen una buena cantidad  de archivos que son escritos pero los recorté para no ocupar demasiado espacio sin sentido).

Bien una vez que el proceso termina, volvemos a la tablet y seleccionamos la entrada “reboot system now”, presionamos “power”, seleccionamos “no”, presionamos “power” y listo.

Esos son los pasos que realicé para poder recuperar la MID-7033, una vez más es importante añadir que todo esto es obra del usuario Vampirefo, yo solo seguí los pasos y ahora asiento la forma en que lo  realicé.

Para terminar les dejo unas imagenes tomadas de mi dispositivo recuperado, con la herramienta “monitor” que se encuentra dentro del SDK,   para eclipse.


Imagen de la pantalla inicial de mi dispositivo


Imagen de la pantalla “sobre” de mi dispositivo tomada en estos días.
 




Link del zip que contiene los archivos 

Espero les sea útil la entrada.
Comenten como les fue.

T'T.

Update: 17/05/16

Nuevo Link

T'T.

Update: 21/11/16

Estimados. Si alguno de los lectores/usuarios posee el stock ROM dump de la 3ra versión de la MID7033-4, que solicita el usuario pp_eagle (ctrl+f + pp_eagle para interiorizarse sobre su problema) seguramente a más de uno le sería útil.

pp_eagle:
pego la dirección que posteaste (quizás sea mas legible en el cuerpo del hilo que en los comentarios). La intención es ayudarte.

cita comentario pp_eagle
Enlace utscript para 98MB propiedad de pp_eagle:

https://www.dropbox.com/sh/ong42myfi9567h7/AABEs6NHitymcoi75zyJOO5pa?dl=0

T'T.