nessuna autorizzazione fastboot - fastboot e adb non funzionano


31

Sto provando a sbloccare il mio telefono Moto usando ADB, ma quando lo faccio fastboot devicescontinuo a ricevere

no permissions   fastboot

Anche i sudo fastbootdispositivi non aiutano

con sudo ho capito sudo: fastboot: command not found

AIUTO!!

Risposte:


57

Prova a usare sudo $(which fastboot)

per esempio sudo $(which fastboot) devices

anche sudo $(which fastboot) oem unlock


Funzionava !! Grazie Srinivas ..
Rupali,

felice di poterti aiutare :)
Srinivas Gowda,

6
Deve esserci una soluzione migliore, non è sicuro e non è buona norma eseguire tutto con i permessi di root.
elichai2,

Fa fastboot richiede sudo?
IgorGanapolsky,

25

Ho trovato una soluzione migliore qui:
https://stackoverflow.com/a/28127944/1621927

Ecco il commento:

Invece di forzare le autorizzazioni sudoogni volta che devi eseguirlo fastboot, puoi risolvere definitivamente il problema:

  1. utilizzare lsusbper identificare il VendorID USB del dispositivo
  2. configurare udevper impostare le autorizzazioni appropriate quando il dispositivo è collegato
  3. profitto!

Come bonus, verrà risolto adbanche per .

Ad esempio, nel mio caso (per "Megafon SP-A20i"):

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

Risolviamo:

Innanzitutto, dobbiamo identificare il dispositivo:

a) cercare il numero del bus USB (hack: so che il dispositivo è basato su 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) cercare altri dispositivi 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
$ 

Gli hub non sono sicuramente smartphone, quindi - USB vendorID di cui abbiamo bisogno è "8087".

Secondo, configura udev(devi sostituire il valore "idVendor" con il tuo):

$ 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
$ 

In terzo luogo, ricollegare il dispositivo per consentire udevdi eseguire la sua magia.

Controllo 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

$ 

Ecco!


2
C'è un buon elenco di ID fornitore Android su wiki.cyanogenmod.org/w/UDEV
Ehtesh Choudhury

3
C'è un elenco ufficiale qui: developer.android.com/studio/run/device.html
elichai2

2
Ne avrai bisogno sudo udevadm triggeranche tu .
Jonas G. Drange,

Considera la modalità "0664".
naXa,

1
Questa è la risposta corretta In realtà, questa è l'unica risposta. L'uso sudonon è una soluzione.
Gaurav Gandhi,

5

La mia soluzione

Grazie a elichai2 e questo link ed elenco sono stato in grado di risolvere il mio problema di autorizzazione di avvio rapido .

Ho Google Nexus 6P, quindi ho usato quanto segue per il mio ID fornitore:

Google - 18d1


51-android.rules

Se si utilizza il seguente comando:

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

copiarlo esattamente. Ero già root e ho provato a copiare solo la porzione di eco che mi ha dato risultati indesiderati. Fondamentalmente inserisce \ "nel file .rules anziché interpretare la barra come carattere di escape.

Ti suggerisco di utilizzare quanto segue se stai già creando il file .rules (Usa il tuo ID fornitore).

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


Udev Reload and Trigger

Ho ricaricato le regole di udev e quindi ho emesso il comando trigger. Ho anche scollegato e collegato l'USB per buona misura.

udevadm control --reload
udevadm trigger


fastboot

Come utente senza privilegi ho quindi eseguito:

fastboot devices

e ha funzionato come desiderato. Spero che questo possa essere utile o utile a chiunque abbia problemi con il problema delle autorizzazioni.


Bene, ho dato il link alla lista in risposta al mio commento.
elichai2,

udevadmin: comando non trovato
IgorGanapolsky

1
@IgorG. Mi scuso per una risposta così tardiva. Ho corretto l'errore di battitura sopra. Avrebbe dovuto essere "udevadm".
Brandon Authier

1

quando devo inviare alcuni comandi usando fastboot (ad esempio il firmware lampeggiante sul dispositivo htc) installo fastboot usando apt

sudo apt install android-tools-fastboot

quindi quando inizio a usarlo, il primo comando è

sudo -s

quindi tutti i comandi in questo terminale verranno eseguiti come comandi di invio root come

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

non c'è bisogno di riparazioni o qualcosa è semplice un comando aggiuntivo prima di avviarlo




-1

Prima installa fastboot da apt:

sudo apt install android-tools-fastboot

Quindi eseguire fastboot con sudo:

sudo fastboot

Per me funziona.


Fastboot può anche essere ottenuto da SDK e impostare un percorso alias in .bashrc
IgorGanapolsky
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.