8 votos

ADB en Ubuntu no reconoce el Nexus 4

No consigo que mi teléfono Nexus 4 sea reconocido por ADB en Ubuntu (12.04 con un kernel más nuevo instalado: 3.8.0-30-generic). El modo de desarrollador está activado en el teléfono.

El dispositivo aparece en lsusb :

$ lsusb
...
Bus 003 Device 034: ID 18d1:4ee5 Google Inc. 
...

Pero cuando corro dispositivos adb Me sale una lista vacía. He encontrado muchos posts en internet sobre este problema pero ninguno resuelve el problema. Hay dos soluciones.

  • Añadir una regla para /etc/udev/rules.d/51-Android.rules . He encontrado varias variaciones para el contenido de este archivo. En la mayoría de los casos un idVendedor y idProducto debe establecerse en función de la salida de lsusb . A continuación, algunos ejemplos que he probado

    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee5", MODE="0666" GROUP="androiddev", SYMLINK+="android%n" SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", SYMLINK+="android_adb", MODE="0666" SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee5", MODE="0666", OWNER="my-login"

Después de añadir esto, establecí los permisos para el archivo de la regla a 644 y reinicié el PC/ reinicié udev, reinicié el teléfono y conecté mi Nexus 4.

  • Añade el identificador de proveedor a ~/.Android/adb_usb.ini.

    echo 0x18d1 >> ~/.android/adb_usb.ini

Corrí dispositivos adb como Root y usuario normal, pero solo obtengo una lista vacía:

$ adb devices
\* daemon not running. starting it now on port 5037 \*
\* daemon started successfully \*
List of devices attached 

¿Alguna idea sobre cómo resolver este problema? Cualquier ayuda o sugerencia será muy apreciada.

7voto

Andy Brudtkuhl Puntos 1714

No basta con hacer el Opciones de desarrollo aparecen en el menú de ajustes (tocando repetidamente el número de compilación). En esa página, hay una opción Depuración USB , que por defecto está desactivado.

Cuando la depuración USB está activada, al conectar el dispositivo a un PC mediante USB aparece la notificación "Depuración USB conectada", independientemente de que adb se está ejecutando actualmente en el PC.

0 votos

¿Podría detallar su respuesta? ¿Dónde puedo encontrar esta "página"?

0 votos

0 votos

Estoy tratando de conectarme a través de adb porque la pantalla táctil está rota. No tengo forma de acceder a ninguno de sus menús y aplicaciones. ¿Habría alguna otra forma de activar esta función de depuración USB?

1voto

mluebke Puntos 2588

Para un conjunto de instrucciones más completo de cómo obtener las reglas udev Nexus 4 en ubuntu configurado siga estas instrucciones:

Cómo encontrar el Vendor ID de su dispositivo

Puedes encontrar el Vendor ID de los dispositivos conectados por usb con el siguiente comando de linux:

lsusb

Esto generará una lista de todos los dispositivos USB conectados, así que asegúrate de que tu dispositivo está conectado antes de hacerlo.

Bus 001 Device 004: ID 18d1:4ee2 Google Inc.

La primera parte del campo después de ID es el ID del proveedor (18d1) y la segunda parte corresponde al modo en el que está conectado el dispositivo. En este caso 4ee2 equivale al modo MTP con la depuración activada.

CREAR REGLA UDEV PARA NEXUS 4

Para poder detectar el teléfono Nexus 4 en Ubuntu, lo primero es crear las reglas udev adecuadas que permitan al sistema detectar el teléfono.

Estas reglas udev deben ser capaces de manejar 4 casos diferentes:

  • teléfono conectado en modo MTP (depuración USB activada o desactivada)
  • teléfono conectado en modo PTP (depuración USB activada o desactivada)
  • teléfono conectado en modo Fastboot
  • teléfono conectado en modo de recuperación

Se declararán en /etc/udev/rules.d/99-android.rules . Si el archivo ya existe, sólo hay que añadir el contenido al final del mismo.

# sudo gedit /etc/udev/rules.d/99-android.rules

Hay que añadir el contenido de abajo. Asegúrese de reemplazar el tu-login con el nombre de usuario con el que ha iniciado la sesión.

# Google Nexus 4 16 Gb
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", MODE="0666", OWNER="your-login" # MTP media (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0666", OWNER="your-login" # MTP media with USB debug on(multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee5", MODE="0666", OWNER="your-login" # PTP media (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee6", MODE="0666", OWNER="your-login" # PTP media with USB debug on (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0666", OWNER="your-login" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="your-login" # Recovery

Reiniciar los servicios

Una vez hecho esto, hay que reiniciar el servicio udev.

# sudo service udev restart

Tenga en cuenta que en algunos casos también es necesario reiniciar adb con:

adb kill-server
adb start-server

O reiniciar completamente el sistema con:

sudo reboot -n

Reconectar el cable USB (en lugar de reiniciar) también podría funcionar.

Autorizar la conexión ADB

Si acabas de habilitar la opción de depuración ADB en tu teléfono y has creado esta nueva conexión, el comando ADB podría listar tu dispositivo como unauthorized . Sólo tienes que comprobar la pantalla de tu teléfono para autorizar la nueva conexión.

Créditos

La mayor parte de esta información se encontró en http://bernaerts.dyndns.org/Android/267-Android-nexus4-Root-twrp-ubuntu . Esta es una guía del rooting para el nexus 4 en ubuntu. Sólo he utilizado el primer paso de esta guía.

0 votos

Acabo de probar esta solución desde Ubuntu 14.04 y aún después de reiniciar el sistema no se reconoce el Nexus 4.

0 votos

¿Intentaste iniciar adb con permisos de Root? Vea una de las otras respuestas sobre Ubuntu 14.04 + ¿comprobó el modo de conexión USB en el dispositivo?

0 votos

Sí, lo he probado con sudo . El teléfono se conecta en modo MTP con la depuración desactivada.

1voto

bwillan Puntos 41

Estoy ejecutando Ubuntu 14.04 LTS y he descubierto que tengo que ejecutar adb con permisos de Root para que detecte mi teléfono. Ahora mismo he ejecutado (desde el directorio platform-tools) ./adb devices y se ha encontrado con una lista vacía. He reiniciado adb como Root ejecutando ./adb kill-server y luego sudo ./adb start-server . Ahora adb devices devoluciones:

List of devices attached 
01d17087d29dec60    device

Mientras que antes se veía así:

List of devices attached

0 votos

Matando, entonces empezar como Root funcionó para mí. Usando un Nexus 5

1 votos

Acabo de probar esta solución en Ubuntu 14.04 y sigo obteniendo una lista de dispositivos vacía.

0voto

Julien Nicoulaud Puntos 257

FYI: Recientemente he actualizado la versión de Android de 4.4 a 5.0 en mi teléfono y ADB ya no mostraría el dispositivo como conectado. Parece que donde el método de conexión USB. MTP era correcto antes de que ahora tiene que ser PTP .

0 votos

¿Podría detallar su respuesta? ¿Dónde hay que ajustar exactamente este método?

0 votos

Como dije, MTP era correcto ANTES, DESPUÉS de la actualización PTP era correcto.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X