Firefly开源社区

12
发表新贴

IPC-M10R800-A3399C 六核工业级行业平板 触摸屏在一些情况下失效

31

积分

0

威望

0

贡献

技术小白

积分
31
发表于 2019-6-12 09:30:58     
本帖最后由 brpk 于 2019-6-12 10:42 编辑

IPC-M10R800-A3399C 六核工业级行业平板, 刷了官方 Ubuntu 18.04 LVDS 固件

发现一些情况下, 触摸屏会失效:

1. 通过 xrandr 旋转屏幕方向

    1. 刚开机时, 触摸屏有效

    2. 旋转屏幕方向, 触摸屏失效
  1. xrandr --output DSI-1 --rotate right
复制代码

    3. 恢复原始旋转方向, 触摸屏可能恢复有效
  1. xrandr --output DSI-1 --rotate normal
复制代码

    4. 旋转屏幕, 然后恢复, 重复若干次后, 触摸屏彻底失效, 只有重新上电才能恢复.

2. 重启 lightdm

    1. 刚开机时, 触摸屏有效

    2. 重启 lightdm, 触摸屏有几率出现短暂的失效, 时间不定, 10 秒以内
  1. sudo systemctl restart lightdm
复制代码

    3. 多次重启 lightdm, 若干次后触摸屏彻底失效, 只有重新上电才能恢复.
  1. while true; sudo systemctl restart lightdm; sleep 10; done
复制代码

---

尝试了修改驱动, 发现触摸屏失效后:

1. 查看中断信息, 触摸屏的中断计数不再增加.
  1. firefly@firefly:~$ cat /proc/interrupts | grep gsl
  2. 223:        267          0          0          0          0          0     gpio4  28 Level     gslX680
复制代码

2. 触摸屏的 Interrupt Handler 不再被调用.

3. 有很小几率出现另一个情况, 不触碰触摸屏, 重启 lightdm 时, 触摸屏的中断计数会增加一些, 触摸屏的 Interrupt Handler 也会被调用

4. rockchip-linux/kernel 中, 对 gslx680 的驱动有更新, 但参考进行修改后, 并没有解决问题.
History for drivers/input/touchscreen/gslx680.c - rockchip-linux/kernel

请教如何解决这个问题?

回复

使用道具 举报

781

积分

2

威望

4

贡献

技术大神

Rank: 3Rank: 3

积分
781
发表于 2019-6-12 10:08:10     
请发一下使用的固件版本是什么,另外你所说的触摸失效是指不能用吗,lvds你所用的命令是显示旋转但是触摸也需要旋转的,详细请看wiki ubuntu应用层一节
回复

使用道具 举报

31

积分

0

威望

0

贡献

技术小白

积分
31
发表于 2019-6-12 10:21:17     
感谢回复!

固件从百度云下载的: AIO-3399C-LVDS-UBUNTU18.04-GPT-20190304-1222.img
Android Tool v2.58 中显示的固件版本:  8.1.276

我说的触摸失效是指点击屏幕没有任何反应, 不是指定位不准确. 同时可以从驱动中打印的信息看到, 根本没有调用 Interrupt Handler.

触摸也需要旋转我配置成功了, 没有问题, 不过与这里的失效没有关系.
回复

使用道具 举报

781

积分

2

威望

4

贡献

技术大神

Rank: 3Rank: 3

积分
781
发表于 2019-6-12 10:26:12     
旋转后必失效吗
回复

使用道具 举报

31

积分

0

威望

0

贡献

技术小白

积分
31
发表于 2019-6-12 10:47:08     
旋转多次以后, 才会完全失效.  我刚测试约 20 次后失效.

每次旋转后, 有个短暂的临时失效, 几秒后恢复正常.

像是显示屏的复位, 干扰到触摸.
回复

使用道具 举报

781

积分

2

威望

4

贡献

技术大神

Rank: 3Rank: 3

积分
781
发表于 2019-6-12 10:50:03     
查一下你的板的配置是2+16 还是2+8
回复

使用道具 举报

31

积分

0

威望

0

贡献

技术小白

积分
31
发表于 2019-6-12 10:54:54     
我的测试环境, 两个 SSH,  一个用 dmesg -w 打印内核消息.  另一个用 xrandr 旋转屏幕方向

微信截图_20190612104914.png

失效以后的现象:

1. 手指点触摸屏没有任何反应 (鼠标指针不动), 也没有任何内核消息输出
2. 旋转屏幕方向, 居然输出上图所示消息, 可以看到进了中断处理

回复

使用道具 举报

31

积分

0

威望

0

贡献

技术小白

积分
31
发表于 2019-6-12 10:57:14     
penguin 发表于 2019-6-12 10:50
查一下你的板的配置是2+16 还是2+8

2+16
回复

使用道具 举报

781

积分

2

威望

4

贡献

技术大神

Rank: 3Rank: 3

积分
781
发表于 2019-6-12 11:13:25     
cat /proc/version 看一下内核版本,你自己有自己单独升级过内核吗?
回复

使用道具 举报

31

积分

0

威望

0

贡献

技术小白

积分
31
发表于 2019-6-12 11:20:28     
  1. firefly@firefly:~$ cat /proc/version
  2. Linux version 4.4.167 (root@acd251779aff) ((no: 55359a0f2f3880d7ea33292715e81ae82f96c6d8) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05) ) #18 SMP Wed Jun 12 02:30:14 UTC 2019
复制代码

现在是自己编译的内核, 为了看驱动调试信息.

我再恢复原始固件确认一下这个问题.

回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表