I.MX6 Linux eGTouch TouchScreen porting

简介: I.MX6 Linux eGTouch TouchScreen porting 一、Download Driver: http://www.
                    I.MX6 Linux eGTouch TouchScreen porting


一、Download Driver:
    http://www.eeti.com.tw/drivers_Linux.html

二、阅读:EETI eGTouch Linux Programming Guide

三、系统启动配置:
    ......
    # 本人直接将驱动放在内核里了,并没有做成模块
    # insmod /module/hid-multitouch.ko
    # 使用eGTouch_v2.5.4330.L-ma/eGTouchARM/eGTouchARMnonX里面的文件
    /usr/bin/eGTouchD &

    # sleep 1      # 我是通过这个sleep 1发现是设备节点不存在造成的
    while [ ! -e /dev/input/event4 ]
    do
        echo "please hang up USB TOUCH !"
        usleep 10  # 自己写的C延时程序当shell命令用
    done

    export TSLIB_ROOT=/usr/local/tslib-instal                                
    export TSLIB_TSDEVICE=/dev/input/event4                                  
    export TSLIB_CALIBFILE=/etc/pointercal                                   
    export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf                            
    export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts                                
    export TSLIB_FBDEVICE=/dev/fb0                                           
    export PATH=/usr/local/tslib-instal:$PATH                      
    export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib
    export QT_QWS_FONTDIR=/usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib/fonts
    export QWS_MOUSE_PROTO=tslib:/dev/input/event4 
    ......

四、问题集锦:
    1. 问题1:不确定那个input输入:
        解决方法:
            1. 运行:cat /proc/bus/input/devices;
                root@freescale /etc$ cat /proc/bus/input/devices 
                ......
                
                I: Bus=0006 Vendor=0eef Product=0020 Version=0001
                N: Name="eGalaxTouch Virtual Device for Multi"
                P: Phys=
                S: Sysfs=/devices/virtual/input/input5
                U: Uniq=
                H: Handlers=cpufreq_interactive event4 
                B: PROP=2
                B: EV=b
                B: KEY=400 0 0 0 0 0 0 0 0 0 0
                B: ABS=6608000 1000003
                
                I: Bus=0006 Vendor=0eef Product=0010 Version=0001
                N: Name="eGalaxTouch Virtual Device for Single"
                P: Phys=
                S: Sysfs=/devices/virtual/input/input6
                U: Uniq=
                H: Handlers=event5 
                B: PROP=2
                B: EV=b
                B: KEY=30000 0 0 0 0 0 0 0 0
                B: ABS=3
                
                root@freescale /etc$ 
            2. 通过H:Handlers确定eGTouch对应的是/dev/input/event4、/dev/input/event5,
                两个都试一下就知道哪个能用了。

    2. 问题2:系统第一次开机时执行ts_calibrate闪退(经常连闪都看不到),导致无法正常校正:
        解决方法:
            在/usr/bin/eGTouchD &设备插入检测机制,原因是,生成上面的event4、 event5
            是需要一点时间的,这样后面的tslib才能正确的识别。
            while [ ! -e /dev/input/event4 ]
            do
                echo "please hang up USB TOUCH !"
                usleep 10
            done
            
    3. 问题3:tslib: Selected device is not a touchscreen (must support ABS and KEY event types)
        解决方法:
            1. 可能是因为驱动不支持,更换标准的驱动,因为有些驱动是别人在标准驱动上
                修改的驱动,所以最好换成官方标准的驱动;
            2. export TSLIB_TSDEVICE=/dev/input/event4指向的input设备不正确,注意
                修改成正确的input设备;

 

目录
打赏
0
0
0
0
12
分享
相关文章
I.MX6 Linux udev porting
/*********************************************************************** * I.MX6 Linux udev porting * 声明: * 在嵌入式产品上,我们可以使用mdev来解决热插拔的问题,同时也经常看到 * udev,所以尝试来移植一下,但是最终发现她会丢失内核阶段产生的uevent, * 这导致无法生成内核阶段产生的设备节点,目前采用了mdev来做完成内核阶段的 * 设备节点生成,之后使用udev完成热插拔,这个问题后续有空再解决。
2250 0
I.MX6 Ubuntu core porting
/*********************************************************************** * I.MX6 Ubuntu core porting * 说明: * 之前查资料查到了Ubuntu core的资料,然后一直想尝试将Ubuntu core放到 * I.MX6中,当然也想将其放到OK335xS中,于是今天花点时间将其放入I.MX6中。
927 0
I.MX6 SHT20 Linux 驱动移植
/*********************************************************************** * I.MX6 SHT20 Linux 驱动移植 * 说明: * 本来打算使用SHT10来做湿度检测,发现其并不是I2C接口,当然也使用 * GPIO能获取到相关数据了,不过由于不小心将其烧坏了,所以换成SHT20。
1853 0
I.MX6 Linux I2C device& driver hacking
/******************************************************************************************* * I.
1021 0
I.MX6 linux kernel编译错误处理
/******************************************************************************** * I.MX6 linux kernel编译错误处理 * 声明: * 本文仅仅是对I.MX6的linux内核编译出错,记录其对应的处理方法。
1098 0
I.MX6 Kernel BUG at include/linux/netdevice.h:520!
/*************************************************************************** * I.MX6 Kernel BUG at include/linux/netdevice.h:520! * 声明: * 导致这个问题的原因是对应网卡控制器上的phy已经被移除。
1573 0
|
10月前
|
Linux中的ko怎么玩?
Linux中的ko怎么玩?
448 0
I.MX6 linux eGalaxTouch 自动获取设备节点
I.MX6 linux eGalaxTouch 自动获取设备节点 \\\\\\\\\\\\\\-*- 目录 -*-///////////// | 一.
1333 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等