7 votos

La tablet Android i.onik sin nombre no es reconocida por adb -- adb devices empty

He seguido varias instrucciones y finalmente pude conectar mi ZTE Blade a mi portátil Ubuntu para la depuración USB. La misma configuración no funciona cuando intercambio el teléfono por mi tablet "sin nombre" i.onik TP10.1-1500DC.

He probado con diferentes cables y diferentes puertos USB. Necesito un tipo de cable especial para conectar una tablet para la depuración USB?

Esto es lo que obtengo de una cáscara de root:

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

~#

(Sé que debería ser posible ejecutar adb como no-Root, pero esta prueba era para descartar errores de permisos).

El lsusb es especial para este dispositivo, no se muestra ninguna descripción textual. La primera entrada de abajo es de otro dispositivo, la segunda entrada de la tablet. He verificado esto ejecutando lsusb con y sin la tablet conectada:

Bus 002 Device 005: ID 10d5:5000 Uni Class Technology Co., Ltd 
Bus 002 Device 009: ID 2207:0010  

Por supuesto, la depuración USB está activada en la configuración de la tablet, y ya la he reiniciado.

¿Alguna otra pista?

1 votos

Es posible que desee comprobar Configuración de ADB para el Nexus 4 en Ubuntu 11.10 . Tal vez haya omitido el paso de dar a conocer su dispositivo :)

0 votos

@Izzy: Añadiendo el ID del fabricante a la adb_usb.ini solucionó el problema de inmediato. Muchas gracias. ¿Te importa escribir una respuesta para que pueda aceptarla?

0 votos

Claro, lo acabo de hacer. Como ya tenemos los detalles en la pregunta enlazada, la mantuve más general. Me alegro de que se haya resuelto tan fácilmente -- pero por otro lado, eso era justo lo que esperaba :) ¡Que lo disfrutes! // Por cierto, para otras máquinas para configurar fácilmente, también podría estar interesado en ¿Existe una instalación mínima de ADB? -- que fue lo que finalmente me convenció de hacerlo: Sólo tienes que copiar unos pocos archivos, y ya está. No hay necesidad de todo el SDK si no eres un dev :)

7voto

Catch22 Puntos 1240

La respuesta de Izzy es engañosa. Se mezclaron dos cosas no relacionadas (la lista de ID de proveedores en adb por un lado y la configuración de permisos en Linux por otro).

1) dispositivos considerados por adb:

Adb tiene una lista codificada de IDs de proveedores de USB que intenta. Por ejemplo, los teléfonos móviles HTC utilizan 0xbb4, que aparece en la lista ( archivo fuente usb_vendors.c ), mientras que 0x2207 no lo es.

El sólo forma de añadir a esta lista (sin Parcheando la fuente) es poner los ID de los proveedores en el archivo $HOME/.android/adb_usb.ini , línea por línea. (¿El hogar está configurado correctamente?)

No se necesita ningún cable especial.

2) configuración de los permisos para el acceso no root:

La manipulación de udev es para dar acceso al usuario a, por ejemplo, /dev/bus/usb/002/009 (cambio de número de bus/ número de dispositivo; véase lsusb para los valores actuales).

Los detalles de esto no son relevantes para la pregunta del cartel original, ya que ejecutó adb como Root.

3voto

Izzy Puntos 45544

Como se describe en Configuración de ADB para el Nexus 4 en Ubuntu 11.10 , en Linux es importante aparecer en cualquiera de las dos listas ~/.android/adb_usb.ini (basado en el usuario) o /etc/udev/rules.d/51-android.rules . La sintaxis de ambos archivos difiere: mientras que en el primer caso basta con añadir el identificador de proveedor ( echo 0x18d1 >> ~/.android/adb_usb.ini para un Nexus 4), la entrada de la regla UDEV es un poco más compleja. Los detalles se pueden encontrar en la pregunta vinculada (o más bien sus respuestas).

En el caso de krlmlr, no se trataba de un "o", sino que aparentemente se necesitaban ambas partes (nunca me había pasado, y ni siquiera había utilizado el adb_usb.ini -- pero eso no significa que no existan esas excepciones). Al añadir el dispositivo en ambos lugares (que no puede hacer daño de todos modos), el dispositivo finalmente apareció.

Dos observaciones adicionales: Después de cambiar las reglas de UDEV, es necesario reiniciar el servicio UDEV para aceptar los cambios. En Ubuntu, esto se puede hacer a través de sudo service udev restart (alternativamente, puede forzar a UDEV a recargar sus reglas usando udevadm control --reload-rules ). Si su dispositivo sigue sin ser detectado, lo más probable es que estuviera enchufado mientras realizaba los cambios; entonces deberá desconectar y volver a conectar el cable USB. Por supuesto, Depuración USB debe estar activado en su dispositivo :)

Ejemplo

por krlmlr

Basado en la siguiente salida de lsusb para el dispositivo Android en cuestión:

Bus 002 Device 009: ID 2207:0010  

era necesario crear /etc/udev/rules.d/51-android.rules como root con el siguiente contenido:

SUBSYSTEM=="usb", ATTR{idVendor}=="2207", ATTR{idProduct}=="0010", MODE="0660", GROUP="plugdev"

y para crear ~/.android/adb_usb.ini con el siguiente contenido:

0x2207

El primero es necesario para permitir a los usuarios regulares (que pertenecen al grupo plugdev ) para acceder al dispositivo. Tenga en cuenta la máscara de permiso 0660 en lugar del frecuentemente visto 0666 que es más débil desde el punto de vista de la seguridad (el segundo permite el acceso "mundial", mientras que el primero sólo permite el acceso "de usuarios y grupos"). La segunda es necesaria para que adb intentos de hablar con el dispositivo en primer lugar. Después de eso:

sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
adb kill-server

y desenchufa+conecta tu dispositivo Android. Entonces,

adb devices

finalmente mostró el dispositivo Android.

Comentario de Izzy:

Para mi LG Optimus 4X HD , bastaba con añadir una línea a /etc/udev/rules.d/51-android.rules :

SUBSYSTEMS=="usb", ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61a6", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"

Tal vez el SYMLINK hace la diferencia de que no necesitaba la entrada extra en ~/.android/adb_usb.ini .

0 votos

Tenga en cuenta que ya he añadido mi tablet a un archivo en rules.d . A mi entender, tenía que hacer ambas cosas: El ajuste en el .ini es necesario para los dispositivos "sin nombre" de los cuales adb no sabe que ejecuta Android, mientras que el rules.d es necesario para acceder al dispositivo sin root privilegios.

0 votos

Nunca he añadido un dispositivo a ese archivo ini, siempre sólo al archivo de reglas UDEV. ¿Quizás se te haya escapado algo al hacerlo? Que yo sepa, una de las dos variantes es suficiente. En mi caso la parte del UDEV funciona bien, y he leído muchos informes en los que la variante del archivo ini lo hacía sin ningún ajuste especial del UDEV.

0 votos

No, después de tu comentario lo único que hice fue Parcheando el .ini archivo, y funcionó sin tener que reiniciar udev como usuario normal. (Tuve que reiniciar el adb servidor, sin embargo). Ya había añadido el dispositivo a las reglas sin éxito. Esta información particular sobre el .ini es muy difícil de encontrar, vamos a crear un Q&A que finalmente ordene las cosas :-)

0voto

mlclopez Puntos 1

Intente editar adb_usb.ini y añada el identificador de su dispositivo, puede encontrarlo yendo al administrador de dispositivos, busque la "Interfaz ADB de Android", haga doble clic en ella y vaya a la pestaña de detalles, y en el menú desplegable de "Propiedades" seleccione "Identificadores de hardware" en el cuadro de abajo etiquetado como "Valores" Debería ver algo como "USB \VID_2207 &PID_0010&MI_01" Los números pueden ser diferentes en función de la identificación del proveedor del dispositivo, por ejemplo, mi identificación del proveedor es "2207" No abra el adb_usb.ini ubicado en las carpetas siguientes y añada la identificación del dispositivo en formato hexadecimal

por ejemplo mi id de dispositivo es "2207" lo pondré como "0x2207"

Suele estar situado en

  1. XP: \Documents y Settings.Android
  2. Windows 7: \Users.android\
  3. Windows 7: \Users.android\

Pero si la carpeta no existe intente crearla usando cmd. Y si el archivo adb_usb.ini tampoco existe puedes crearlo usando el bloc de notas y pegando sólo el id de tu dispositivo y guardarlo en la carpeta .Android.

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