Risposte:
Prova a usare sudo $(which fastboot)
per esempio sudo $(which fastboot) devices
anche sudo $(which fastboot) oem unlock
Ho trovato una soluzione migliore qui:
https://stackoverflow.com/a/28127944/1621927
Ecco il commento:
Invece di forzare le autorizzazioni sudo
ogni volta che devi eseguirlo fastboot
, puoi risolvere definitivamente il problema:
lsusb
per identificare il VendorID USB del dispositivoudev
per impostare le autorizzazioni appropriate quando il dispositivo è collegatoCome bonus, verrà risolto adb
anche 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 udev
di 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!
sudo udevadm trigger
anche tu .
sudo
non è una 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
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
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
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.
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
In alternativa, puoi aggiungere tutte le regole udev: set completo di regole ID fornitore USB Android per Linux https://gist.github.com/jdamcd/6054951#file-51-android-rules
Prima installa fastboot da apt:
sudo apt install android-tools-fastboot
Quindi eseguire fastboot con sudo:
sudo fastboot
Per me funziona.