您的位置:首页 > 其它

version magic '2.6.30.4 mod_unlo…

2014-05-06 17:33 447 查看
在做驱动的时候,我遇到下面的提示错误。在网上差了好久,发现我并没有犯他们介绍的错误。用下面的方法,我解决了。
version magic '2.6.30.4 mod_unload ARMv4 '
should be '2.6.30.4-EmbedSky'
文章出处:http://blog.163.com/cailing_07@126/blog/static/33915087201211094613923/

1,selected device is not a touchscreen I understand

想去找源码,没找到。(后来知道,我是有源码的。)

2,可能是配置问题。也没看到有什么错。probe是成功了。

3,看到一句信息。

input_polldev: version magic '2.6.30.4-EmbedSky mod_unload ARMv4 '
should be '3.2.5apple2.0 mod_unload ARMv4 p2v8 '

insmod: can't insert '/lib/input-polldev.ko': invalid module
format

怀疑input-polldev.ko没有加载出错。于是在kenrel中,发现根本没选择该项,于是选成y,加载到kernel中。然后在文件系统中删除ismod
input-polldev.ko。

4,结果还是不行。于是用原本的kernel,发现input-polldev.ko模块不加载也没问题,触摸屏照用。于是只能把问题集中到“selected
device is not a touchscreen I understand”

去看tslib中的源码。发现问题出在input_raw.c文件中。找到了线索。

arm交叉编译工具中的头文件库中的linux/input.h中的EV_VERSION定义为

#define
EV_VERSION
0x010000

而linux内核include/linux/input.h中的EV_VERSION定义为

#define
EV_VERSION
0x010001

由此可见问题就出现在内核的输入子系统的版本号不匹配的问题

解决办法:

1.将内核源代码里的include/linux/input.h中的

#define
EV_VERSION
0x010001

改为:

#define
EV_VERSION
0x010000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐