更新RM500U-CN 固件失败,求助

技术你好,我在尝试更新固件的时候失败了,目前 OpenWRT 系统中启动无法识别到RM500U-CN 设备了,具体报错

root@photonicat-openwrt:/data/RM500U-update# bash update.sh
Terminating programs using the Modem…
Firmware update started.
[000:000] Version: QDloader_Linux_Android_V1.0.7
[000:000] scan quectel modem
/sys/bus/usb/devices/3-1 2c7c/900/404
open(/dev/bus/usb/003/010) = 4
[000:005] AT > AT+QDownLOAD=1
[000:013] AT < Quectel
[000:013] AT < RM500U-CNV
[000:013] AT < Revision: RM500UCNVAAR03A05M2G
[000:013] AT < OK
[000:017] AT < +EGMR: “P1Y24DL120012650P”
[000:017] AT < OK
[000:020] AT < +EGMR: “869955061591942”
[000:020] AT < OK
[000:023] AT < OK
bluk in = -1, errno: 71 (Protocol error)
[001:196] scan quectel modem
/sys/bus/usb/devices/3-1 1782/4d00/2430
open(/dev/bus/usb/003/011) = 4
[004:422] Version: BP_R1.0.0
[004:422] ProductName: udx710-module
[004:422] ProductVersion:
[004:422] szPrdAlias: udx710-module
[004:424] > BSL_CMD_CHECK_BAUD
[004:425] < BSL_REP_VER
[004:425] > BSL_CMD_CONNECT
[004:425] Flash FDL
[004:425] > BSL_CMD_START_DATA
[004:443] > BSL_CMD_END_DATA
[004:443] > BSL_CMD_EXEC_DATA
[004:443] > BSL_CMD_CHECK_BAUD
[004:443] < BSL_REP_VER
[004:443] > BSL_CMD_CONNECT
[004:443] Flash FDL2
[004:443] > BSL_CMD_START_DATA
[004:499] > BSL_CMD_END_DATA
[004:499] > BSL_CMD_EXEC_DATA
[004:654] < BSL_REP_INCOMPATIBLE_PARTITION
[004:654] > BSL_CMD_DISABLE_TRANSCODE
[004:656] Backup NV_NR → ‘/tmp/quectel_back_NV_NR’
[004:656] > BSL_CMD_START_READ
{PSCP, 58, 5551016}
{NRCP, 54b400, 2048}
{V3PHY, 54bc00, 2048}
[015:837] > BSL_CMD_END_READ
[015:838] Erase EraseSPL
[015:838] > BSL_CMD_ERASE_FLASH
[015:852] > BSL_CMD_REPARTITION
[016:113] < BSL_REP_OPERATION_FAILED
[016:114] failed: bsl_send_cmd_wait_ack(ctx, bsl_req, 0, 0) (./dloader/test.c: bsl_re_parttition: 789)
[016:114] failed: bsl_re_parttition(ctx) (./dloader/test.c: test_bsl: 948)
[016:114] Upgrade module fail
Firmware updated OK, reboot…
求问一下这种情况如何恢复,感谢技术。求一个可以刷回的固件,邮箱 1546013@qq.com 感谢。

移远 RM500U/RG500U 系列模块(展锐芯片)OpenWrt 救砖避坑指南

:police_car_light: 故障现象

在 OpenWrt 系统下使用官方自带的 update.sh 脚本更新移远 RM500U-CN 固件失败,报错提示 BSL_REP_INCOMPATIBLE_PARTITION(分区不兼容),随后模块死机。 此时输入 lsusb 只能看到 ID 1782:4d00(展锐 Bootrom 模式),模块彻底无法识别,再次运行 ./update.sh 提示 No target device detected, exit!

:hammer_and_wrench: OpenWrt 原位救砖核心步骤

如果你不幸卡在此状态,不需要拆解模块去 Windows 电脑修复,可直接在 OpenWrt 终端执行以下操作:

  1. 进入刷机目录并检查底层工具 不要使用封装好的 update.sh,直接赋予底层烧录工具 QDloader 执行权限:

    Bash

    cd ~/RM500U-update
    chmod +x QDloader
    
    
  2. 识别本地 .pac 固件全名 查看当前目录下的展锐平台专用 .pac 固件包名称,例如: udx710_module+initgc+console+sec-user-native_FDDNRSEC_21A.pac

  3. 使用 -f 参数强制注入烧录 直接跳过 AT 指令检测阶段,让 QDloader 强行对接当前处于 1782:4d00 状态的 USB 节点进行刷写:

    Bash

    ./QDloader -f <你的固件全名>.pac
    
    

:magnifying_glass_tilted_left: 日志关键点复盘(为什么这次成功了?)

从你提供的成功日志来看,QDloader -f 命令展现了比 update.sh 更高的底层控制权限:

  • 自动识别底层:工具直接捕获到了处于展锐引导模式的 /dev/bus/usb/003/002

  • 越过分区限制:虽然中途依然触发了 < BSL_REP_INCOMPATIBLE_PARTITION(分区表不兼容),但 QDloader 随后强制执行了 BSL_CMD_REPARTITION(重新分区),成功抹除了旧的分区结构,并按新固件重新划分了块设备。

  • 完整写入:随后依次顺利写入了 SML、UBOOT、BOOT、Modem、System 等所有核心分区,并在最后发送 BSL_CMD_NORMAL_RESET 成功复位模块。

我的光影猫碰到了同样的问题,AI指导我搞定了,供参考

您好,感谢您的反馈