👁 10784

京东云无线宝 JDC-BE6500(赵云) 是 IPQ5322 + QCN9224 平台的 WiFi7 全 2.5G 路由器,与太乙 Plus(IPQ5322 万兆)同样适用此教程(U-Boot 通用)。本文按”准备 → 提权 → 刷 U-Boot → 刷大分区表 → 备份还原”的顺序整理,每一步都是折叠的,点开看具体操作。

  • 🔧 适用机型:JDC BE6500 赵云 / 太乙 Plus(IPQ5322 系列)
  • 📦 资料网盘:JDC-BE6500 全资料 | 实测分区 dump
  • ⚠️ 刷机有风险,每一步都对照检查,p17 ART 和 p25 factory 是核心,刷错变砖

方法一:免拆 · 在线开 Telnet 刷机(推荐 ⭐)

官方固件 JDCOS-JDC07-4.4.1.r4308 之前的版本可以直接用工具开 Telnet,最新的 4.5.3.r4546 改用浏览器 F12 注入脚本的方式开。整套流程不需要拆机、不需要 TTL,是首选刷法。

步骤 1️⃣ | 开启 Telnet(4.5.3.r4546 / 最新固件 通用)

👉 完整教程:京东云亚瑟免拆开启 Telnet 教程(4.5.3.r4546) | BE6500 / 亚瑟 / 雅典娜 通用

核心步骤:

  1. 登录路由器后台(JDC 通常是 http://192.168.68.1)
  2. 按 F12 打开浏览器开发者工具,切到 Console(控制台)面板
  3. 粘贴一行代码注入脚本(首次粘贴 Chrome 可能拦截,按提示输入 allow pasting 回车)
  4. 看到弹窗”Telnet 已开启”即可,用 telnet 192.168.68.1 登录

📌 工具脚本来源):
https://gwrt.uk/jdc-arthur-telnet-4546.html

浏览器控制台执行 Telnet 开启脚本
F12 控制台粘贴脚本,弹出工具箱面板
工具箱面板 Telnet 开启成功
选择”开启 Telnet”后看到设备型号/MAC/SN 信息即成功

⚠️ 老版本工具(cmd 版)已失效。如果你看到的是 zip 工具压缩包,那是给 4308 旧固件用的,新固件请走上面 F12 这条路。

步骤 2️⃣ | Telnet 登录后在线刷 U-Boot(BE6500 / 太乙 Plus 通用)

开了 Telnet 后路由器是 root 权限。直接 curl 拉 U-Boot 下来 dd 写入 p14 / p15,再清掉 BOOTCONFIG 让下次启动走新 U-Boot。

路由器需要能联网。不能联网先在电脑下载好放到 29 分区的共享里。

备注:下面提供两个版本的 U-Boot 任选其一刷入——新版沉心版(2026-08-24 编译,推荐刷这个)和 旧 hugo 版(原教程老版本)。两个版本都能用,能用新版就刷新版。

# 1) 下载 U-Boot,校验 md5
curl -k -O https://godsun.pro/upload/jdc-be6500-uboot-cs06-260824.bin && md5sum jdc-be6500-uboot-cs06-260824.bin
# 输出应是:  d686b4cfc39a552261d1bb7916f7eea6  jdc-be6500-uboot-cs06-260824.bin

# 2) 写入 U-Boot 主备分区(768K 分区,bs=256k 安全)
dd if=jdc-be6500-uboot-cs06-260824.bin of=/dev/mmcblk0p14 bs=256k conv=fsync
dd if=jdc-be6500-uboot-cs06-260824.bin of=/dev/mmcblk0p15 bs=256k conv=fsync

# 3) 清 BOOTCONFIG(256K 小分区必须 bs=256k)
dd if=/dev/zero of=/dev/mmcblk0p3 bs=256k count=1
dd if=/dev/zero of=/dev/mmcblk0p4 bs=256k count=1

# 4) 同步并断电
sync
poweroff -f
# ===== 沉心版 U-Boot(2026-08-24 编译,推荐)=====
# 一行一行复制 带 # 的是注释 这行不需要复制去!
curl -k -O https://godsun.pro/upload/jdc-be6500-uboot-cs06-260824.bin && md5sum jdc-be6500-uboot-cs06-260824.bin

#  d686b4cfc39a552261d1bb7916f7eea6  jdc-be6500-uboot-cs06-260824.bin  结果显示这个一样的话再下一步

dd if=jdc-be6500-uboot-cs06-260824.bin of=/dev/mmcblk0p14 && dd if=jdc-be6500-uboot-cs06-260824.bin of=/dev/mmcblk0p15

dd if=/dev/zero of=/dev/mmcblk0p3 bs=256K count=1 && dd if=/dev/zero of=/dev/mmcblk0p4 bs=256K count=1

输入完对比下面的图片 有没有报错 ,没有就拔电 长按reset 通电 会闪几下灯变绿!这就是uboot模式了

PS:此 U-Boot 的 WebUI 后台地址为 192.168.3.3 —— 进 U-Boot 模式(灯变绿)后,浏览器打开 192.168.3.3 即可进入 Web 刷机界面。

✅ 成功标志:拔电 → 长按 reset → 通电,灯闪几下后变绿色常亮,即进入 U-Boot 模式。

⚠️ 提醒:用 Telnet 在线刷的 U-Boot,后期改分区、恢复出厂时有概率反复启动不进系统。喜欢折腾的建议老老实实走 TTL 路线(方法二),或者用更新的 U-Boot 加固一次。
已经 Telnet 刷过的也可以再用 TTL 走方法二加固一下。


方法二:TTL 串口刷机(救砖 / 加固首选)

2025-06 起获取到 BE6500 的 U-Boot 打断密码 = jdqca,不需要再短接 eMMC 那个冒险操作。任何状态(包括 Telnet 刷坏的)都能用 TTL 救回来。

步骤 1️⃣ | 准备工具和接线

工具清单:

  • USB 转 TTL 模块(CH340 / FT232 / CP2102 都行)
  • U-Boot 固件:jdc-be6500-uboot-cs06-260824.bin(网盘 或恩山 hugo 帖找)
  • 串口软件(MobaXterm / SecureCRT / putty 都行),波特率 115200
  • TFTP 服务器软件(tftpd64)

接线:USB-TTL ↔ 路由器

USB-TTL RX  ←→  路由 TX
USB-TTL TX  ←→  路由 RX
USB-TTL GND ←→  路由 GND
VCC 可以不接(除非接上电不亮灯锁机的情况)

⚠️ RX/TX 必须交叉,接错不跑马!

步骤 2️⃣ | 打断 U-Boot(输入密码 jdqca)

1)先把密码复制到剪贴板备用:

jdqca

重要的事说 3 遍 ↑

2)TFTP 软件打开(uboot.bin 与其他固件放一个目录),第一次打开记得点同意防火墙放行(上传时显示 TTTTTT 通常就是防火墙没放行)

3)路由器通电,看到跑马里的:

console and autoboot in 3 seconds

这行出现后立刻在串口终端按鼠标右键(一般右键 = 粘贴),如果右键没绑定粘贴就改 Ctrl+V。看到 ipq5322# 提示符就是成功打断。

⚠️ 打不断的可能原因:

  • 没复制好密码 → 在普通终端测试右键能不能粘贴 jdqca
  • TTL 模块只能收不能发 → 换一个 TTL 模块(或试着接上 VCC)
  • 路由通电不亮灯 → 大概率是被锁了,只能拆 eMMC 用编程器刷
步骤 3️⃣ | U-Boot 下刷固件(逐行回车,不报错继续)

设置电脑 IP 为 192.168.1.123,路由 U-Boot IP 为 192.168.1.2。固件文件放在 TFTP 根目录。

# 1) 设置 IP
setenv ipaddr 192.168.1.2
setenv serverip 192.168.1.123

# 2) 清掉 BOOTCONFIG,强制走新 U-Boot
flasherase 0:BOOTCONFIG && flasherase 0:BOOTCONFIG1

# 3) 设置环境变量并保存
setenv ethact eth0
saveenv

# 4) TFTP 拉 U-Boot 并写入主备分区
tftpboot 0x44000000 jdc-be6500-uboot-cs06-260824.bin
flash 0:APPSBL    && flash 0:APPSBL_1

# 5) 重启
reset

具体每一条命令的预期输出请参照网盘里的截图或 hugo 帖。每行回车后看一眼有没有 ERROR/FAIL,没有再下一条。


扩容:刷 2G 大分区表 + 后段大分区

原厂分区表给固件分区只留一点空间,装多了插件就爆。一劳永逸的方法是刷 2G 的 GPT 分区表,把固件分区直接撑到 2G,后段做成大容量数据分区。

⚠️ 前置条件:必须先把 ART (p17) 和 factory (p25) 备份好,并且备份文件转移到刷 GPT 后还能读到的位置(电脑、NAS、U盘均可)!刷 GPT 后 p29 会消失,本地数据全没。

步骤 1️⃣ | 刷 2G GPT 分区表
# 1) 下载 2G GPT,校验 md5
curl -k -O https://godsun.pro/upload/gpt_JDCloud-BE6500_2G.bin && md5sum gpt_JDCloud-BE6500_2G.bin
# 应输出:  028c7b41a64f435cee1623934aa01bde  gpt_JDCloud-BE6500_2G.bin

# 2) 写入 GPT(只写前 34 个扇区)
dd if=gpt_JDCloud-BE6500_2G.bin of=/dev/mmcblk0 bs=512 count=34
sync
2G GPT md5 校验输出
md5 输出 028c7b41… 与上方一致即可继续

⚠️ 写完不要直接重启!新 GPT 改了 rootfs/HLOS 分区起始位置,旧固件分区数据对不上号,会无法启动。必须接着进 U-Boot 重新刷一遍固件。

📥 文件:gpt_JDCloud-BE6500_2G.bin

步骤 2️⃣ | cfdisk 建立后段大分区(p29)

刷完 2G GPT 后,eMMC 后段约 110G 是”未分配”状态。用 cfdisk 把它建成 p29 数据分区。

cfdisk /dev/mmcblk0
cfdisk 主界面
cfdisk 打开后能看到已分配分区和后面的 Free Space

操作步骤:

  1. 方向键移到最下面的 Free Space,回车
  2. 选 New → 容量默认(全部用完)回车
  3. 选 Write → 输入 yes 确认 → 回车
  4. 选 Quit 退出
cfdisk write 后的分区表
Write 后 p29 出现,容量 ~ 110G

然后格式化为 ext4:

mkfs.ext4 /dev/mmcblk0p29
mkfs.ext4 完成
格式化完成,可以挂载使用

挂载:QWRT 重启会自动挂到 /mnt/mmcblk0p29。不想重启就手动 mount /dev/mmcblk0p29 /mnt/mmcblk0p29,或在 LuCI → 系统 → 挂载点 里改。

步骤 3️⃣ | (可选)换 2G 内存颗粒后刷 CDT

⚠️ 只有物理上换了 2G 内存颗粒(单晶颗粒,注意不要换错型号)的才需要做这一步,没改硬件的别凑热闹。

BE6500 默认 1G 内存。改了硬件后,eMMC 上的 CDT (p11/p12) 还存的是 1G 的内存识别表,需要刷新成 2G 的:

# 1) 下载 2G CDT,校验
curl -k -O https://godsun.pro/upload/cdt-2G-jdc-be6500_1024M16_DDR4.bin && md5sum cdt-2G-jdc-be6500_1024M16_DDR4.bin
# 应输出:  8c985a4e8669c8f88e766d77d4c724f0  cdt-2G-jdc-be6500_1024M16_DDR4.bin

# 2) 写入 CDT 主备(256K 小分区,必须 bs=256k)
dd if=cdt-2G-jdc-be6500_1024M16_DDR4.bin of=/dev/mmcblk0p11 bs=256k conv=fsync
dd if=cdt-2G-jdc-be6500_1024M16_DDR4.bin of=/dev/mmcblk0p12 bs=256k conv=fsync
sync && reboot
刷 CDT 完成输出
看到 ok 重启,进系统 free -m 看是否变 2G

📥 文件:cdt-2G-jdc-be6500_1024M16_DDR4.bin

⚠️ 没换内存千万不要刷,会导致路由起不来。


分区备份与还原

Telnet 提权后通过 SSH 直接 dd 备份所有分区。默认备份位置 /mnt/mmcblk0p29(数据分区根目录)。

💡 最关键的两个分区:p17 ART(无线校准)+ p25 factory(MAC/序列号)。丢了一定要刷别人的备份才能救回来,相当于”虚拟序列号”。

📂 智能 bs 备份脚本(推荐 ⭐ 自动判断每个分区的 bs)

⚠️ 重要:BE6500 分区大小从 256K 到 1G 不等,不能所有分区都用 bs=1M——小分区会被 conv=sync 补零撑大,还原时溢出写坏下一个分区。下面这个脚本会读 /sys/block 自动判断每个分区大小,按 4M 阈值切换 256k / 1M。

#!/bin/sh
# BE6500 eMMC 全分区备份(排除 p28 swap、p29 数据盘)
# bs 自动选择:分区 <4M 用 256k,≥4M 用 1M
BACKUP_DIR=/mnt/mmcblk0p29/backup
mkdir -p $BACKUP_DIR

# GPT 主表(前 34 扇区)
dd if=/dev/mmcblk0 of=$BACKUP_DIR/gpt_primary.bin bs=512 count=34

for i in $(seq 1 27); do
  sectors=$(cat /sys/block/mmcblk0/mmcblk0p${i}/size)
  bytes=$((sectors * 512))
  if [ $bytes -lt 4194304 ]; then bs=256k; else bs=1M; fi
  echo "[Backup] p${i} ${bytes} bytes bs=${bs} ..."
  dd if=/dev/mmcblk0p${i} of=$BACKUP_DIR/mmcblk0p${i}.bin bs=${bs} conv=noerror,sync
done
echo "All done."
ls -lh $BACKUP_DIR/

用法:保存为 backup_all.sh,chmod +x backup_all.sh && ./backup_all.sh

📋 原始逐行备份命令(已按分区大小修正 bs,每行带分区注释)
# GPT 主表
dd if=/dev/mmcblk0    of=/mnt/mmcblk0p29/gpt_primary.bin            bs=512  count=34
# 小分区 (256K~1.8M):bs=256k
dd if=/dev/mmcblk0p1  of=/mnt/mmcblk0p29/mmcblk0p1_SBL1.bin         bs=256k conv=noerror,sync   # 1M  SBL1
dd if=/dev/mmcblk0p2  of=/mnt/mmcblk0p29/mmcblk0p2_SBL1_1.bin       bs=256k conv=noerror,sync   # 1M  SBL1_1
dd if=/dev/mmcblk0p3  of=/mnt/mmcblk0p29/mmcblk0p3_BOOTCONFIG.bin   bs=256k conv=noerror,sync   # 256K BOOTCONFIG
dd if=/dev/mmcblk0p4  of=/mnt/mmcblk0p29/mmcblk0p4_BOOTCONFIG1.bin  bs=256k conv=noerror,sync   # 256K BOOTCONFIG1
dd if=/dev/mmcblk0p5  of=/mnt/mmcblk0p29/mmcblk0p5_QSEE.bin         bs=256k conv=noerror,sync   # 1.8M QSEE
dd if=/dev/mmcblk0p6  of=/mnt/mmcblk0p29/mmcblk0p6_QSEE_1.bin       bs=256k conv=noerror,sync   # 1.8M QSEE_1
dd if=/dev/mmcblk0p7  of=/mnt/mmcblk0p29/mmcblk0p7_DEVCFG.bin       bs=256k conv=noerror,sync   # 256K DEVCFG
dd if=/dev/mmcblk0p8  of=/mnt/mmcblk0p29/mmcblk0p8_DEVCFG_1.bin     bs=256k conv=noerror,sync   # 256K DEVCFG_1
dd if=/dev/mmcblk0p9  of=/mnt/mmcblk0p29/mmcblk0p9_TME.bin          bs=256k conv=noerror,sync   # 512K TME
dd if=/dev/mmcblk0p10 of=/mnt/mmcblk0p29/mmcblk0p10_TME_1.bin       bs=256k conv=noerror,sync   # 512K TME_1
dd if=/dev/mmcblk0p11 of=/mnt/mmcblk0p29/mmcblk0p11_CDT.bin         bs=256k conv=noerror,sync   # 256K CDT
dd if=/dev/mmcblk0p12 of=/mnt/mmcblk0p29/mmcblk0p12_CDT_1.bin       bs=256k conv=noerror,sync   # 256K CDT_1
dd if=/dev/mmcblk0p13 of=/mnt/mmcblk0p29/mmcblk0p13_APPSBL_ENV.bin  bs=256k conv=noerror,sync   # 256K APPSBLENV
dd if=/dev/mmcblk0p14 of=/mnt/mmcblk0p29/mmcblk0p14_APPSBL.bin      bs=256k conv=noerror,sync   # 768K APPSBL (U-Boot)
dd if=/dev/mmcblk0p15 of=/mnt/mmcblk0p29/mmcblk0p15_APPSBL_1.bin    bs=256k conv=noerror,sync   # 768K APPSBL_1
dd if=/dev/mmcblk0p16 of=/mnt/mmcblk0p29/mmcblk0p16_ETHPHYFW.bin    bs=256k conv=noerror,sync   # 512K ETHPHYFW
dd if=/dev/mmcblk0p17 of=/mnt/mmcblk0p29/mmcblk0p17_ART.bin         bs=256k conv=noerror,sync   # 1M   ART ⭐
dd if=/dev/mmcblk0p18 of=/mnt/mmcblk0p29/mmcblk0p18_LICENSE.bin     bs=256k conv=noerror,sync   # 256K LICENSE
# 大分区 (7M~1G):bs=1M
dd if=/dev/mmcblk0p19 of=/mnt/mmcblk0p29/mmcblk0p19_WIFIFW.bin      bs=1M   conv=noerror,sync   # 12M  WIFIFW
dd if=/dev/mmcblk0p20 of=/mnt/mmcblk0p29/mmcblk0p20_WIFIFW_1.bin    bs=1M   conv=noerror,sync   # 12M  WIFIFW_1
dd if=/dev/mmcblk0p21 of=/mnt/mmcblk0p29/mmcblk0p21_HLOS.bin        bs=1M   conv=noerror,sync   # 7M   HLOS
dd if=/dev/mmcblk0p22 of=/mnt/mmcblk0p29/mmcblk0p22_HLOS_1.bin      bs=1M   conv=noerror,sync   # 7M   HLOS_1
dd if=/dev/mmcblk0p23 of=/mnt/mmcblk0p29/mmcblk0p23_rootfs.bin      bs=1M   conv=noerror,sync   # 122M rootfs
dd if=/dev/mmcblk0p24 of=/mnt/mmcblk0p29/mmcblk0p24_rootfs_1.bin    bs=1M   conv=noerror,sync   # 122M rootfs_1
dd if=/dev/mmcblk0p25 of=/mnt/mmcblk0p29/mmcblk0p25_factory.bin     bs=256k conv=noerror,sync   # 256K factory ⭐
dd if=/dev/mmcblk0p26 of=/mnt/mmcblk0p29/mmcblk0p26_plugin.bin      bs=1M   conv=noerror,sync   # 1G   plugin
dd if=/dev/mmcblk0p27 of=/mnt/mmcblk0p29/mmcblk0p27_log.bin         bs=1M   conv=noerror,sync   # 128M log
# p28 swap、p29 数据盘 不备份
📂 智能 bs 还原脚本(与上面备份配对)
#!/bin/sh
# BE6500 eMMC 全分区还原(与智能备份脚本配对)
# ⚠️ 还原会覆盖对应分区,请确认备份文件完整!
BACKUP_DIR=/mnt/mmcblk0p29/backup

for i in $(seq 1 27); do
  if [ -f $BACKUP_DIR/mmcblk0p${i}.bin ]; then
    sectors=$(cat /sys/block/mmcblk0/mmcblk0p${i}/size)
    bytes=$((sectors * 512))
    if [ $bytes -lt 4194304 ]; then bs=256k; else bs=1M; fi
    echo "[Restore] p${i} ${bytes} bytes bs=${bs} ..."
    dd if=$BACKUP_DIR/mmcblk0p${i}.bin of=/dev/mmcblk0p${i} bs=${bs} conv=fsync
  else
    echo "[Skip] p${i} - no backup file"
  fi
done
echo "All done. Reboot to take effect."

还原顺序:GPT → 小分区(p1-p18, p25)→ 大分区(p19-p24, p26-p27)→ reboot。p28 swap 重启后 mkswap /dev/mmcblk0p28 即可,p29 数据盘 mkfs.ext4 /dev/mmcblk0p29。

📋 单分区操作速查(最常用的 4 个场景)

🎯 救 factory(无线 MAC 显示 00:00 时)

dd if=/mnt/mmcblk0p29/mmcblk0p25_factory.bin of=/dev/mmcblk0p25 bs=256k conv=fsync
sync && reboot

🎯 备份 ART(路由能开就先抓一份保命)

dd if=/dev/mmcblk0p17 of=/mnt/mmcblk0p29/mmcblk0p17_ART.bin bs=256k conv=noerror,sync
md5sum /mnt/mmcblk0p29/mmcblk0p17_ART.bin
ls -l   /mnt/mmcblk0p29/mmcblk0p17_ART.bin   # 应正好 1048576 bytes

🎯 单刷 U-Boot(已在 Telnet 内)

dd if=jdc-be6500-uboot-cs06-260824.bin of=/dev/mmcblk0p14 bs=256k conv=fsync
dd if=jdc-be6500-uboot-cs06-260824.bin of=/dev/mmcblk0p15 bs=256k conv=fsync
dd if=/dev/zero of=/dev/mmcblk0p3 bs=256k count=1
dd if=/dev/zero of=/dev/mmcblk0p4 bs=256k count=1
sync

🎯 单刷 2G CDT(换内存后)

dd if=cdt-2G-jdc-be6500_1024M16_DDR4.bin of=/dev/mmcblk0p11 bs=256k conv=fsync
dd if=cdt-2G-jdc-be6500_1024M16_DDR4.bin of=/dev/mmcblk0p12 bs=256k conv=fsync
sync && reboot
📦 合并 27 个 bin 成完整大镜像(编程器/读卡器写 eMMC 用)

更换了 eMMC 的没有自家数据的,可以下载别人的合并镜像,用编程器或读卡器直接写入新 eMMC。写入 128G eMMC 可以直接 dd,写入其他容量的 eMMC 需要先修复 GPT。

cat mmcblk0_gpt.bin 
    mmcblk0p1_SBL1.bin 
    mmcblk0p2_SBL1_1.bin 
    mmcblk0p3_BOOTCONFIG.bin 
    mmcblk0p4_BOOTCONFIG1.bin 
    mmcblk0p5_QSEE.bin 
    mmcblk0p6_QSEE_1.bin 
    mmcblk0p7_DEVCFG.bin 
    mmcblk0p8_DEVCFG_1.bin 
    mmcblk0p9_TME.bin 
    mmcblk0p10_TME_1.bin 
    mmcblk0p11_CDT.bin 
    mmcblk0p12_CDT_1.bin 
    mmcblk0p13_APPSBL_ENV.bin 
    mmcblk0p14_APPSBL.bin 
    mmcblk0p15_APPSBL_1.bin 
    mmcblk0p16_ETHPHYFW.bin 
    mmcblk0p17_ART.bin 
    mmcblk0p18_LICENSE.bin 
    mmcblk0p19_WIFIFW.bin 
    mmcblk0p20_WIFIFW_1.bin 
    mmcblk0p21_HLOS.bin 
    mmcblk0p22_HLOS_1.bin 
    mmcblk0p23_rootfs.bin 
    mmcblk0p24_rootfs_1.bin 
    mmcblk0p25_factory.bin 
    mmcblk0p26_plugin.bin 
    mmcblk0p27_log.bin 
    mmcblk0p28_swap.bin 
    > allbe6500.bin

得到完整 1-28 分区镜像(约 1.5G),可直接 dd 写入 eMMC。p29 数据分区自己 cfdisk 新建。


故障排查

❓ 刷完起不来 / 进不去系统

开机插上 USB 到电脑,如果电脑识别出 高通 9008 设备,说明 SoC 还活着但启动卡住。这时进 U-Boot:

mmc info     # 看 eMMC 是否还能被识别
  • 能识别 eMMC:分区表 / 固件刷坏了,用方法二 TTL 重刷 U-Boot + 固件
  • 不能识别 eMMC / 报错:eMMC 物理损坏,需要拆下来用编程器重刷或更换 eMMC
❓ 无线 MAC 显示 00:00(factory 丢失)
无线 MAC 显示全 0
无线状态显示 00:00:00:00:00:00 就是 p25 factory 丢了

这种状态是 p25 factory 分区数据丢失(通常发生在刷 GPT 前没备份)。修复方法:

# 还原 factory(256K 小分区,bs=256k)
dd if=/mnt/mmcblk0p29/mmcblk0p25_factory.bin of=/dev/mmcblk0p25 bs=256k conv=fsync
sync && reboot

然后 U-Boot 或系统里重新刷一次固件(不要保留配置的方式刷),无线即可恢复。

没自家备份的,到 网盘 里找别人的 factory 临时救一下(属于”虚拟序列号”,能用但会和官方 APP 冲突)。


2025-06 实测:BE6500 完整分区表

一台 BE6500 实机(QWRT,ipq53xx/generic, aarch64_cortex-a53,eMMC 116.47 GiB GPT)做了完整 27 分区 dump,下表是实测得到的精确分区表,里面的”备份 bs”列就是上面智能脚本会自动选的值。

BE6500 / QWRT eMMC 分区表(Excel 风格)

这张表按补充文档中的 QWRT / ipq53xx / 116.47GiB eMMC 记录整理。p28 是 swap,p29 是数据盘;备份脚本默认排除 p28/p29,只备份 p1-p27。

#NameStartEndSectorsSizebsTypeBackup
p10:SBL134208120481M256kmmcblk0p1.binmmcblk0p1.bin
p20:SBL1_12082412920481M256kmmcblk0p2.binmmcblk0p2.bin
p30:BOOTCONFIG41304641512256K256kmmcblk0p3.binmmcblk0p3.bin
p40:BOOTCONFIG146425153512256K256kmmcblk0p4.binmmcblk0p4.bin
p50:QSEE5154873735841.8M256kmmcblk0p5.binmmcblk0p5.bin
p60:QSEE_187381232135841.8M256kmmcblk0p6.binmmcblk0p6.bin
p70:DEVCFG1232212833512256K256kmmcblk0p7.binmmcblk0p7.bin
p80:DEVCFG_11283413345512256K256kmmcblk0p8.binmmcblk0p8.bin
p90:TME13346143691024512K256kmmcblk0p9.binmmcblk0p9.bin
p100:TME_114370153931024512K256kmmcblk0p10.binmmcblk0p10.bin
p110:CDT1539415905512256K256kmmcblk0p11.binmmcblk0p11.bin
p120:CDT_11590616417512256K256kmmcblk0p12.binmmcblk0p12.bin
p130:APPSBLENV1641816929512256K256kmmcblk0p13.binmmcblk0p13.bin
p140:APPSBL16930184651536768K256kmmcblk0p14.binmmcblk0p14.bin
p150:APPSBL_118466200011536768K256kmmcblk0p15.binmmcblk0p15.bin
p160:ETHPHYFW20002210251024512K256kmmcblk0p16.binmmcblk0p16.bin
p170:ART210262307320481M256kmmcblk0p17.binmmcblk0p17.bin
p180:LICENSE2307423585512256K256kmmcblk0p18.binmmcblk0p18.bin
p190:WIFIFW23586481612457612M1MSquashFSmmcblk0p19.bin
p200:WIFIFW_148162727372457612M1MSquashFSmmcblk0p20.bin
p210:HLOS7273887073143367M1Mmmcblk0p21.binmmcblk0p21.bin
p220:HLOS_187074101409143367M1Mmmcblk0p22.binmmcblk0p22.bin
p23rootfs101410351265249856122M1MSquashFSmmcblk0p23.bin
p24rootfs_1351266601121249856122M1MSquashFSmmcblk0p24.bin
p25factory601122601633512256K256kmmcblk0p25.binmmcblk0p25.bin
p26plugin601634269878520971521G1Mext4mmcblk0p26.bin
p27log26987862960929262144128M1Mext4mmcblk0p27.bin
p28swap2960930505808120971521G–swap(swap,未备份)
p29storage5058082241663966236605885112.8G–ext4(数据盘,未备份)

橙色行是刷机、救砖、备份还原时最容易碰到的关键分区;小分区建议用小 bs,避免备份/还原时因为补零导致文件尺寸和分区不匹配。


刷机有风险,刷机需谨慎,每一步都对清楚再动手。太乙 Plus 走完全一样的流程uboot 一样 分区一样 刷机一样,只需把固件更更换太乙Plus er2 专用固件即可,

刷机视频可以B站 抖音搜 数码罗记