【问题标题】:Android fastboot waiting for devicesAndroid 快速启动等待设备
【发布时间】:2011-10-03 23:52:12
【问题描述】:

我正在尝试在我的 NVIDIA 测试 git 上加载自定义内核。 我输入了fastboot boot myImage,然后我得到了:

<Waiting for device> 

我认为这是我设备上@9​​87654324@ 模式下的驱动程序的问题。 但是我不知道如何在linux上安装驱动。

你们知道怎么安装驱动吗?

【问题讨论】:

  • 尝试使用 sudo 运行。 sudo ${which fastboot} 设备wiki.cyanogenmod.org/w/UDEV
  • 网络搜索此错误消息的人的注意事项 - 如果您使用三星设备收到此消息,请使用 heimdall 而不是 fastboot。

标签: android fastboot


【解决方案1】:

D Shu 链接的页面的简短版本(并且没有可怕的弹出广告)是当您的当前用户无法访问 USB 设备节点时,会发生这种“等待设备”问题。 USB id在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

如果该文件尚不存在也没关系;用这样的一行创建它,插入您自己的用户名和供应商 ID:

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

然后

sudo service udev restart

然后验证设备节点权限是否改变:

ls -Rl /dev/bus/usb

更短的俗气版本是只需以 root 身份运行 fastboot。但是,您需要以 root 身份运行与设备通信的每个命令,这往往会导致其他并发症。从长远来看,只是为了修复权限更简单。

【讨论】:

  • +1 表示较短的俗气版本。 +2 如果你把最后一行放在最上面
  • 你绝对应该把最后一行放在最上面。
  • 好吧,我们中的一些人不喜欢以 root willy nilly 身份运行东西 :P 但是,sudo service udev restart 不起作用,权限没有改变。在互联网上闲逛(bbs.archlinux.org/viewtopic.php?id=169103)以下对我有用:udevadm control --reload其次是:udevadm trigger
  • 顺便说一句,没有人喜欢 vi... 只需使用 sudo vim filename 代替。 @airtonix
  • 谁有非vim vi? :P
【解决方案2】:

使用sudo即可,快速启动需要Root权限

【讨论】:

  • 不需要root权限,只要能访问USB设备即可。
  • 确实如此!您也可以在wiki.cyanogenmod.org/w/… 中找到此提示
  • 实际上没有。一个随机的 wiki(即每个人都可以编辑的东西)不会改变这一点。它需要能够访问 USB 设备。它不需要root(尽管拥有root通常意味着它可以访问USB设备..)
  • @BenjaminPodszun 实际上它确实需要 root 权限,我不知道它是否会根据操作系统而改变,但是运行 Fedora 22 只需输入 fastboot command 就会得到“等待设备”,但输入sudo fastboot command 将实际执行该命令。您需要更改对用户的访问权限的事实是因为它由不同的用户拥有,这就是 sudo 所做的,只要他们在 sudoers 组中,就升级用户权限。来源?几分钟前我刚试过
  • @JuanCarlosAlpizarChinchilla 你把事情搞糊涂了。不,您不需要 root 访问权限。您只需要访问 USB 设备。我不具体了解 Fedora,但您不需要 root。解决问题的正确方法是 a) 检查 USB 设备上的权限并将您添加到有权访问的组(最有可能)或 b) 更改 udev 规则以授予您访问权限。您需要访问文件/设备,您不需要以计算机可能授予的最高权限运行东西。你可以运行 sudo firefox,但你不应该。你可以运行 sudo fastboot,但你不应该也不需要
【解决方案3】:

要使用 fastboot 命令,您首先需要将设备置于快速启动模式:

$ adb reboot bootloader

一旦设备处于快速启动模式,您可以使用自己的内核启动它,例如:

$ fastboot boot myboot.img

以上只会启动你的内核一次,当你重启设备时,旧内核将再次使用。要更换设备上的内核,您需要将其刷入设备:

$ fastboot flash boot myboot.img

希望对您有所帮助。

【讨论】:

  • 那个答案根本没有帮助。显然,询问的人知道这一点,因为他们已经执行了那个确切的命令。
  • 要从控制台成功执行 fastboot boot myboot.img 命令,设备需要处于 fastboot 模式,这就是我要指出的出去。即使这对提出问题的人没有帮助,也可能对其他人有所帮助。
  • 这正是我在过去一个小时左右所坚持的。谢谢!
  • 这对我有用。我刚刚做了 adb reboot bootloader 然后 fastboot devices 开始显示设备已连接。
  • 遗憾的是,我正处于 adb reboot bootloader 工作正常的地步,但 fastboot [anything] 仍然卡在等待设备
【解决方案4】:

当这种情况发生时,尝试使用编译器生成的fastboot。 文件路径为out/host/linux(or other)/bin/fastboot 并且还需要sudo。 它在大多数时间都有效。

【讨论】:

    【解决方案5】:

    在我的情况下(在 Windows 10 上),它可以很好地连接到 adb,我可以输入任何 adb 命令。但是一旦它使用adb reboot bootloader 进入引导加载程序,我就无法执行任何fastboot 命令。

    我在设备管理器中注意到,当我连接到设备时它会刷新。接下来要做的是检查连接时发生了什么变化。显然,fastboot 设备位于Kedacom USB Device 内。不太确定那是什么,但我更新了设备以使用不同的驱动程序,在我的情况下是 Fastboot interface (Google USB ID),这解决了我的 waiting for device 问题

    【讨论】:

      【解决方案6】:

      在您的设备上转到设置 -> 开发设置,然后选择“允许 OEM 解锁” 如图Unlock Your Bootloader

      至少这在我的 MotoE 4G 上对我有用。

      【讨论】:

        【解决方案7】:

        最短的答案是首先运行 fastboot 命令(在我的 ubuntu 情况下,即 ./fastboot-linux oem unlock)(这里我使用的是 ubuntu 12.04 和 root nexus4) 然后在 fastboot 模式下打开您的设备(在 nexus 4 中,通过按 vol-down-key 和电源按钮)

        【讨论】:

          猜你喜欢
          • 2012-08-15
          • 1970-01-01
          • 2019-02-13
          • 1970-01-01
          • 1970-01-01
          • 2016-04-04
          • 2016-01-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多