нет разрешений fastboot - fastboot и adb не работают


31

Я пытаюсь разблокировать свой телефон Moto с помощью ADB, но я, когда я делаю, fastboot devicesя продолжаю получать

no permissions   fastboot

Даже sudo fastbootустройства не помогают

с sudo я получаю это sudo: fastboot: command not found

ПОМОГИТЕ!!

Ответы:


57

Попробуйте использовать sudo $(which fastboot)

например sudo $(which fastboot) devices

также sudo $(which fastboot) oem unlock


Это сработало !! Спасибо, Шринивас ..
Рупали

рад, что смог помочь :)
Srinivas Gowda

6
Должно быть лучшее решение, небезопасно и не рекомендуется просто запускать все с правами root.
elichai2

Есть ли быстрой загрузки требуется Sudo?
Игорь Ганапольский

25

Нашли лучшее решение здесь:
https://stackoverflow.com/a/28127944/1621927

Вот комментарий:

вместо того, чтобы принудительно устанавливать разрешения при sudoкаждом запуске fastboot, вы можете навсегда решить проблему:

  1. использовать lsusbдля идентификации вашего устройства USB VendorID
  2. настроить udevдля установки надлежащих разрешений, когда ваше устройство подключено
  3. прибыль!

В качестве бонуса - это тоже будет исправлено adb.

Например, в моем случае (для «Мегафон SP-A20i»):

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

Давайте исправим:

Для начала нам нужно идентифицировать устройство:

а) искать номер шины USB (взломать: я знаю, что устройство на базе 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
$ 

б) искать другие устройства 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
$ 

Концентраторы не являются определенно смартфонами, поэтому - USB vendorID, который нам нужен, это "8087".

Во-вторых, настройте udev(вы должны заменить значение «idVendor» на ваше):

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

В-третьих, заново подключите ваше устройство, чтобы оно могло udevтворить чудеса.

Окончательная проверка:

$ 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

$ 

Вуаля!


2
Хороший список идентификаторов поставщиков Android можно найти
Ehtesh Choudhury

3
Официальный список здесь: developer.android.com/studio/run/device.html
elichai2

2
Тебе тоже понадобится sudo udevadm trigger.
Джонас Г. Дрейндж

Рассмотрим режим «0664».
NaXa

1
Это правильный ответ. На самом деле, это единственный ответ. Использование sudoне является решением.
Гаурав Ганди

5

Мое решение

Благодаря elichai2 и этой ссылке и списку я смог решить мою проблему с разрешением fastboot.

У меня есть Google Nexus 6P, поэтому я использовал следующее для моего идентификатора поставщика:

Google - 18d1


51-android.rules

Если вы используете следующую команду:

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

скопируйте это точно. Я уже был root и пытался скопировать только часть эха, которая дала мне нежелательные результаты. По сути, он помещает \ "в файл .rules, а не интерпретирует косую черту как escape-символ.

Я предлагаю использовать следующее, если вы уже создали root-файл .rules (используйте свой идентификатор поставщика).

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


Udev Перезагрузить и запустить

Я перезагрузил правила udev и затем выполнил команду триггера. Я также отключил и подключил USB для хорошей меры.

udevadm control --reload
udevadm trigger


FastBoot

Как непривилегированный пользователь, я запустил:

fastboot devices

и это сработало как хотелось. Я надеюсь, что это может быть полезным или помочь любому, кто испытывает проблемы с разрешением.


Отлично, я дал ссылку на список в ответ на мой комментарий.
elichai2

udevadmin: команда не найдена
Игорь Ганапольский

1
@IgorG. Приношу свои извинения за столь поздний ответ. Я исправил вышеописанную опечатку. Это должно было быть "udevadm".
Брэндон Authier

1

когда мне нужно отправить некоторые команды с помощью fastboot (например, прошить прошивку на устройстве htc), я устанавливаю fastboot с помощью apt

sudo apt install android-tools-fastboot

затем, когда я начинаю использовать его, первая команда

sudo -s

тогда все команды в этом терминале будут работать как корневые отправляющие команды, такие как

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

нет необходимости исправлять или что-то еще, просто одна дополнительная команда, прежде чем начать




-1

Сначала установите fastboot из apt:

sudo apt install android-tools-fastboot

Затем выполните fastboot с помощью sudo:

sudo fastboot

Меня устраивает.


Fastboot также можно получить из SDK, и просто установить путь псевдонима в .bashrc
IgorGanapolsky
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.