pas d'autorisations fastboot - fastboot et adb ne fonctionnent pas

31

Je suis en train de débloquer mon téléphone Moto à l' aide de la BAD , mais je quand je fais que fastboot devicesje continue à recevoir

no permissions   fastboot

Même les sudo fastbootappareils n'aident pas

avec sudo je reçois ce sudo: fastboot: command not found

AIDEZ-MOI!!

Rupali
la source

Réponses:

57

Essayez d'utiliser sudo $(which fastboot)

par exemple sudo $(which fastboot) devices

également sudo $(which fastboot) oem unlock

Srinivas Gowda
la source
Ça a marché!! Merci Srinivas ..
Rupali
heureux d'avoir pu aider :)
Srinivas Gowda
6
Il doit y avoir une meilleure solution, ce n'est pas sûr et ce n'est pas une bonne pratique de simplement tout exécuter avec les autorisations root.
elichai2
Fastboot nécessite- t-il sudo?
IgorGanapolsky
25

Trouvé une meilleure solution ici:
https://stackoverflow.com/a/28127944/1621927

Voici le commentaire:

Au lieu de forcer les autorisations via sudochaque fois que vous devez exécuter fastboot, vous pouvez résoudre définitivement le problème:

  1. utiliser lsusbpour identifier votre appareil USB VendorID
  2. configurer udev pour définir les autorisations appropriées lorsque votre appareil est branché
  3. profit!

En bonus - il sera fixé pour adb .

Par exemple, dans mon cas (pour «Megafon SP-A20i»):

$ fastboot devices
no permissions  fastboot
$ sudo fastboot devices
[sudo] password for kaa: 
MedfieldA9055F28    fastboot
$ 

Corrigeons:

Tout d'abord, nous devons identifier l'appareil:

a) recherchez le numéro de bus USB (piratage: je sais que l'appareil est basé sur Intel)

$ fastboot -l devices
no permissions         fastboot usb:1-1.2
$ lsusb |grep 001 |grep -i intel
Bus 001 Device 044: ID 8087:09ef Intel Corp. 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
$ 

b) recherchez d'autres appareils Intel:

$ lsusb |grep 8087
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 044: ID 8087:09ef Intel Corp. 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
$ 

Les concentrateurs ne sont pas vraiment des smartphones, donc - l'ID du fournisseur USB dont nous avons besoin est "8087".

Ensuite, configurez udev(vous devez remplacer la valeur "idVendor" par la vôtre):

$ sudo sh -c "echo '# Megafon SP-A20i' >> /etc/udev/rules.d/51-android.rules"
$ sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\", MODE=\"0666\", GROUP=\"plugdev\"' >> /etc/udev/rules.d/51-android.rules"
$ sudo service udev restart
udev stop/waiting
udev  start/running, process 1821
$ 

Troisièmement, rebranchez votre appareil pour permettre udev d'effectuer sa magie.

Vérification finale:

$ fastboot -l devices
MedfieldA9055F28       fastboot usb:1-1.2
$ adb devices
List of devices attached 

$ fastboot reboot
rebooting...

finished. total time: 0.253s
$ sleep 90
$ adb devices
List of devices attached 
MedfieldA9055F28    device

$ 

Voila!

elichai2
la source
2
Il y a une bonne liste d'ID de fournisseurs Android sur wiki.cyanogenmod.org/w/UDEV
Ehtesh Choudhury
3
Il y a une liste officielle ici: developer.android.com/studio/run/device.html
elichai2
2
Vous en aurez également besoin sudo udevadm trigger.
Jonas G. Drange
Considérez le mode "0664".
naXa
1
C'est la bonne réponse. En fait, c'est la seule réponse. L'utilisation sudon'est pas une solution.
Gaurav Gandhi
5

Ma solution

Grâce à elichai2 et à ce lien et à cette liste, j'ai pu résoudre mon problème d'autorisation de démarrage rapide .

J'ai le Google Nexus 6P, j'ai donc utilisé ce qui suit pour mon ID de fournisseur:

Google - 18d1


51-android.rules

Si vous utilisez la commande suivante:

sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\" ..."

copiez-le exactement. J'étais déjà root et j'ai essayé de copier uniquement la partie d'écho qui m'a donné des résultats indésirables. Fondamentalement, il place le \ "dans le fichier .rules plutôt que d'interpréter la barre oblique comme le caractère d'échappement.

Je suggère d'utiliser ce qui suit si vous créez déjà le fichier .rules en tant que root (utilisez votre ID de fournisseur).

echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"' >> /etc/udev/rules.d/51-android.rules


Udev Reload and Trigger

J'ai rechargé les règles udev, puis j'ai lancé la commande de déclenchement. J'ai également débranché et branché l'USB pour faire bonne mesure.

udevadm control --reload
udevadm trigger


Fastboot

En tant qu'utilisateur non privilégié, j'ai ensuite couru:

fastboot devices

et cela a fonctionné comme souhaité. J'espère que cela peut être utile ou utile à quiconque éprouve des problèmes avec le problème des autorisations.

Brandon Authier
la source
Sympa, j'ai donné le lien vers la liste en réponse à mon commentaire.
elichai2
udevadmin: commande introuvable
IgorGanapolsky
1
@IgorG. Mes excuses pour une réponse si tardive. J'ai corrigé la faute de frappe ci-dessus. Il aurait dû être "udevadm".
Brandon Authier
1

quand j'ai besoin d'envoyer des commandes en utilisant fastboot (firmware clignotant sur un appareil htc par exemple) j'installe fastboot en utilisant apt

sudo apt install android-tools-fastboot

puis quand je commence à l'utiliser, la première commande est

sudo -s

toutes les commandes de ce terminal s'exécuteront en tant que commandes d'envoi racine comme

fastboot devices
fastboot reboot-bootloader 
fastboot oem rebootRUU 
fastboot flash zip xxxx.zip

pas besoin de correction ou quelque chose, c'est simple une commande supplémentaire avant de le démarrer

ahmed.ismael
la source
-1

Installez d'abord fastboot depuis apt:

sudo apt install android-tools-fastboot

Exécutez ensuite fastboot avec sudo:

sudo fastboot

Ça marche pour moi.

mrroot5
la source
Fastboot peut également être obtenu à partir du SDK, et il suffit de définir un chemin d'alias dans .bashrc
IgorGanapolsky