fastboot无法在我的Nexus 4上运行


8

我正在尝试扎根我的N4,并且fastboot似乎不起作用。在Linux上运行它,并且fastboot二进制文件似乎正在运行。

“快速启动设备”会在我的设备上生成信息,但是“快速启动oem解锁”只会显示“ ...”并挂起。我没有在手机上收到有关解锁的提示。它只是挂在那里,直到我重新启动引导加载程序为止,此时fastboot回显“ FAILED(命令写入失败(传输端点关闭后无法发送)”)

其他fastboot命令似乎也不起作用。'fastboot reboot'呼应'rebooting ...',但是什么也没发生。

我已经尝试过在没有启用USB调试的情况下进行此操作。有任何想法吗?

我开始认为机器上的USB端口可能被烧断了。今天早上,该机器无法识别Windows上在机器正面或背面USB端口上插入的iPod。我正在Linux下的电话上工作,/ var / adm / messages显示了插入设备时发生的事情。我猜想'fastboot devices'并没有手动访问该设备-只是查看检测到的设备类型插入时由操作系统提供,不是吗?是否可以从USB端口读取但无法写入数据?

好吧,看起来好像是我的USB端口。我找到了一台旧笔记本电脑,将其启动到Ubuntu Live CD,并能够从那里启动手机。对不起这部戏。奇怪的是,此时我的USB端口已经失效,但是想起来,它们最近运行缓慢-gPodder花费了几分钟的时间才能将播客复制到iPod上。我猜这是一个逐渐的失败。


尝试以root用户身份运行fastboot(sudo fastboot设备)
Liam W

不,sudo没有帮助。值得的是,启动引导加载程序时,在/ var / log / messages上做了一个tail -f。下面的输出以SerialNumber结尾,该SerialNumber与打印的“ fastboot设备”相匹配。
littlenoodles 2013年

/ var / log / messages内容太长,无法在此处输入。但它基本上会尝试将其检测为usb 3-5设备,但不会将其检测为失败,然后尝试将其检测为usb 2-2并成功。
littlenoodles 2013年

localhost klogd:usb 2-2:使用ohci_hcd和地址6的新全速USB设备localhost klogd:usb 2-2:找到新的USB设备,idVendor = 18d1,idProduct = 4ee0 localhost klogd:usb 2-2:新的USB设备字符串:Mfr = 1,产品= 2,序列号= 3 localhost klogd:usb 2-2:产品:Android localhost klogd:usb 2-2:制造商:Google localhost klogd:usb 2-2:序列号:006ef4fae094444f
littlenoodles

还有一件事(奇怪吗?)。我试图从引导加载程序中选择恢复,它进入冻结的恢复屏幕,并显示消息“未找到命令”。那吓人吗?从那里,我能够通过vol-down电源组合再次回到引导加载程序。
littlenoodles

Answers:


5

线索在于上面的注释,但是我刚刚尝试了“ adb reboot bootloader”,它起作用了。这表明adb确实可以识别USB连接,但是不能在快速启动模式下找到答案。

听起来好像缺少快速启动的udev规则!

执行此操作:lsusb在子机处于快速启动模式时,插入电缆。

典型输出应与此类似:

总线001设备012:ID 18d1:d00d Google Inc.

                     ^^^^ ^^^^

这些数字识别符18d1:d00d对应于idVendoridProduct分别。

记下它,并检查在中找到的udev规则/etc/udev/rules.d/51-android-rules。(里程因Linux发行版的不同而略有不同!

如果没有此文件,则建议使用root用户创建一个文件,根据手机的模式(即正常,恢复和引导加载程序模式),可能需要添加一些规则。

这是我的一个示例,当手机处于这些模式之一时,它们的值分别不同。以此为模板,更改数字如图所示,与相匹配idVendoridProduct分别以适合手机的你的品牌/型号。

SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1354", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1350", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1351", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d00d", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"

用户ID被添加到先前创建androiddev组中,因此我完全不需要!sudo

使用root创建一个组

  1. groupadd androiddev,这将创建一个组,然后将您的Linux用户ID添加到该组中...
  2. usermod -a -G androiddev your_user_id; your_user_id 替换为用于登录的自己的用户ID)。

然后,在快速启动模式下,fastboot二进制文件应该可以工作(奖金!不需要sudo任何一个!)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.