Fastboot 可识别设备,但无法在基于 Ubuntu 的系统上刷新(卡住,无输出)

Fastboot 可识别设备,但无法在基于 Ubuntu 的系统上刷新(卡住,无输出)

fastboot我正在尝试使用基于 Ubuntu 的 Pop!_OS在我的 Android 智能手机上刷新自定义 ROM 。当尝试刷新恢复时,该命令不会输出任何内容并且被卡住。不过,当我使用具有相同硬件的 Windows 10 时,我不会遇到此问题。

./fastboot flash recovery recovery.img

环境:

                 /////////////                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. dmesg grep USB
  2. dmesg 警报、暴击、错误、警告

答案1

apt install android-tools-fastboot我在全新安装 Pop!_OS 22.04 时遇到了同样的问题,无论我使用的是 Google 的 fastboot(他们的平台工具包)还是 apt ( )中提供的 fastboot 。然后我决定尝试 Ubuntu 22.04,它的表现是一样的。的建议来自这个答案在 Ubuntu 上为我工作,所以我认为它也可以在 Pop 上工作:

  1. 拔下电缆/保持电缆与手机的连接不连接
  2. 执行fastboot ...命令
  3. 仅当显示“`>等待设备”时,才连接手机
  4. 该命令按预期工作(至少对我来说)

希望有帮助!

答案2

查看 syslog 的fwupd errors.

如果这是你的情况:

我开始搜索 fwupd,我意识到它是一个更新固件的工具,并且它有一个守护进程,可以侦听以“快速启动模式”连接的新设备。

原因

在最新版本的 fwupd 中,引入了对某些供应商固件更新的支持,例如收购了摩托罗拉的联想。

因此,当我们连接手机摩托罗拉(在我的例子中是 G7 Play)时,fwupd 守护进程会尝试通过命令识别该供应商的设备引导加载程序getvar version-bootloader,但是该 fastboot 模式不是 fwupd 支持的类型,因为 android don t have theversion-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 操作系统中运行!

相关内容