7 votes

La tablette i.onik Android sans nom n'est pas reconnue par adb -- adb devices empty

J'ai suivi diverses instructions et j'ai finalement réussi à connecter mon ZTE Blade à mon ordinateur portable Ubuntu pour le débogage USB. La même configuration ne fonctionne pas lorsque j'échange le téléphone par ma tablette "sans nom" i.onik TP10.1-1500DC.

J'ai essayé différents câbles et différents ports USB. Ai-je besoin d'un type de câble spécial pour connecter une tablette pour le débogage USB ?

C'est ce que j'obtiens d'une coquille Root :

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

~#

(Je sais qu'il devrait être possible d'exécuter adb comme non-Root, mais ce test était destiné à écarter les erreurs de permission).

El lsusb est spéciale pour ce périphérique, aucune description textuelle n'est affichée. La première entrée ci-dessous provient d'un autre appareil, la seconde de la tablette. J'ai vérifié cela en exécutant lsusb avec et sans la tablette attachée :

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

Bien sûr, le débogage USB est activé dans les paramètres de la tablette, et je l'ai déjà redémarrée.

D'autres indices ?

1 votes

Vous pouvez vérifier Configurer ADB pour le Nexus 4 sur Ubuntu 11.10 . Peut-être avez-vous omis l'étape de faire connaître votre appareil :)

0 votes

@Izzy : L'ajout de l'ID du fabricant à la adb_usb.ini Le fichier a résolu le problème immédiatement. Merci beaucoup ! Voulez-vous écrire une réponse pour que je puisse l'accepter ?

0 votes

Bien sûr, je viens de le faire. Comme nous avons déjà les détails dans la question liée, je suis resté plus général. Je suis heureux que la question ait été résolue aussi facilement, mais d'un autre côté, c'est exactement ce à quoi je m'attendais :) Profitez-en ! // Btw, pour d'autres machines à mettre en place facilement, vous pourriez également être intéressé par Existe-t-il une installation minimale d'ADB ? -- ce qui m'a finalement convaincu de le faire : Il suffit de copier quelques fichiers, et le tour est joué. Pas besoin du SDK complet si vous n'êtes pas un développeur :)

7voto

Catch22 Points 1240

La réponse d'Izzy est trompeuse. Deux choses sans rapport ont été mélangées (la liste des ID des fournisseurs dans adb d'une part et la configuration des autorisations dans Linux d'autre part).

1) les dispositifs considérés par adb :

Adb a une liste codée en dur d'identifiants de fournisseurs USB qu'il essaie. Par exemple, les téléphones mobiles HTC utilisent 0xbb4, qui est listé ( fichier source usb_vendors.c ), alors que 0x2207 ne l'est pas.

El uniquement Une façon d'ajouter à cette liste (sans Parcheando la source) est de mettre les ID des fournisseurs dans le fichier $HOME/.android/adb_usb.ini ligne par ligne. (HOME est bien configuré ?)

Aucun câble spécial n'est nécessaire.

2) configuration de la permission pour l'accès non-Root :

L'utilisation de udev-fiddling permet à l'utilisateur d'accéder, par exemple, à /dev/bus/usb/002/009 (changement de numéro de bus/numéro de périphérique ; voir lsusb pour les valeurs actuelles).

Les détails de cette opération ne sont pas pertinents pour la question de l'affiche originale, puisqu'il a exécuté adb en tant que Root.

3voto

Milner Points 533

Comme décrit dans Configurer ADB pour le Nexus 4 sur Ubuntu 11.10 sous Linux, il est important de figurer dans l'une ou l'autre des listes suivantes ~/.android/adb_usb.ini (basé sur l'utilisateur) ou /etc/udev/rules.d/51-android.rules . La syntaxe des deux fichiers diffère : alors que dans le premier cas, il suffit d'ajouter l'identifiant du vendeur ( echo 0x18d1 >> ~/.android/adb_usb.ini pour un Nexus 4), l'entrée pour la règle UDEV est un peu plus complexe. Les détails peuvent être trouvés dans la question liée (ou plutôt ses réponses).

Dans le cas de krlmlr, il ne s'agissait pas d'un "ou bien", mais apparemment les deux parties étaient nécessaires (je n'ai jamais eu ce problème auparavant, et je n'ai même jamais utilisé l'outil de gestion de l'information). adb_usb.ini -- mais cela ne veut pas dire qu'il n'y a pas de telles exceptions). En ajoutant le dispositif dans les deux endroits (ce qui ne peut pas faire de mal de toute façon), le dispositif est finalement apparu.

Deux remarques supplémentaires : Après avoir modifié les règles UDEV, le service UDEV doit être redémarré pour accepter les changements. Sur Ubuntu, cela peut être fait via sudo service udev restart (alternativement, vous pouvez simplement forcer UDEV à recharger ses règles en utilisant udevadm control --reload-rules ). Si votre appareil n'est toujours pas détecté, il est fort probable qu'il était branché pendant que vous effectuiez les modifications ; vous devez alors débrancher et rebrancher le câble USB. Bien entendu, Débogage USB doit être activé dans votre appareil :)

Exemple

par krlmlr

Sur la base de la sortie suivante de lsusb pour l'appareil Android en question :

Bus 002 Device 009: ID 2207:0010  

il était nécessaire de créer /etc/udev/rules.d/51-android.rules como root avec le contenu suivant :

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

y pour créer ~/.android/adb_usb.ini avec le contenu suivant :

0x2207

Le premier est nécessaire pour permettre aux utilisateurs réguliers (qui appartiennent au groupe plugdev ) pour accéder à l'appareil. Notez le masque d'autorisation 0660 au lieu de l'habituel 0666 qui est plus faible du point de vue de la sécurité (le second permet un accès "monde", alors que le premier ne permet qu'un accès "utilisateur et groupe"). La seconde est nécessaire pour que adb tente de parler à l'appareil en premier lieu. Après ça :

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

et débrancher+rebrancher votre appareil Android. Ensuite,

adb devices

a finalement montré l'appareil Android.

Remarque d'Izzy :

Pour mon LG Optimus 4X HD il suffisait d'ajouter une ligne à /etc/udev/rules.d/51-android.rules :

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

Peut-être que le SYMLINK fait la différence que je n'ai pas eu besoin de l'entrée supplémentaire dans le fichier ~/.android/adb_usb.ini .

0 votes

Notez que j'ai déjà ajouté ma tablette à un fichier dans rules.d . D'après ce que j'ai compris, je devais faire les deux : Le réglage dans le .ini est nécessaire pour les dispositifs "sans nom" dont le fichier adb ne sait pas qu'il exécute Android, tandis que les rules.d est nécessaire pour pouvoir accéder à l'appareil sans root privilèges.

0 votes

Je n'ai jamais ajouté de périphérique à ce fichier ini, toujours seulement au fichier de règles UDEV. Peut-être avez-vous manqué quelque chose en faisant cela ? À ma connaissance, l'une des deux variantes est suffisante. Dans mon cas, la partie UDEV fonctionne bien, et j'ai lu de nombreux rapports où la variante du fichier ini le faisait sans aucun ajustement spécial d'UDEV.

0 votes

Non, après ton commentaire, la seule chose que j'ai fait c'est Parcheando la .ini et cela a fonctionné sans même avoir à redémarrer. udev comme utilisateur régulier. (J'ai dû redémarrer le adb serveur, cependant). J'avais déjà ajouté le périphérique aux règles, sans succès. Cette information particulière sur le .ini est très difficile à trouver, créons un Q&A qui permette enfin de faire le tri :-)

0voto

mlclopez Points 1

Essayez d'éditer adb_usb.ini et d'ajouter l'identifiant de votre appareil. Vous pouvez le trouver en allant dans le gestionnaire de périphériques, trouver l'"Interface Android ADB", double-cliquer dessus, aller dans l'onglet "Détails", et dans le menu déroulant "Propriété", sélectionner "Identités matérielles" dans la case en dessous intitulée "Valeurs". \VID_2207 &PID_0010&MI_01" Les chiffres peuvent être différents en fonction de l'identifiant du fournisseur de votre appareil, par exemple mon identifiant est "2207". Ouvrez le fichier adb_usb.ini situé dans les dossiers ci-dessous et ajoutez l'identifiant de votre appareil au format hexadécimal.

par exemple, l'identifiant de mon appareil est "2207", je le mets ici sous la forme "0x2207".

Il est généralement situé dans

  1. XP : \Documents et Paramètres.Android\
  2. Windows 7 : \Users.android\
  3. Windows 7 : \Users.android\

Mais si le dossier n'existe pas, essayez de le créer en utilisant cmd. Et si le fichier adb_usb.ini n'existe pas non plus, vous pouvez le créer en utilisant le bloc-notes, en collant uniquement l'identifiant de votre appareil et en le sauvegardant dans le dossier .Android.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X