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

Вопрос или проблема

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

нет разрешений   fastboot

Даже sudo fastboot devices не помогает

с sudo я получаю это sudo: fastboot: команда не найдена

ПОМОГИТЕ!!

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

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

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

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

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

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

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

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

Например, в моем случае (для ‘Megafon SP-A20i’) :

$ fastboot devices
нет разрешений  fastboot
$ sudo fastboot devices
[sudo] пароль для kaa: 
MedfieldA9055F28    fastboot
$ 

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

Во-первых, нам нужно определить устройство:

a) искать номер USB-шины (хак: я знаю, что устройство на базе Intel)

$ fastboot -l devices
нет разрешений         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) искать другие устройства 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
$ 

Хабы определенно не являются смартфонами, поэтому – нужный нам VendorID USB это “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 остановлен/ожидание
udev запущен/работает, процесс 1821
$ 

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

Финальная проверка:

$ fastboot -l devices
MedfieldA9055F28       fastboot usb:1-1.2
$ adb devices
Список подключенных устройств 

$ fastboot reboot
перезагрузка...

завершено. общее время: 0.253s
$ sleep 90
$ adb devices
Список подключенных устройств 
MedfieldA9055F28    устройство

$ 

Вот и всё!

Мое решение

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

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

Google – 18d1

51-android.rules

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

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

скопируйте ее точно. Я уже был root и пытался скопировать только часть echo, что дало мне нежелательные результаты. В общем, это поместило \” в файл .rules, вместо того, чтобы интерпретировать слэш как символ экранирования.

Я предлагаю использовать следующее, если вы уже root, чтобы создать файл .rules (используйте ваш vendor ID).

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

и это сработало, как и ожидалось. Надеюсь, это будет полезно или поможет кому-то, кто сталкивается с проблемой разрешений.

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

sudo apt install android-tools-fastboot

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

sudo -s

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

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

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

Или вы можете добавить все правила udev:
Полный набор правил USB vendor ID для Android для Linux
https://gist.github.com/jdamcd/6054951#file-51-android-rules

Это проблема с отсутствующими правилами udev, которые определены в /lib/udev/rules.d/51-android.rules. Вместо того, чтобы создавать правила udev вручную (как предлагает Брендон Отье), лучше установить пакет android-sdk-platform-tools-common который его содержит.

apt install android-sdk-platform-tools-common

`$ fastboot devices

нет разрешений (пользователь в группе plugdev; ваши правила udev неверны?); см. [http://developer.android.com/tools/device.html] fastboot`

`Решение:
$lsusb

Bus 003 Device 040: ID 18d1:d00d Google Inc. Android`

sudo sh -c “echo ‘SUBSYSTEM==”usb”, ATTR{idVendor}==”18d1″, MODE=”0666″, GROUP=”plugdev”‘ >> /etc/udev/rules.d/51-android.rules”

sudo service udev restart

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

моё решение заключалось в использовании подходящего USB-кабеля.
У меня было 2 кабеля, которые вызывали проблему “нет разрешений”, но с третьим (хорошим) кабелем всё заработало.

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

sudo apt install android-tools-fastboot

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

sudo fastboot

Это работает для меня.

Ответ или решение

Решение проблемы: "no permissions" в Fastboot и ADB

Вы столкнулись с проблемой, когда команда fastboot devices возвращает ошибку "no permissions", а использование sudo fastboot завершилось сообщением "command not found". Давайте рассмотрим, как можно исправить эту проблему шаг за шагом.

1. Установка необходимых инструментов

Первым делом, убедитесь, что вы установили все необходимые утилиты. Для работы с ADB и Fastboot в большинстве дистрибутивов Linux, достаточно выполнить следующую команду:

sudo apt install android-tools-fastboot

2. Проверка наличия утилит

Чтобы проверить, установлены ли fastboot и adb, выполните следующие команды:

which fastboot
which adb

Если команды возвращают путь, значит утилиты установлены правильно. Если же вы видите "command not found", это может означать, что утилиты не установлены или установлен неправильный пакет.

3. Убедитесь, что ваш пользователь имеет необходимые права

Если у вас установлен fastboot, но он не работает без sudo, это может быть связано с правами доступа. Один из простых способов решения проблемы – это настройка правил udev.

Для этого выполните следующие шаги:

Шаг 3.1: Получение идентификатора USB устройства

Подключите ваше устройство к компьютеру и выполните команду:

lsusb

Ищите строку, соответствующую вашему устройству, и запомните его Vendor ID (например, 18d1 для устройства Google).

Шаг 3.2: Настройка правил udev

Теперь создадим файл правил udev для вашего устройства. Замените your_vendor_id на ваш фактический идентификатор:

sudo sh -c 'echo "SUBSYSTEM==\"usb\", ATTR{idVendor}==\"your_vendor_id\", MODE=\"0666\", GROUP=\"plugdev\"" >> /etc/udev/rules.d/51-android.rules'

Для примера, если ваш Vendor ID равен 18d1, команда будет выглядеть так:

sudo sh -c 'echo "SUBSYSTEM==\"usb\", ATTR{idVendor}==\"18d1\", MODE=\"0666\", GROUP=\"plugdev\"" >> /etc/udev/rules.d/51-android.rules'
Шаг 3.3: Перезапуск udev

После создания правил перезапустите службу udev:

sudo service udev restart
Шаг 3.4: Переподключите устройство

Теперь отсоедините и снова подключите ваше устройство. Это позволит udev применить новые правила.

4. Проверка функционирования

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

fastboot devices

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

5. Дополнительные советы

  • Убедитесь, что используете качественный USB-кабель. Иногда плохой кабель может быть причиной проблемы с подключением.
  • Также проверьте, находится ли ваш пользователь в группе plugdev:
groups

Если группы нет, добавьте пользователя в неё:

sudo usermod -aG plugdev $USER

Заключение

Следуя вышеизложенным шагам, вы сможете устранить проблему "no permissions" в Fastboot. Эта инструкция не только поможет вам разблокировать ваше устройство, но и обеспечит стабильную работу ADB. Надеемся, что эта информация была полезной для вас.

Оцените материал
Добавить комментарий

Капча загружается...