fastboot and adb not working with sudo
Solution 1
Instead of forcing permissions via sudo
each time you need to run fastboot
, you can permanently fix the issue:
- use
lsusb
to identify your device USB VendorID - configure
udev
to set proper permissions when your device is plugged in - profit!
As a bonus - it will be fixed for adb
too.
For example, in my case (for 'Megafon SP-A20i') :
$ fastboot devices
no permissions fastboot
$ sudo fastboot devices
[sudo] password for kaa:
MedfieldA9055F28 fastboot
$
Let's fix:
First, we need to identify the device:
a) look for usb bus number (hack: I know the device is Intel-based one)
$ 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) look for other Intel devices:
$ 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 are not smartphones definetely, so - USB vendorID we need is "8087".
Second, configure udev
(you must replace "idVendor" value with yours) :
$ 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
$
Third, re-plug your device to allow udev
to perform it's magic.
Final 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!
Solution 2
You can use
sudo $(which fastboot) devices
Guy Sopher
Updated on October 28, 2020Comments
-
Guy Sopher over 3 years
I have a very weird issue on my Ubuntu machine when trying to run the fastboot command.
When I run:
fastboot devices
I get
no permissions fastboot
So I run the command with adminidtrator permissions:
sudo fastboot devices
And then I get the result
sudo: fastboot: command not found
How can this be? I have the directory in my PATH and everything works correctly without sudo.
-
nlmm01 about 9 yearsThanks. Worked like a charm. How can I fix this though? To work normally as "sudo fastboot devices"?
-
elichai2 about 6 yearsPlease don't use sudo as an answer. running as root is really bad if it isn't necessary.
-
Danuofr almost 6 yearsThanks this worked, but the line with "lsusb |grep 001 |grep -i intel" messed me up because i was trying to add a nexus 5x phone which is a google phone. So I omitted the "|grep -i intel" part and used "lsusb | grep 001" only and it gave me a full list that showed my nexus 5x device. 'Bus 001 Device 015: ID 18d1:d00d Google Inc." I then used 18d1 in place of 8087 and it worked
-
anutter almost 4 years
sudo
is an impersonation of root, not root. If they advocatedsu
then I could see your point.sudo
is the way almost all commands are run in Linux, not sure what the obsession is with not using it for fastboot..