linux内核插入模块时 Unknown symbol in module

描述

编译驱动的时候碰了  insmod: error inserting './igb.ko': -1 Unknown symbol in module 的问题,在网上看了下,说是查看 dmesg | tail 看输出信息中的Unknown symbol,加载上这些模块就好。我的输出信息是:
 

1

2

3

4

5

[ 3548.357465] igb: Unknown symbol dca_remove_requester

[ 3548.358569] igb: Unknown symbol dca_add_requester

[ 3548.358814] igb: Unknown symbol dca_unregister_notify

[ 3548.358817] igb: Unknown symbol dca_register_notify

[ 3548.358924] igb: Unknown symbol dca3_get_tag

但是我在系统中查看

dca_remove_requester

dca_add_requester

dca_unregister_notify

dca_register_notify

dca3_get_tag

5个模块是没有找到,细细一想,估计是由于模块依赖的其他模块没有加载导致的。

直接用: modinfo  ./igb.ko | grep depend   找模块的依赖,结果如下,

depends:        dca

然后再执行: 

localhost:/opt/igb/igb-4.0.17/src #  modprobe dca

localhost:/opt/igb/igb-4.0.17/src #  insmod ./igb.ko 

附:《模块加载常见错误》
 

insmod: error inserting './igb.ko': -1 Unknown symbol in module           --->    依赖的模块没有加载,需要先加载 depends 中列出的模块
 

insmod: error inserting './igb.ko': -1 Operation not permitted                --->    这当然是你用普通用户执行才出现的错误咯
 

insmod: error inserting './igb.ko': -1 Invalid module format                    --->    模块的vermagic(就是编译内核的环境的内核版本)和当前系统不相匹配
 

insmod: error inserting './aacraid.ko': -1 No such device                       --->    模块是对的,只是没有相应的设备

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分