如何清除Debian Bullseye下BeagleBone Black的I2C2总线UU(忙状态)?
解决BeagleBone Black无法开机及I2C2总线地址占用问题
一、恢复开机
注释enable_uboot_cape_universal=1导致无法开机,按以下步骤恢复:
- 将系统存储介质(SD卡或eMMC)连接到电脑,找到
uEnv.txt文件 - 移除
enable_uboot_cape_universal=1前的注释符号(如#),保存文件后装回BeagleBone Black,重启设备
二、处理I2C2总线0x54-0x57显示UU的问题
UU代表地址被内核驱动占用,大概率是at24驱动(对应EEPROM设备)绑定了这些地址,按以下操作排查解决:
- 确认驱动占用情况
执行命令查看I2C2总线设备状态:
查看at24驱动绑定的设备:i2cdetect -r -y 2ls /sys/bus/i2c/drivers/at24/ - 临时解除地址绑定
以解绑2-0054为例,执行:
重复上述命令,将0x55、0x56、0x57依次解绑,再用echo 2-0054 > /sys/bus/i2c/drivers/at24/unbindi2cdetect检查,UU状态应消失。 - 永久禁用自动绑定
- 新建或编辑
/etc/modprobe.d/blacklist-at24.conf文件,添加:
若仍需使用at24驱动但要跳过这些地址,改为:# 完全禁用at24驱动 blacklist at24options at24 ignore=2,0x54,0x55,0x56,0x57 - 更新initramfs使配置生效:
update-initramfs -u - 重启系统即可。
- 新建或编辑
额外排查:检查设备树是否预加载了占用地址的cape,执行以下命令查看加载的cape信息:
cat /proc/device-tree/chosen/cape
若存在相关cape定义,可在uEnv.txt中禁用对应cape的加载。
内容的提问来源于stack exchange,提问作者kavan mehta
相关产品推荐
相关产品推荐

