keine Berechtigungen fastboot - fastboot und adb funktionieren nicht

31

Ich versuche, mein Moto-Handy mit ADB zu entsperren, aber wenn ich es tue, bekomme fastboot devicesich es immer wieder

no permissions   fastboot

Auch sudo fastbootGeräte helfen nicht

mit sudo bekomme ich das sudo: fastboot: command not found

HILFE!!

Rupali
quelle

Antworten:

57

Versuchen Sie es mit sudo $(which fastboot)

zum Beispiel sudo $(which fastboot) devices

ebenfalls sudo $(which fastboot) oem unlock

Srinivas Gowda
quelle
Das hat funktioniert!!
Vielen Dank
Ich bin froh, dass ich helfen konnte :)
Srinivas Gowda
6
Es muss eine bessere Lösung geben, es ist nicht sicher und keine gute Praxis, einfach alles mit Root-Berechtigungen auszuführen.
Elichai2
Ist Fast Boot sudo erfordern?
Igor Ganapolsky
25

Eine bessere Lösung finden Sie hier:
https://stackoverflow.com/a/28127944/1621927

Hier ist der Kommentar:

Statt Berechtigungen über zwingt sudojedes Mal , wenn Sie ausführen müssen fastboot, können Sie dauerhaft das Problem beheben:

  1. Verwenden lsusbSie diese Option, um die USB-VendorID Ihres Geräts zu identifizieren
  2. Konfigurieren Sie udev, um die richtigen Berechtigungen festzulegen, wenn Ihr Gerät angeschlossen ist
  3. profitieren!

Als Bonus - es wird auch für adbrepariert.

Zum Beispiel in meinem Fall (für 'Megafon SP-A20i'):

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

Lass uns reparieren:

Zuerst müssen wir das Gerät identifizieren:

a) Suchen Sie nach der USB-Bus-Nummer (Hack: Ich weiß, dass das Gerät Intel-basiert ist)

$ 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) andere Intel-Geräte suchen:

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

Hubs sind definitiv keine Smartphones. Wir benötigen also die USB-Vendor-ID "8087".

Zweitens konfigurieren udevSie (Sie müssen den Wert "idVendor" durch Ihren ersetzen):

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

Drittens schließen Sie Ihr Gerät wieder an, damit Sie udeves zaubern können.

Letzter Check:

$ 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
quelle
2
Es gibt eine gute Liste von Anbieterkennungen für Android unter wiki.cyanogenmod.org/w/UDEV
Ehtesh Choudhury
3
Eine offizielle Liste gibt es hier: developer.android.com/studio/run/device.html
elichai2
2
Das wirst du auch brauchen sudo udevadm trigger.
Jonas G. Drange
Betrachten Sie den Modus "0664".
naXa
1
Das ist die richtige Antwort. Eigentlich ist dies die einzige Antwort. Verwenden sudoist keine Lösung.
Gaurav Gandhi
5

Meine Lösung

Dank elichai2 und diesem Link und dieser Liste konnte ich mein Problem mit der Fastboot-Berechtigung lösen.

Ich habe Google Nexus 6P und habe für meine Vendor ID Folgendes verwendet:

Google - 18d1


51-android.rules

Wenn Sie den folgenden Befehl verwenden:

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

Kopieren Sie es genau. Ich war bereits root und habe versucht, nur den Echoanteil zu kopieren, der zu unerwünschten Ergebnissen geführt hat. Grundsätzlich wird das \ "in die .rules-Datei eingefügt, anstatt den Schrägstrich als Escape-Zeichen zu interpretieren.

Ich schlage vor, Folgendes zu verwenden, wenn Sie bereits als Root die RULES-Datei erstellt haben (verwenden Sie Ihre Herstellerkennung).

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


Udev Reload and Trigger

Ich lud die udev-Regeln neu und gab dann den Auslösebefehl aus. Ich zog auch den Stecker heraus und steckte den USB für gutes Maß ein.

udevadm control --reload
udevadm trigger


Fastboot

Als nicht privilegierter Benutzer lief ich dann:

fastboot devices

und es hat wie gewünscht funktioniert. Ich hoffe, dass dies für alle von Nutzen sein oder hilfreich sein kann, die Probleme mit dem Berechtigungsproblem haben.

Brandon Authier
quelle
Schön, ich habe den Link zur Liste als Antwort auf meinen Kommentar gegeben.
Elichai2
udevadmin: Befehl nicht gefunden
IgorGanapolsky
1
@IgorG. Ich entschuldige mich für eine so späte Antwort. Ich habe den obigen Tippfehler behoben. Es hätte "udevadm" sein sollen.
Brandon Authier
1

Wenn ich einige Befehle mit Fastboot senden muss (z. B. Firmware-Flashen auf dem HTC-Gerät), installiere ich Fastboot mit Apt

sudo apt install android-tools-fastboot

dann, wenn ich anfange, es zu benutzen, ist der erste Befehl

sudo -s

dann werden alle Befehle in diesem Terminal als Root-Sendebefehle ausgeführt, wie z

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

Keine Notwendigkeit für ein Update oder ähnliches, es ist einfach ein zusätzlicher Befehl, bevor Sie es starten

ahmed.ismael
quelle
-1

Installiere zuerst fastboot von apt:

sudo apt install android-tools-fastboot

Führen Sie als nächstes Fastboot mit sudo aus:

sudo fastboot

Für mich geht das.

mrroot5
quelle
Fastboot kann auch über das SDK bezogen werden. Legen Sie
einfach