尝试恢复Qualcomm Robotics RB3

    科技2025-05-16  88

    高通RB3(845c)这块板子最近无法正常启动进入Linux了。本文记录一下,尝试恢复的过程。

    1 准备

    先从以下链接下载好bootloader release。 http://releases.linaro.org/96boards/dragonboard845c/linaro/rescue/latest/ 我下载的时候,Release的BUILD NUMBER是50。所以得到了以下ZIP文件。解压这个文件,以备后用。

    dragonboard-845c-bootloader-ufs-linux-50.zip

    2 SD Card Recovery image?

    这个就不要想了。Dragonboard 845c因为硬件的限制,不支持从SD卡启动。

    3 Using USB flashing tools

    845c是支持通过USB recovery 或者说 flash 的,本文记录的就是这个方法。这时就需要这个工具了:Linaro QDL flashing tools。

    3.1 Linaro QDL flashing tools

    工具取得

    $ git clone https://git.linaro.org/landing-teams/working/qualcomm/qdl.git

    安装依赖

    $ sudo apt-get install libxml2-dev libudev-dev

    进入工具的目录并且make

    $ cd qdl/ $ make

    到此,在qdl这个文件夹中生成了可执行文件qdl。以备后用。

    另外,有的Linux系统中的ModemManager会影响RB3与LinuxPC的USB连接,所以我们运行以下命令,以确保关闭掉ModemManager。

    $ sudo systemctl stop ModemManager

    3.2 连接PC与板子(USB flashing mode)

    想要RB3进入USB flashing模式,我们有两个方法。

    方法一

    给RB3断电,并确保USB Type-C线没有连接到RB3上。长按RB3的“F_DL”按键,不要松开。连接电源线,并短按“ON/OFF”按键。用USB Type-C链接RB3与LinuxPC。松开“F_DL”按键。

    方法二

    把“DIP_SW” 切换到 “0 1 1 0 0 0” 状态。给RB3断电,并确保USB Type-C线没有连接到RB3上。长按RB3的“F_DL”按键,不要松开。用USB Type-C链接RB3与LinuxPC。松开“F_DL”按键。

    (以上两个过程都在官方操作指南中加入了自己的理解,原指南描述不够详细) 至此,RB3板子就以我们希望的模式与LinuxPC链接好了。

    3.3 写入

    进入最开始我们解压ZIP文件得到的目录。然后运行刚才编译好的qdl,参数如下。

    $ cd ./dragonboard-845c-bootloader-ufs-linux-50/ $ sudo <PATH to qdl>/qdl prog_firehose_ddr.elf rawprogram?.xml patch?.xml

    写入动作开始执行,最后得到以下输出。

    ... ... Update Backup Header with CRC of Backup Header. LOG: INFO: Calling handler for patch LOG: INFO: Calling handler for setbootablestoragedrive LOG: INFO: Using scheme of value= 1 partition 1 is now bootable LOG: INFO: Calling handler for power LOG: INFO: Will issue reset/power off 100 useconds, if this hangs check if watchdog is enabled LOG: INFO: bsp_target_reset() 0

    3.4 进入fastboot模式

    到目前为此,一切顺利。我们可以通过以下操作确认确认flashing成功。

    断开RB3板子的电源线,并确认已经拔掉了所以USB线。长按“VOL-“按键。链接电源线。“VOL-“按键不要松开。短按“ON/OFF”按键。蓝色LED点亮5秒后,松开“VOL-“按键。用USB Type-C链接RB3与LinuxPC。

    这时,在PC输入以下命令,应该看到有一个设备如下,以确认RB3进入fastboot模式。

    $ sudo fastboot devices 01234567 fastboot

    4 没能成功

    遗憾的是,我输入这个命令后,没有设备被识别出来。 说明我的板子没有恢复到可以进入fastboot模式的状态。如果哪位知道原因,或者有方法解决这个问题,欢迎指点。谢谢。

    参考资料:

    https://www.96boards.org/documentation/consumer/dragonboard/dragonboard845c/installation/board-recovery.md.html

    Processed: 0.009, SQL: 8