Linux oprava Fastboot

Linux oprava 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. Now in the terminal, run the following commands

sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo systemctl restart udev

The first command is to make the file we created readable by all users (should be unless you've set a umask of 0027 or 0077) and the second command restarts the udev (usb device) manager, via systemd.

  1. Now you can try the command fastboot -l devices and it should successfully list your device as one of the entries

Marek Mihók