sin permisos fastboot - fastboot y adb no funcionan

31

Estoy tratando de desbloquear mi teléfono Moto usando ADB, pero cuando lo hago fastboot devicessigo recibiendo

no permissions   fastboot

Incluso los sudo fastbootdispositivos no están ayudando

con sudo consigo esto sudo: fastboot: command not found

¡¡AYUDA!!

Rupali
fuente

Respuestas:

57

Intenta usar sudo $(which fastboot)

por ejemplo sudo $(which fastboot) devices

además sudo $(which fastboot) oem unlock

Srinivas Gowda
fuente
¡¡Eso funciono!! Gracias Srinivas ..
Rupali
me alegro de poder ayudar :)
Srinivas Gowda
66
Debe haber una mejor solución, no es seguro y no es una buena práctica ejecutar todo con permisos de root.
elichai2
¿ Fastboot requiere sudo?
IgorGanapolsky
25

Encontré una solución mejor aquí:
https://stackoverflow.com/a/28127944/1621927

Aquí está el comentario: en

lugar de forzar permisos sudocada vez que necesite ejecutar fastboot, puede solucionar el problema permanentemente:

  1. use lsusbpara identificar su dispositivo USB VendorID
  2. configurar udevpara establecer los permisos adecuados cuando su dispositivo está enchufado
  3. ¡lucro!

Como beneficio adicional, también se solucionará adb.

Por ejemplo, en mi caso (para 'Megafon SP-A20i'):

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

Arreglemos:

Primero, necesitamos identificar el dispositivo:

a) busque el número de bus usb (pirateo: sé que el dispositivo está basado en 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) busque otros dispositivos 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
$ 

Los concentradores no son teléfonos inteligentes definitivamente, por lo tanto, el ID de proveedor USB que necesitamos es "8087".

Segundo, configure udev(debe reemplazar el valor "idVendor" con el suyo):

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

Tercero, vuelva a enchufar su dispositivo para permitir udevque se realice su magia.

Revision final:

$ 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
fuente
2
Hay una buena lista de ID de proveedores de Android en wiki.cyanogenmod.org/w/UDEV
Ehtesh Choudhury
3
Hay una lista oficial aquí: developer.android.com/studio/run/device.html
elichai2
2
Necesitarás sudo udevadm triggertambién.
Jonas G. Drange
Considere el modo "0664".
naXa
1
Esta es la respuesta correcta. En realidad, esta es la única respuesta. Usar sudono es una solución.
Gaurav Gandhi
5

Mi solución

Gracias a elichai2 y este enlace y lista pude resolver mi problema de permiso de arranque rápido.

Tengo el Google Nexus 6P, así que utilicé lo siguiente para mi ID de proveedor:

Google - 18d1


51-android.rules

Si usa el siguiente comando:

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

cópialo exactamente. Ya era root e intenté copiar solo la parte de eco que me dio resultados indeseables. Básicamente, coloca el \ "en el archivo .rules en lugar de interpretar la barra como el carácter de escape.

Le sugiero que use lo siguiente si ya ha creado root el archivo .rules (Use su ID de proveedor).

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


Udev Recarga y Disparador

Recargué las reglas de udev y luego emití el comando de activación. También desconecté y enchufé el usb por si acaso.

udevadm control --reload
udevadm trigger


Fastboot

Como usuario sin privilegios, ejecuté:

fastboot devices

y funcionó según lo deseado. Espero que esto pueda ser útil o ayudar a cualquiera que tenga problemas con el problema de los permisos.

Brandon Authier
fuente
Bien, di el enlace a la lista en respuesta a mi comentario.
elichai2
udevadmin: comando no encontrado
IgorGanapolsky
1
@IgorG. Mis disculpas por una respuesta tan tardía. Arreglé el error tipográfico anterior. Debería haber sido "udevadm".
Brandon Authier
1

cuando necesito enviar algunos comandos usando fastboot (por ejemplo, firmware que parpadea en un dispositivo htc) instalo fastboot usando apt

sudo apt install android-tools-fastboot

entonces cuando empiezo a usarlo, el primer comando es

sudo -s

entonces todos los comandos en este terminal se ejecutarán como comandos de envío raíz como

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

no es necesario arreglarlo o algo, es simple un comando adicional antes de iniciarlo

ahmed.ismael
fuente
-1

Primero instale fastboot desde apt:

sudo apt install android-tools-fastboot

Luego ejecute fastboot con sudo:

sudo fastboot

Esto funciona para mi.

mrroot5
fuente
Fastboot también se puede obtener del SDK, y simplemente establezca una ruta de alias en .bashrc
IgorGanapolsky