Android fastboot ждет устройства - PullRequest
65 голосов
/ 04 октября 2011

Я пытаюсь загрузить настроенное ядро ​​на моем тестовом Git NVIDIA. Я набрал fastboot boot myImage, после чего получаю:

<Waiting for device> 

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

Ребята, вы знаете, как установить драйвер?

Ответы [ 7 ]

88 голосов
/ 05 августа 2012

Короткая версия страницы, на которую ссылается Д. Шу (и без ужасной рекламы всплывающих окон), заключается в том, что эта проблема «ожидания устройства» возникает, когда узел устройства USB недоступен для вашего текущего пользователя.Идентификатор USB отличается в режиме fastboot, поэтому вы можете легко получить разрешение на него в adb, но не в fastboot.

Чтобы исправить это (в Ubuntu; другие системы могут немного отличаться):

Запустите lsusb -v | less и найдите соответствующий раздел, который будет выглядеть примерно так:

Bus 001 Device 027: ID 18d1:4e30 Google Inc. 
Couldn't open device, some information will be missing
Device Descriptor:
...
  idVendor           0x18d1 Google Inc.

Теперь выполните

sudo vi /etc/udev/rules.d/11-android.rules

все в порядке, если этот файл еще не существует;создайте его с такой строкой, вставив свое имя пользователя и идентификатор поставщика:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", MODE="0640", OWNER="mbp"

, затем

sudo service udev restart

, затем убедитесь, что разрешения узла устройства изменились:

ls -Rl /dev/bus/usb

Еще более короткая сырная версия - просто запустить fastboot от имени пользователя root.Но тогда вам нужно выполнить каждую команду, которая обращается к устройству с правами root, что может вызвать другие сложности.Проще просто исправить разрешения в долгосрочной перспективе.

82 голосов
/ 17 декабря 2012

Просто используйте sudo, для быстрой загрузки требуется Root Permission

32 голосов
/ 23 октября 2013

Чтобы использовать команду fastboot , сначала необходимо перевести устройство в режим fastboot:

$ adb reboot bootloader

Когда устройство находится в режиме fastboot, вы можете загрузить его с собственным ядром.Например:

$ fastboot boot myboot.img

Выше будет загружать ваше ядро ​​только один раз, и старое ядро ​​будет использоваться снова, когда вы перезагрузите устройство.Чтобы заменить ядро ​​на устройстве, вам необходимо его прошить на устройство:

$ fastboot flash boot myboot.img

Надеюсь, это поможет.

3 голосов
/ 30 ноября 2016

попробуйте использовать сгенерированный компилятором fastboot, когда это удастся. путь к файлу out/host/linux(or other)/bin/fastboot и sudo также необходимо. это работает в большинстве случаев.

1 голос
/ 21 января 2016

На вашем устройстве. Перейдите в «Настройки» -> «Настройки Dev» и выберите «Разрешить разблокировку OEM», как показано на Разблокировать загрузчик

По крайней мере, это сработало для меня на моем MotoE 4G.

0 голосов
/ 03 ноября 2016

В моем случае (на windows 10) он прекрасно подключился бы к adb, и я мог набрать любые команды adb.Но как только он дошел до загрузчика с помощью adb reboot bootloader, я не смог выполнить никаких команд fastboot.

Что я заметил, что в диспетчере устройств он обновлялся при подключении к устройству.Далее нужно было проверить, что изменилось при подключении.Видимо, устройство fastboot было внутри Kedacom USB Device.Не совсем уверен, что это было, но я обновил устройство, чтобы использовать другой драйвер, в моем случае Fastboot interface (Google USB ID), и это исправило мою waiting for device проблему

0 голосов
/ 06 марта 2014

Самый короткий ответ - сначала запустить команду fastboot (в моем случае с Ubuntu, т.е. с разблокировкой oemboot-linux) (здесь я использую Ubuntu 12.04 и рутируем nexus4) затем включите ваше устройство в режиме fastboot (в Nexus 4, нажав клавиши Vol-Down и Power)

...