miércoles, 18 de noviembre de 2015

Solucionar problema de dispositivo en modo de carga cuando se conecta a una pc [ANDROID][ROOT]



Hace pocos días tenia la necesidad de usar mi dispositivo android en modo de depuración en una PC con Windows, pero me lleve la sorpresa de que aun con los drivers instalados (intel para USB) en Windows 8.1 el dispositivo (Asus Zenfone 2 - ASUS_Z00A) no era reconocido.

Resulta que el smartphone -ASUS_Z00A- con el que realice las pruebas no utiliza el software stock de Asus sino que en su lugar usa la versión de CyanogenMod 12.1 unnoficial, y este anteriormente si permitía la conexión a una PC mediante cable USB ya sea MTP o PTP (pues se tuvo que usar adb y fastboot para la instalación).

Las primeras pruebas a como seria lo mas lógico fueron conectar el dispositivo por medio de un cable USB a la PC, pero lo más extraño y lo que me llamo mas la atención fue el hecho de que el administrador de dispositivos de Windows ni siquiera daba señales de vida de algún nuevo dispositivo conectado, por lo que pensé que el cable USB necesitaba ser el original del dispositivo (si, lo sé, algo descabellado de pensar). Luego cuando tuve acceso al cable USB original descarte que fuera necesario el cable original pues el resultado era el mismo.

Descartada mi primera idea proseguí a buscar en el foro de CyanogenMod unofficial para el Asus Zenfone 2 en busca de otra persona con el mismo problema y entonces encontré la solución. Resulta que por alguna extraña razón la configuración para la conexión vía USB a la PC estaba en modo "charging" por defecto, por lo que debía de configurarse las opciones de MTP y adb. Esto ocasionaba que en la pantalla de Ajustes > Almacenamiento > Conexión con computadora por USB mostrara un mensaje de "el dispositivo se encuentra desconectado" (cuando debería mostrar otra pantalla con una lista para seleccionar MTP/PTP/Carga), asimismo cuando se miraba en las opciones de desarrollo la opción de depuración, esta no se podía activar debido a que el dispositivo estaba en modo de carga.


Dispositivo no encontrado por adb

Para solucionar el problema debemos seguir los siguientes pasos:
  • Instalar los drivers USB de tu dispositivo en caso que no lo hayas hecho anteriormente.
  • Instalar la app Terminal emulator desde la play store.
  • Abrir la app de terminal y escribir lo siguiente:
    • su [enter] y dar permisos de súper usuario (ROOT)
    • setprop sys.usb.config mtp,adb

  • Ir a Ajustes > Almacenamiento > Menu > Conexion con computadora por USB y seleccionar MTP

En este punto ya deberíamos poder ver nuestro dispositivo usando el protocolo MTP en la ventana de Equipo.



Sin embargo necesitaba activar las opciones de desarrollo! por lo que debemos seguir los siguientes pasos:
  •  Nos iremos al administrador de dispositivos de Windows y veremos algo así:


  •  Actualizamos el driver del dispositivo MTP que aparece con un icono de advertencia:






 
Driver adb para dispositivo intel

Ahora podemos ver nuestro dispositivo como adb desde el administrador de equipos de Windows:



Activamos las herramientas de desarrollo y usando el comando adb desde la consola podemos conectar el dispositivo android:




Y ¡listo! Ojala a alguien le pueda servir, Saludos.

NOTA: Las imágenes de la solución fueron desde Windows 7.

Recursos/Fuentes: