Android fastboot ждет устройств

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

<Waiting for device> 

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

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


person codereviewanskquestions    schedule 03.10.2011    source источник
comment
Попробуйте запустить с помощью sudo. sudo ${какие fastboot} устройства wiki.cyanogenmod.org/w/UDEV   -  person phoad    schedule 01.07.2015
comment
Примечание для тех, кто ищет в Интернете это сообщение об ошибке: если вы получили это сообщение на устройстве Samsung, используйте heimdall, а не fastboot.   -  person melissa_boiko    schedule 09.12.2019


Ответы (7)


Краткая версия страницы, на которую ссылается D Shu (и без ужасной всплывающей рекламы), заключается в том, что эта проблема «ожидания устройства» возникает, когда узел 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, что может привести к другим осложнениям. Проще просто исправить разрешения в долгосрочной перспективе.

person poolie    schedule 05.08.2012
comment
+1 за более короткую дрянную версию. +2, если вы поместите эту последнюю строку сверху - person espinchi; 01.07.2014
comment
Вы обязательно должны поставить эту последнюю строку сверху. - person Klik; 01.02.2015
comment
Кстати, никто не любит использовать vi... вместо этого используйте sudo nano filename. - person airtonix; 02.05.2015
comment
Что ж, некоторым из нас не нравится запускать что-то от имени пользователя root :P Но sudo service udev restart не сработало, разрешения не изменились. Поковырялся в инете ( bbs.archlinux.org/viewtopic.php?id=169103 ) у меня сработало следующее: udevadm control --reload Далее: udevadm trigger - person orblivion; 24.06.2015
comment
кстати, никто не любит vi... просто используйте вместо него sudo vim filename. @аиртоникс - person ; 21.12.2015
comment
У кого есть не-vim vi? :П - person poolie; 23.12.2015
comment
Просто мое 2ct по поводу обсуждения sudo vi: я обнаружил, что sudoedit обычно делает именно то, что вы хотите. И конечно в мой .zshrc написано export EDITOR=nvim. ;-) - person mschilli; 13.03.2018
comment
вам просто нужно выполнить с помощью SUDO - person Sperly1987; 14.07.2018

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

person Saleh Abdulaziz    schedule 17.12.2012
comment
Ему не нужны root-права, ему нужно только иметь доступ к USB-устройству. - person poolie; 21.04.2013
comment
Это действительно так! Вы также можете найти этот совет в wiki.cyanogenmod.org/w/ - person espinchi; 01.07.2014
comment
На самом деле это не так. Случайная вики (то есть то, что каждый может редактировать) не меняет этого. Он должен иметь доступ к USB-устройству. Для этого ему не нужен root (хотя наличие root обычно означает, что он может получить доступ к USB-устройству..) - person Benjamin Podszun; 15.07.2014
comment
@BenjaminPodszun на самом деле требуется разрешение root, я не знаю, меняется оно или нет в зависимости от ОС, но при запуске Fedora 22, просто набрав fastboot command, вы получите «ожидание устройства», но ввод sudo fastboot command фактически выполнит команду. Тот факт, что вам нужно изменить доступ к пользователю, заключается в том, что он принадлежит другому пользователю, что и делает sudo, повышая разрешения пользователей, пока они находятся в группе sudoers. Источник? Я только что попробовал пару минут назад - person Juan Carlos Alpizar Chinchilla; 29.08.2015
comment
@JuanCarlosAlpizarChinchilla, ты все путаешь. Нет, root-доступ не нужен. Вам просто нужен доступ к USB-устройству. Я не знаю конкретно о Fedora, но вам не нужен root. Правильным способом решения проблемы было бы: а) проверить разрешения на USB-устройстве и добавить вас в группу, у которой есть доступ (скорее всего), или б) изменить правила udev, чтобы предоставить вам доступ. Вам нужен доступ к файлу/устройству, вам не нужно запускать что-то с максимальными привилегиями, которые может предоставить ваш компьютер. Вы можете запустить sudo firefox, но не должны. Вы можете запустить sudo fastboot, но не должны и не должны - person Benjamin Podszun; 30.08.2015
comment
Мне нужен был root, Debian 8.1 на LG G4. - person netvision73; 30.11.2015
comment
если sudo fastboot oem unlock не работает, войдите в систему как пользователь root с помощью sudo -s, затем запустите fastboot oem unlock. У меня работало на Ubuntu-14.04 x64. - person gihanchanuka; 13.01.2016
comment
и вы должны включить usb debugging на своем телефоне Android - person Saahithyan Vigneswaran; 19.05.2017
comment
@BenjaminPodszun Совершенно неправильно. sudo — это олицетворение root, а не root. sudo используется почти везде в Linux, почти для каждой команды, он предназначен для работы таким образом. Хватит путать sudo с su. - person anutter; 16.07.2020
comment
@anutter Вы совершенно не понимаете сути и .. совершенно неправы. Ни su, ни sudo не требуются, доступ к файловой системе USB-устройства есть. Fastboot не нужно больше. Ваша точка зрения совершенно неуместна (и сбивает с толку. Если я использую sudo для выполнения чего-то, выдающего себя за root, это все равно означает, что я получаю - ограниченный - root-доступ. Fastboot не нужны права root). - person Benjamin Podszun; 17.07.2020
comment
@BenjaminPodszun Я не использовал fastboot 5 лет назад, я использовал его на этой неделе. И это не имеет отношения к тому факту, что вы даете дезинформацию, основанную на вашем непонимании основных операций Linux. sudo — это временное повышение прав, используемое для запуска команд в программе, принадлежащей пользователю root. Предлагаемые вами изменения файла udev являются постоянными. Таким образом, ваш метод на самом деле менее безопасен. chown и chmod, безусловно, более опасны в руках менее опытных пользователей, чем временный sudo. - person anutter; 18.07.2020

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

$ adb reboot bootloader

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

$ fastboot boot myboot.img

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

$ fastboot flash boot myboot.img

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

person Derek Gogol    schedule 23.10.2013
comment
Этот ответ вообще бесполезен. Очевидно, тот, кто спрашивает, знает это, потому что он уже выполнил эту точную команду. - person Marian; 13.12.2013
comment
Чтобы успешно выполнить команду fastboot boot myboot.img из консоли, устройство должно быть в режиме быстрой загрузки, на что я и хотел обратить внимание. Даже если это не поможет человеку, который задал вопрос, это, вероятно, поможет кому-то другому. - person Derek Gogol; 15.12.2013
comment
это именно то, на чем я застрял в течение последнего часа или около того. Спасибо! - person Mala; 23.04.2014
comment
Это сработало для меня. Я только что сделал перезагрузку загрузчика adb, а затем устройства fastboot начали показывать подключенное устройство. - person abjbhat; 27.06.2014
comment
к сожалению, я нахожусь в точке, где adb reboot bootloader работает нормально, но fastboot [anything] все еще застревает в ожидании устройства - person Sparr; 16.11.2015

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

person wossoneri    schedule 30.11.2016

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

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

person Poul Kruijt    schedule 03.11.2016

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

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

person jjyepez    schedule 21.01.2016

Самый короткий ответ: сначала запустите команду fastboot (в моем случае с Ubuntu, т.е. -клавиша вниз и кнопка питания)

person Ankur_Jatt    schedule 06.03.2014