Linux 驱动无法加载的原因非常多,需要结合具体现象和日志来判断。下面我按最常见原因 → 排查方法 → 解决思路系统说明,你可以对照自己的情况。
驱动是和内核强绑定的。
可能原因:
CONFIG_XXX=m 未开)✅ 排查:
uname -r
modinfo your_driver.ko
看 vermagic 是否一致。
✅ 解决:
.config 打开对应选项驱动依赖的其他模块未加载。
✅ 排查:
modprobe your_driver
dmesg | tail
常见错误:
Unknown symbol xxx
✅ 解决:
modprobe dependency_module
或重新编译包含依赖。
在启用 Secure Boot 的机器上:
✅ 错误示例:
module verification failed: signature and/or required key missing
✅ 解决:
sign-file 给模块签名✅ 解决:
sudo insmod your_driver.ko
驱动加载成功,但没有绑定设备
✅ 排查:
ls /sys/bus/*/devices
dmesg | grep your_driver
常见于:
vendor:id 不匹配lsmod | grep your_driver
✅ 解决:
rmmod your_driver
.ko 文件存在但其实是无效的✅ 检查:
file your_driver.ko
dmesg | tail -50
lsmod
uname -a
modinfo your_driver.ko
如果你愿意,可以贴出:
dmesg 相关输出我可以直接帮你定位是哪一类问题以及怎么改。