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

树莓派执行modprobe industrialio-sw-device时模块未找到的求助

解决industrialio-sw-device模块找不到的问题

问题原因

你的树莓派当前使用的5.15.56-v8+内核未预编译industrialio-sw-device模块,大概率是内核配置未开启该功能,或是该模块在这个内核版本中存在名称变更。

解决步骤

1. 确认模块状态

先执行命令搜索系统中已有的Industrial I/O相关模块,确认是否存在改名后的替代模块:

find /lib/modules/$(uname -r) -name "*industrialio*"

如果输出里没有industrialio-sw-device.ko,说明模块确实缺失,继续后续操作。

2. 检查内核配置

查看当前内核是否启用了软件IIO设备支持:

zcat /proc/config.gz | grep CONFIG_IIO_SW_DEVICE

若输出为# CONFIG_IIO_SW_DEVICE is not set,则说明内核未开启该功能,需要手动编译模块。

3. 手动编译并安装模块

这是最直接的解决方法,步骤如下:

  • 安装编译依赖:
    sudo apt update && sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev
    
  • 克隆对应版本的树莓派内核源码:
    git clone --depth=1 --branch rpi-5.15.y https://github.com/raspberrypi/linux.git
    
  • 进入源码目录并加载当前内核配置:
    cd linux
    zcat /proc/config.gz > .config
    
  • 打开内核配置菜单启用模块:
    make menuconfig
    
    在菜单中依次导航:Device Drivers -> Industrial I/O support -> Software IIO device support,按M键将其设置为可加载模块(显示为<M>),按ESC退出并保存配置。
  • 编译模块:
    make modules_prepare && make M=drivers/iio/sw_device
    
  • 安装编译好的模块:
    sudo cp drivers/iio/sw_device/industrialio-sw-device.ko /lib/modules/$(uname -r)/kernel/drivers/iio/sw_device/
    
  • 更新模块依赖:
    sudo depmod -a
    

现在再执行sudo modprobe industrialio-sw-device即可成功加载模块。

4. 替代方案:使用libiio自带初始化脚本

部分libiio仓库提供了自动加载虚拟设备的脚本(比如iio_dummy.sh),你可以在libiio源码目录中搜索该脚本,执行它自动处理模块加载,可能规避版本兼容或模块名称问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 00:21:40