I.MX6 Linux eGTouch TouchScreen porting
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 # 我是通过这个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.-arm/lib
export QT_QWS_FONTDIR=/usr/local/Trolltech/QtEmbedded-4.8.-arm/lib/fonts
export QWS_MOUSE_PROTO=tslib:/dev/input/event4
...... 四、问题集锦:
. 问题1:不确定那个input输入:
解决方法:
. 运行:cat /proc/bus/input/devices;
root@freescale /etc$ cat /proc/bus/input/devices
...... I: Bus= Vendor=0eef Product= Version=
N: Name="eGalaxTouch Virtual Device for Multi"
P: Phys=
S: Sysfs=/devices/virtual/input/input5
U: Uniq=
H: Handlers=cpufreq_interactive event4
B: PROP=
B: EV=b
B: KEY=
B: ABS= I: Bus= Vendor=0eef Product= Version=
N: Name="eGalaxTouch Virtual Device for Single"
P: Phys=
S: Sysfs=/devices/virtual/input/input6
U: Uniq=
H: Handlers=event5
B: PROP=
B: EV=b
B: KEY=
B: ABS= root@freescale /etc$
. 通过H:Handlers确定eGTouch对应的是/dev/input/event4、/dev/input/event5,
两个都试一下就知道哪个能用了。 . 问题2:系统第一次开机时执行ts_calibrate闪退(经常连闪都看不到),导致无法正常校正:
解决方法:
在/usr/bin/eGTouchD &设备插入检测机制,原因是,生成上面的event4、 event5
是需要一点时间的,这样后面的tslib才能正确的识别。
while [ ! -e /dev/input/event4 ]
do
echo "please hang up USB TOUCH !"
usleep
done . 问题3:tslib: Selected device is not a touchscreen (must support ABS and KEY event types)
解决方法:
. 可能是因为驱动不支持,更换标准的驱动,因为有些驱动是别人在标准驱动上
修改的驱动,所以最好换成官方标准的驱动;
. export TSLIB_TSDEVICE=/dev/input/event4指向的input设备不正确,注意
修改成正确的input设备;
I.MX6 Linux eGTouch TouchScreen porting的更多相关文章
- I.MX6 Goodix GT9xx touchscreen driver porting
/************************************************************************ * I.MX6 Goodix GT9xx touch ...
- I.MX6 Linux udev porting
/*********************************************************************** * I.MX6 Linux udev porting ...
- I.MX6 linux Qt 同时支持Touch、mouse
/***************************************************************************** * I.MX6 linux Qt 同时支持 ...
- I.MX6 Linux 自动获取AR1020 event input节点
/*********************************************************************** * I.MX6 Linux 自动获取AR1020 ev ...
- I.MX6 Linux Qt 启动流程跟踪
/************************************************************************** * I.MX6 Linux Qt 启动流程跟踪 ...
- I.MX6 linux kernel编译错误处理
/******************************************************************************** * I.MX6 linux kern ...
- I.MX6 linux tslib Corrupt calibration data
I.MX6 linux tslib Corrupt calibration data 一.tslib出错 Corrupt calibration data 二.解决方法: ...... if [ -f ...
- I.MX6 Linux mipi配置数据合成
/*************************************************************************** * I.MX6 Linux mipi配置数据合 ...
- I.MX6 Linux、Jni ioctl 差异
/*********************************************************************** * I.MX6 Linux.Jni ioctl 差异 ...
随机推荐
- centos查看是否安装了某个软件
1. rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep "软件或者包的名字". 2. yum方法安装的,可以用yum list ...
- 链表中的倒数第k个结点
题目描述 输入一个链表,输出该链表中倒数第k个结点. 基本思想:定义两个指针a,b分别指向头节点, a指针先向前走k-1步(注意:因为倒数节点是从倒数第一个结点开始的,而不是零),然后a指针和b指 ...
- Java循环语句之 do...while
do...while 循环与 while 循环语法有些类似,但执行过程差别比较大. 语法: 执行过程: <1>. 先执行一遍循环操作,然后判断循环条件是否成立 <2>. 如果条 ...
- 使用lock锁或Monitor.Enter的目的
锁定的目的:由于多个线程 并行/并发 处理同一个“数据对象”(比如:在其它线程的某个地方发生了Clear.Add.Remove.Change等操作),导致“数据对象”不断变化,没法用了,所以,为了保证 ...
- winform版本自动更新
我们在使用软件的时候经常会遇到升级版本,这也是Winform程序的一个功能,今天就大概说下我是怎么实现的吧(代码有点不完美有小BUG,后面再说) 先说下我的思路:首先在打开程序的时候去拿到我之前在网站 ...
- Java提高篇之常量池
一.相关概念 1. 什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量.实例变量和局部变量,分别表示三种类型的常量. 2. Class文件中的 ...
- 【转】通过blktrace, debugfs分析磁盘IO
前几天微博上有同学问我磁盘util达到了100%时程序性能下降的问题,由于信息实在有限,我也没有办法帮太大的忙,这篇blog只是想给他列一下在磁盘util很高的时候如何通过blktrace+debug ...
- 【Raspberry pi】cpu、内存等查看及扩展
使用树莓派时,需要在其系统中部署几个不同功能的程序系统,并涉及到数据库读写.串口读写.web访问等,使系统使用压力较大,在查看树莓派使用情况时也遇到些许问题. free命令 total used fr ...
- Neutron三层网络服务实现原理
Neutron 对虚拟三层网络的实现是通过其 L3 Agent (neutron-l3-agent).该 Agent 利用 Linux IP 栈.route 和 iptables 来实现内网内不同网络 ...
- 六.dbms_session(提供了使用PL/SQL实现ALTER SESSION命令)
1.概述 作用:提供了使用PL/SQL实现ALTER SESSION命令,SET ROLE命令和其他会话信息的方法 .2.包的组成 1).set_identifier说明:用于设置会话的客户ID号.语 ...