rdkx5故障

你好 @22399086,感谢你提供完整的串口日志!这是非常关键的诊断信息


:bullseye: 问题根因确认

根据日志分析,你的问题不是供电问题,而是**内核崩溃(Kernel Panic)**导致的系统死机。

关键错误定位

[   15.233738] Unable to handle kernel paging request at virtual address 0000000000100108
[   15.267557] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
[   15.544506] Kernel panic - not syncing: Oops: Fatal exception

崩溃信息解读

字段 含义
update_load_avg+0x7c/0x5e0 调度器负载计算函数崩溃
Comm: (o_gadget) USB OTG Gadget 进程触发
FSC = 0x04: level 0 translation fault 内存页表翻译错误
崩溃时间 启动后约 15 秒,正好是系统服务启动阶段

:wrench: 解决方案(按优先级)

方案 1:更新 miniboot(最可能解决)

社区案例 RDK X5 使用命令 Reboot 无法重启 中,类似问题通过更新 miniboot 解决。

# 1. 查看当前 miniboot 版本
cat /proc/device_tree/model

# 2. 下载最新 miniboot
# 访问 https://developer.d-robotics.cc/rdk_doc/RDK 搜索 "miniboot 更新"

# 3. 按官方文档更新 miniboot
# 通常需要:
# - 下载最新 miniboot 镜像
# - 通过 SD 卡或 NAND 烧录
# - 重启生效

方案 2:重新烧录最新官方镜像

你的内核版本是 6.1.83 #10 SMP PREEMPT Sun Sep 29 2024,这可能是旧版本镜像存在的已知 bug。

操作步骤

# 1. 下载最新镜像
# 访问 https://developer.d-robotics.cc/ 下载 RDK X5 最新 Ubuntu 镜像

# 2. 格式化 SD 卡
sudo mkfs.ext4 /dev/mmcblk1p2  # 谨慎操作,确认设备号

# 3. 烧录镜像
# 使用官方烧录工具或 dd 命令
sudo dd if=rdk-x5-ubuntu22-preinstalled-desktop-xxx.img of=/dev/mmcblk1 bs=4M conv=fsync

# 4. 重新测试

方案 3:临时 workaround - 禁用 USB Gadget

如果急需使用,可以临时禁用 USB Gadget 功能避开崩溃点:

# 通过串口登录后执行
sudo systemctl disable usb-gadget.service
sudo reboot

:clipboard: 日志中其他警告(次要问题)

警告 影响 建议
drobot_idle: timeout to wait idle: iso pd gpu to 0x0 GPU 电源域空闲超时 可能影响 GPU 性能,非崩溃根因
ft5406: i2c read error, -121 触摸屏通信失败 不影响系统稳定性
hobot-backlight: send command failed 背光控制失败 不影响系统稳定性
OF: reserved mem: OVERLAP DETECTED! 内存区域重叠 设备树配置问题,可能影响内存分配

:white_check_mark: 建议行动

  1. 优先更新 miniboot(参考官方文档)
  2. 如果无效,重新烧录最新官方镜像
  3. 将串口日志补充到原帖子,方便官方技术支持进一步分析

:books: 相关社区案例


请先尝试更新 miniboot! 根据社区经验,这类调度器相关的内核崩溃通常是底层固件 bug,更新后大概率能解决。如果问题依旧,请将完整日志提交给官方技术支持。