当前位置: 技术问答>linux和unix
linux insmod error inserting ' ':-1file exists问题
来源: 互联网 发布时间:2016-11-02
本文导语: 我编了一个驱动程序,可以编译生成.ko文件,但加载模块的时候提示linux insmod error inserting './chatdev.ko ':-1 file exists,我刚开始学习驱动程序编程,实在不知怎么解决,希望大家帮帮忙. | ...
我编了一个驱动程序,可以编译生成.ko文件,但加载模块的时候提示linux insmod error inserting './chatdev.ko ':-1 file exists,我刚开始学习驱动程序编程,实在不知怎么解决,希望大家帮帮忙.
|
#lsmod |grep chatdev
查看是否存在此内核模块,如果存在,则卸载它,#rmmod chatdev
查看是否存在此内核模块,如果存在,则卸载它,#rmmod chatdev
|
好像是已经有这个驱动了,并且正在运行。你可以试试rmmod或重启看看。
|
最后的那个1表示有一个程序正在使用这个模块。
如果LZ确信没有其他程序使用这个模块,那么有可能是驱动代码有错误引起了异常退出之类的状况。
没什么好办法,仔细检查代码,慢慢调试吧。比如,试着删掉某些部分的代码,看看还有没有相同症状出现。
|
如果没有任何对于该模块的测试程序运行,那就肯定是驱动的问题,如果没有运行测试程序就不能rmmod要特别注意是模块的 init和probe这两个函数。如果你运行过测试程序后,则主要要注意open函数。
|
LZ可以通过./init.d/rcS下的启动配置文件查看哪些程序正在运行。
|
module_init里没返回0,而是返回了-1?
|
查看你的注册的设备名,然后在你moudle_init里printk,看看是哪儿导致程序不运行了。