Chinaunix首页 | 论坛 | 博客
  • 博客访问: 274961
  • 博文数量: 74
  • 博客积分: 1336
  • 博客等级: 中尉
  • 技术积分: 1057
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-02 09:33
文章分类

全部博文(74)

文章存档

2016年(6)

2015年(4)

2014年(20)

2013年(8)

2012年(16)

2010年(9)

2009年(11)

我的朋友

分类: 其他平台

2014-01-04 12:43:39

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








gedit arm-none-linux-gnueabi/libc/usr/include/linux/input.h 
阅读(1188) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~