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

USRP N310嵌入式设备读取芯片报Device or Resource Busy错误如何解决

问题解答

1. udev排查方法与modalias的准确性对比

两种方法的定位维度不同,不存在绝对的准确性高低,适用场景有区别:

  • modalias是内核用于匹配硬件与对应驱动的标识,你读取到的of:Ngpio(null)Cti,tca6408就是TCA6408芯片的硬件匹配字符串,内核会通过该标识加载对应的驱动,该值用于确认硬件对应的驱动名称是可靠依据。
  • udev输出的是设备的层级关联关系,可直接展示当前设备绑定的驱动、父设备的驱动信息,在排查「当前哪个驱动占用了设备」的场景下,udev的输出更直接,不需要额外做匹配关联。

2. cdns-i2c是否为占用设备的驱动

cdns-i2c不是占用0x20从地址TCA6408设备的驱动,它是当前I2C总线9的控制器(适配器)驱动,负责管理整个I2C总线的底层通信,不属于从设备驱动。

结合你反馈的i2cdetect -r 9输出UU、lsmod无相关I2C模块的信息,可以确定实际占用TCA6408设备的是内核内置的gpio-tca6408驱动,该驱动直接编译进内核镜像而非以模块形式加载,因此lsmod查询不到结果。你之前禁用MPM服务无效,是因为占用设备的是内核态已绑定的驱动,而非用户态的MPM进程。


临时解决方法

如果需要自行从用户态操作该TCA6408设备,可先执行以下命令解绑内核驱动:

echo "9-0020" > /sys/bus/i2c/drivers/tca6408/unbind

解绑后再运行你的交叉编译应用即可解决Device or Resource Busy报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:45:02