Skip to content

Instantly share code, notes, and snippets.

@aniketfuryrocks
Forked from smac89/fbootfix.md
Last active July 21, 2021 08:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aniketfuryrocks/2295af6d2f56c52f28eb73ffc8353aac to your computer and use it in GitHub Desktop.
Save aniketfuryrocks/2295af6d2f56c52f28eb73ffc8353aac to your computer and use it in GitHub Desktop.
Linux Fix Fastboot "no permissions, verify udev rules"

Determine your device id

  1. Unplug your device from the computer and type lsusb in the terminal. You should get an output similar to this:
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 003 Device 033: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0
Bus 003 Device 047: ID 045e:07fd Microsoft Corp. Nano Transceiver 1.1
Bus 003 Device 002: ID 174f:148d Syntek 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  1. Now plug your phone into the computer and run the command again, the output should be different:
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 003 Device 033: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0
Bus 003 Device 047: ID 045e:07fd Microsoft Corp. Nano Transceiver 1.1
Bus 003 Device 002: ID 174f:148d Syntek 
Bus 003 Device 060: ID 05c6:6765 Qualcomm, Inc. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  1. Take a note of the new output ID. For me it's Bus 003 Device 060: ID 05c6:6765 Qualcomm, Inc.

  2. The value we are interested in is the first one before the colon (:); in this case 05c6. You can check that the value you get is the same as the ones listed here

Note

On Arch Linux, it might be enough to install android-udev package, so you can skip the below steps. See ArchWiki#Adding udev rules

Some code

  1. Use your favourite text editor to edit the file: /etc/udev/rules.d/51-android.rules

  2. In the new file, enter the following:

# Phone name
SUBSYSTEM=="usb", ATTR{idVendor}=="id_you_copied", MODE="0666", GROUP="plugdev"
  1. Make sure to replace id_you_copied with the one we determined from the previous section

  2. Save and close the file.

  3. Ensure the group exists

sudo usermod -aG plugdev $USER
  1. Ensure permission
sudo chown root:plugdev /usr/bin/adb
sudo chown root:plugdev /usr/bin/fastboot
  1. Now in the terminal, run the following commands
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules                                    
sudo udevadm trigger

The first command is to make the file we created, executable and the second command restarts the udev (usb device) manager

  1. Now you can try the command fastboot -l devices and it should successfully list your device as one of the entries
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment