旭日x3派进不去系统

我在使用旭日x3派,第一次sd卡烧录好系统(v1.1.7)后,可以正常进入系统;
但是现在重新烧录系统无论是v1.1.7还是v3.0.3,都没办法进入系统,板子的灯常亮绿色,debug的串口输出如下:
U-Boot 2018.09-00018-ge762fe49 (Jan 02 2024 - 18:10:12 +0800)

Model: Hobot XJ3 Soc Board
DRAM: system DDR size: 0x7fe00000
2 GiB
MMC: dwmmc@A5010000: 0, dwmmc@A5011000: 1, dwmmc@A5012000: 2
Loading Environment from UBI… GigaDevice SPI NAND was found.
128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
*** Warning - bad CRC, using default environment

xj3_iar_probe: IAR output mode not define,using HDMI output as default
xj3_iar_probe: fail to set pixel clock 241700000 hz -1 hz
xj3_iar_probe: IAR output mode not define,using HDMI output as default
xj3_iar_probe: fail to set pixel clock 241700000 hz -1 hz
In: serial
Out: serial
Err: serial
Net: x3pi reset eth phy done

Warning: ethernet@A5014000 (eth0) using random MAC address - b6:4c:af:d5:2a:8f
eth0: ethernet@A5014000
Disable cnn cores ..
dtb_name:hobot-x3-pi.dtb
base board type: X3 SDB(for ddr dqmap)
bootmode: NAND
board_id = 31520324
hb_boot_args_cmd_set custom_bootargs 0 ubuntu_boot 1
Hit key to stop autoboot in 1s
enable watchdog success !
eMMC or SD Card not detected on mmchost 0
eMMC or SD Card not detected on mmchost 1
eMMC or SD Card not detected on mmchost 2
Boot from eMMC or SD Card failed
Hobot>

结论

你的 X3 派卡在 U-Boot 阶段无法启动,核心问题是:SD 卡未被正确识别eMMC or SD Card not detected on mmchost 0/1/2),导致无法加载系统镜像。

从日志看:

  • 板子正常完成 DDR 初始化
  • U-Boot 成功加载
  • 但所有 MMC 控制器都检测不到 SD 卡
  • 最终停在 Hobot> 命令行

这是典型的SD 卡启动失败问题,社区已有多个类似案例。


排查步骤

:one: 检查 SD 卡物理状态

# 确认事项:
- SD 卡是否完全插入卡槽(听到"咔哒"声)
- 卡槽金属触点是否氧化/脏污
- 尝试更换 SD 卡(推荐品牌:闪迪/三星,容量 16-64GB,Class 10 以上)

:two: 重新烧录系统镜像

关键操作:

# 使用官方推荐工具
- Windows: balenaEtcher 或 Rufus(以 DD 模式)
- Linux: dd 命令
- 烧录后**安全弹出**SD 卡,不要直接拔出

# 镜像选择
- 优先尝试最新版 v3.0.3
- 如果之前 v1.1.7 能用,可能是新镜像与旧 U-Boot 兼容性问题

:three: 升级 MiniBoot/U-Boot(最重要)

社区反馈5 月后修复了 SD 卡兼容性问题,需要升级板载 U-Boot:

方法 A:通过 hbupdate 工具(推荐)

# 在另一台能正常启动的 X3 派上操作
# 或借用朋友的板子先升级 U-Boot

# 下载最新 miniboot 包
# 参考社区置顶帖:https://developer.d-robotics.cc/forumDetail/251934743552436364

# 烧录到故障板子的 eMMC/NAND
hbupdate -f miniboot_vxxx.bin

方法 B:通过 Fastboot 模式

# 板子断电
# 按住 Recovery 键(如果有)再上电
# 进入 Fastboot 模式后烧录

fastboot flash uboot uboot_x3pi_vxxx.bin
fastboot reboot

:four: 检查启动模式跳线

X3 派支持多种启动方式(NAND/SD/eMMC),确认:

  • 板子上是否有启动模式跳线帽
  • 是否误触导致切换到 NAND 启动而非 SD 启动
  • 日志中 bootmode: NAND 表示从 NAND 启动,但你的系统在 SD 卡上

临时解决方案

如果急需使用,可以尝试在 U-Boot 命令行手动加载:

Hobot> mmc dev 0        # 切换到 mmc0
Hobot> mmc info         # 查看 SD 卡信息
Hobot> fatload mmc 0 0x42000000 uImage
Hobot> bootm 0x42000000

如果 mmc info 无输出,说明硬件层面未检测到 SD 卡。


社区相关案例


建议操作顺序

  1. 换一张 SD 卡(最可能的原因)
  2. 用 DD 模式重新烧录 v3.0.3 镜像
  3. 升级 MiniBoot/U-Boot 到最新版本
  4. 如果仍不行,联系官方技术支持,可能是板子 MMC 控制器硬件问题

需要我帮你查找最新的 MiniBoot 下载链接或升级教程吗?

需要查找最新的 MiniBoot 下载链接或升级教程

根据你的情况,我整理了最新的 MiniBoot 升级教程下载链接


:inbox_tray: MiniBoot 固件下载

官方下载地址:

http://sunrise.horizon.cc/downloads/miniboot/

根据你的板子选择固件:

  • 2GB 内存 + 3.3V(默认):disk_nand_minimum_boot_2GB_3V3_20230413.img
  • 4GB 内存 + 3.3V(默认):disk_nand_minimum_boot_4GB_3V3_20230413.img

:warning: 如果不确定内存大小,查看板子丝印或第一次能启动时的系统版本


:wrench: 升级方法(两种)

方法一:板端升级(需要另一块能启动的板子)

如果你还有另一块能正常启动的 X3 派:

# 1. 在能启动的板子上下载固件
cd /userdata
wget http://sunrise.horizon.cc/downloads/miniboot/disk_nand_minimum_boot_4GB_3V3_20230413.img

# 2. 执行升级命令(根据内存选择)
sudo update_minimum_boot disk_nand_minimum_boot_4GB_3V3_20230413.img

# 3. 重启
sudo reboot

升级完成后,用这块板子的 SD 卡去故障板子尝试启动。


方法二:使用 hbupdate 工具(推荐,无需能启动的板子)

步骤:

  1. 下载工具

    http://sunrise.horizon.cc/downloads/hbupdate/hbupdate_win64_v2.1.9.1_rdk.zip
    
  2. 硬件连接

    • 仅需 串口线(USB 转 TTL)
    • 连接板子的 UART 引脚(GND, TX, RX)
    • 不要接电源
  3. 配置 hbupdate

    • 打开 hbupdate.exe
    • Board Name: 选择 RDK_X3_4GB(或 2GB)
    • Serial Port: 选择你的串口号
    • File: 选择下载的 miniboot 固件(.img 文件)
  4. 烧录操作

    1. 确保板子断电
    2. 点击 Start 按钮
    3. 看到提示"请上电"后,立即给板子通电
    4. 等待进度条完成(约 10-30 秒)
    
  5. 验证

    • 烧录完成后断电重启
    • 如果不再打印 CCC 且能识别 SD 卡,说明成功

:high_voltage: 快速解决建议(按优先级)

根据你的日志 eMMC or SD Card not detected on mmchost 0/1/2,建议顺序:

优先级 操作 成功率
:one: 更换 SD 卡(闪迪/三星 16-32GB Class10) 60%
:two: 升级 MiniBoot(用 hbupdate 工具) 80%
:three: 使用 v3.0.3 镜像(v1.1.7 太旧) 70%
:four: 检查 SD 卡槽接触(清理触点) 30%

:pushpin: 关键提示

  1. v1.1.7 镜像太旧:社区反馈 RDK X3 V1.1.7 版本镜像无法启动 中,官方建议直接用 v3.0.3+
  2. SD 卡兼容性:2023 年 5 月后修复了 SD 卡兼容性问题,必须升级 MiniBoot
  3. 烧录工具:使用 balenaEtcherRufus(DD 模式),不要用默认模式

:sos_button: 如果 hbupdate 烧录失败

常见错误及解决:

错误现象 原因 解决
卡在 10% 上电时机不对 先点 Start,看到提示再上电(10 秒内)
找不到串口 驱动未安装 安装 CH340/CP210x 串口驱动
校验失败 固件不匹配 确认内存大小(2GB/4GB)

需要我帮你确认板子的内存大小,或者提供串口接线图吗?

:books: 最新 MiniBoot 升级资源

根据社区最新信息,我为你整理了完整的升级资源:


:link: 官方文档与下载


:bullseye: 针对你的情况(推荐方案)

由于你的板子第一次能启动 v1.1.7,说明硬件正常,问题是旧版 MiniBoot 与新 SD 卡/新镜像不兼容

最优解决路径:

1. 更换 SD 卡(闪迪/三星 16-32GB Class10)
   ↓
2. 用 balenaEtcher 烧录 v3.0.3 镜像
   ↓
3. 如果仍不行,用 hbupdate 升级 MiniBoot

:high_voltage: hbupdate 烧录 MiniBoot 详细步骤

硬件连接:

电脑 USB ──→ USB 转 TTL 模块 ──→ X3 派
              GND ──→ GND
              TX  ──→ RX
              RX  ──→ TX

:warning: 不要接电源,hbupdate 会通过串口服电触发下载模式

操作流程:

1. 解压 hbupdate_win64_v2.1.9.1_rdk.zip
2. 运行 hbupdate.exe
3. Board Name: 选择 RDK_X3_4GB(不确定就选 4GB)
4. Serial Port: 选择你的串口号
5. File: 选择 disk_nand_minimum_boot_4GB_3V3_20230413.img
6. 板子断电 → 点击 Start → 看到提示后立即上电
7. 等待进度条到 100%

:clipboard: 固件选择指南

内存大小 固件文件
2GB disk_nand_minimum_boot_2GB_3V3_20230413.img
4GB disk_nand_minimum_boot_4GB_3V3_20230413.img

如果不确定,查看板子丝印或第一次启动成功时的 dmesg 输出


:sos_button: 常见问题

问题 解决
卡在 10% 先点 Start,看到"请上电"提示后 5 秒内通电
找不到串口 安装 CH340 驱动,检查串口线连接
烧录后仍不识别 SD 卡 更换 SD 卡品牌/容量,或尝试 v3.0.3 镜像

:telephone_receiver: 需要进一步帮助?

如果上述步骤仍无法解决,建议:

  1. 在帖子下回复你的烧录日志截图
  2. 提供SD 卡品牌和容量
  3. 联系官方技术支持(文档中有联系方式)

需要我帮你查看官方文档的具体内容,或者提供串口接线图吗?