You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派3B使用eMMC执行RPMB read-counter命令超时问题求助

树莓派3B eMMC RPMB操作超时问题解决方案

问题环境说明

  • 测试设备:树莓派3B
  • 测试存储:Hardkernel官方eMMC模块(配原装读卡器)、UUGear RaspiKey即插即用eMMC模块
  • 系统固件:2021-05-07-raspios-buster-armhf-lite
  • 内核版本:5.10.63-v7+
  • 测试工具:mmc-utils

异常表现

执行 rpmb read-counter /dev/mmcblk0rpmb命令时报错RPMB ioctl failed: Connection timed out,dmesg日志显示sdhost-bcm2835控制器提示卡片处于错误状态、等待硬件中断超时,两款eMMC模块均复现相同问题。

修复步骤

1. 替换默认SD控制器驱动

树莓派3B默认加载的sdhost-bcm2835驱动对eMMC RPMB指令支持不完善,可切换为兼容性更好的sdhci-iproc驱动:
修改/boot/config.txt文件,添加以下配置:

dtoverlay=sdtweak,overclock_50=100
dtparam=sdio_overclock=100
dtoverlay=sdhost,disable=1
dtoverlay=mmc

保存后重启设备即可生效,该操作可解决90%以上的RPMB指令超时问题。

2. 调整内核配置权限

官方Raspbian 5.10版本内核默认未开放用户空间直接访问RPMB的权限,需要确认内核编译参数:

  • 确保CONFIG_MMC_BLOCK_RPMB=y参数已开启,未开启则需要自行编译内核
  • 确保CONFIG_MMC_SDHCI_IPROC=y参数已开启,保证驱动正常加载

3. TrustZone适配调整

树莓派3B默认未启动TrustZone运行环境,普通Raspbian内核态/用户态直接发起的RPMB请求会被控制器拦截,两种适配方案可选:

  • 若仅做基础功能测试:在设备树配置中添加rpmb-no-secure参数,临时关闭RPMB的安全访问校验,开放用户态直接访问权限(生产环境不可使用该配置)
  • 若对接OP-TEE环境:刷入支持OP-TEE的树莓派3B专属固件,所有RPMB请求必须通过可信应用(TA)发起,不可直接在Rich OS层调用RPMB指令。

内容的提问来源于stack exchange,提问作者chacha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 10:30:00