fastboot
我正在尝试使用基于 Ubuntu 的 Pop!_OS在我的 Android 智能手机上刷新自定义 ROM 。当尝试刷新恢复时,该命令不会输出任何内容并且被卡住。不过,当我使用具有相同硬件的 Windows 10 时,我不会遇到此问题。
./fastboot flash recovery recovery.img
环境:
- 只读存储器:PixelExperience 11 (Plus)(X00TD 官方)
- 恢复:随 ROM 提供
- 智能手机:华硕 Zenfone Max Pro M1(X00TD / ZB601KL 变体)
- 个人电脑:
///////////// user@pop-os
///////////////////// -------------
///////*767//////////////// OS: Pop!_OS 20.04 LTS x86_64
//////7676767676*////////////// Host: 80F6 Lenovo B40-80
/////76767//7676767////////////// Kernel: 5.15.8-76051508-generic
/////767676///*76767/////////////// Uptime: 54 mins
///////767676///76767.///7676*/////// Packages: 1896 (dpkg), 27 (flatpak)
/////////767676//76767///767676//////// Shell: bash 5.0.17
//////////76767676767////76767///////// Resolution: 1366x768
///////////76767676//////7676////////// DE: GNOME
////////////,7676,///////767/////////// WM: Mutter
/////////////*7676///////76//////////// WM Theme: Pop
///////////////7676//////////////////// Theme: Pop-dark [GTK2/3]
///////////////7676///767//////////// Icons: Pop [GTK2/3]
//////////////////////'//////////// Terminal: gnome-terminal
//////.7676767676767676767,////// CPU: Intel i5-5200U (4) @ 2.700GHz
/////767676767676767676767///// GPU: Intel HD Graphics 5500
/////////////////////////// Memory: 2679MiB / 7865MiB
/////////////////////
/////////////
(也尝试过,在较旧的版本中未成功库班图 18.04,结果相同)
我尝试过使用系统提供的(Ubuntu存储库)版本fastboot
和附带的版本Android的平台工具。安装的系统版本为sudo apt install android-tools-adb android-tools-fastboot
.
fastboot
版本:
user@pop-os:~$ fastboot --version
fastboot version 1:8.1.0+r23-5ubuntu2
Installed as /usr/lib/android-sdk/platform-tools/fastboot
user@pop-os:~/Android/platform-tools$ ./fastboot --version
fastboot version 31.0.3-7562133
Installed as /home/user/Android/platform-tools/fastboot
先决条件:
已配置udev
如下所示的规则(以避免在fastboot
没有 的情况下运行时出现“无权限”错误sudo
)
#/etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="plugdev"
并将当前用户添加到“plugdev”组sudo usermod -aG plugdev $LOGNAME
问题:
通过硬件键(音量加+电源)或命令重新启动进入快速启动模式后./adb reboot bootloader
,我的设备被快速启动识别。
user@pop-os:~/Android/platform-tools$ ./fastboot devices
XXXXXXXX04HP fastboot
但是当我尝试刷新恢复时,该命令没有给出输出并且被卡住
user@pop-os:~/Android/platform-tools$ ./fastboot flash recovery recovery.img
当我从电脑上拔下设备时,出现错误
user@pop-os:~/Android/platform-tools$ ./fastboot flash recovery recovery.img
Sending 'recovery' (21517 KB) FAILED (Write to device failed (No such device))
fastboot: error: Command failed
结论:
正如超链接指南和许多其他资源中所建议的那样,我尝试使用不同的 USB 端口(2.0 和 3.0)、不同的电缆,以及如上所述的不同 PC 和 Ubuntu 版本。问题没有得到解决。
然而,通过使用 Windows 10 和同一台 PC(双引导)、USB 端口、电缆和移动设备,我能够成功刷新恢复,以及后来的 ROM。
其他 StackExchange 站点上也有与此类似的问题,其中一些接受的答案不是很有帮助,而且大多数都是旧的。此外,根据建议@alecxs 这里,这个问题似乎特定于基于 Linux 的系统。我真的很感激一些帮助。
预先感谢您的投入。
附件:
答案1
apt install android-tools-fastboot
我在全新安装 Pop!_OS 22.04 时遇到了同样的问题,无论我使用的是 Google 的 fastboot(他们的平台工具包)还是 apt ( )中提供的 fastboot 。然后我决定尝试 Ubuntu 22.04,它的表现是一样的。的建议来自这个答案在 Ubuntu 上为我工作,所以我认为它也可以在 Pop 上工作:
- 拔下电缆/保持电缆与手机的连接不连接
- 执行fastboot ...命令
- 仅当显示“`>等待设备”时,才连接手机
- 该命令按预期工作(至少对我来说)
希望有帮助!
答案2
查看 syslog 的fwupd errors
.
如果这是你的情况:
我开始搜索 fwupd,我意识到它是一个更新固件的工具,并且它有一个守护进程,可以侦听以“快速启动模式”连接的新设备。
原因
在最新版本的 fwupd 中,引入了对某些供应商固件更新的支持,例如收购了摩托罗拉的联想。
因此,当我们连接手机摩托罗拉(在我的例子中是 G7 Play)时,fwupd 守护进程会尝试通过命令识别该供应商的设备引导加载程序getvar version-bootloader
,但是该 fastboot 模式不是 fwupd 支持的类型,因为 android don t have the
version-bootloader ` 变量,这里开始了错误。
因此 fwupd 抛出错误failed to add device ...: failed to getvar version-bootloader: no response to read
,并且它无法挂断设备端口。现在android的fastboot CLI可以在fastboot模式下识别设备,但是当我们向设备发送命令时,fastboot CLI等待fwupd挂起来执行此操作,但从未发生过。 (“冻结命令”)
更多关于你可以看这里:https://github.com/fwupd/fwupd/issues/3187
解决方案(我的解决方案)
我刚刚删除了所有软件包 fwupd,但我确实删除了,而不是像他们在问题中所说的那样禁用https://github.com/fwupd/fwupd/issues/3187
也许降级到不添加这些供应商的版本也可以解决。
现在任何版本的 fastboot CLI 都可以在 Ubuntu 和 Pop 操作系统中运行!