Respuestas:
Intenta usar sudo $(which fastboot)
por ejemplo sudo $(which fastboot) devices
además sudo $(which fastboot) oem unlock
Encontré una solución mejor aquí:
https://stackoverflow.com/a/28127944/1621927
Aquí está el comentario: en
lugar de forzar permisos sudo
cada vez que necesite ejecutar fastboot
, puede solucionar el problema permanentemente:
lsusb
para identificar su dispositivo USB VendorIDudev
para establecer los permisos adecuados cuando su dispositivo está enchufadoComo 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 udev
que 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!
sudo udevadm trigger
también.
sudo
no es una 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
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
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
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.
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
O puede agregar todas las reglas de udev: conjunto completo de reglas de ID de proveedor de USB de Android para Linux https://gist.github.com/jdamcd/6054951#file-51-android-rules
Primero instale fastboot desde apt:
sudo apt install android-tools-fastboot
Luego ejecute fastboot con sudo:
sudo fastboot
Esto funciona para mi.