Firefly开源社区

标题: 关于rk3288触摸屏的问题 [打印本页]

作者: kiven07    时间: 2018-6-6 10:08
标题: 关于rk3288触摸屏的问题
板在刷上官方固件之后,用鼠标操作可以流畅操作,但是在接上我们这边的usb触摸屏之后会出现卡顿的现象,于是就开始查找原因,为了测试是不是触摸屏的问题,我用了另一款rk3399来测试,没有卡顿现象。然后就证明了不是触摸屏的问题,于是在网上找到这个https://blog.csdn.net/mike8825/article/details/53360438,于是我打开显示触摸操作发现是一样的情况

这个是什么情况,需要怎么调试,求解
作者: kiven07    时间: 2018-6-6 10:21
问题图片如下

作者: おのみどり    时间: 2018-6-6 10:34
刚刚试了下,没有发现你说的问题,请问用的固件是?
作者: kiven07    时间: 2018-6-6 10:35
おのみどり 发表于 2018-6-6 10:34
刚刚试了下,没有发现你说的问题,请问用的固件是?

就官方上的固件,用的是usb的触摸屏。
作者: おのみどり    时间: 2018-6-6 10:38
我用的也是官方上的固件和USB触摸屏,没有出现卡顿。
作者: kiven07    时间: 2018-6-6 10:46
おのみどり 发表于 2018-6-6 10:38
我用的也是官方上的固件和USB触摸屏,没有出现卡顿。

触摸屏是官方那边买的吗
作者: おのみどり    时间: 2018-6-6 11:11
kiven07 发表于 2018-6-6 10:46
触摸屏是官方那边买的吗

不是官方的屏
作者: kiven07    时间: 2018-6-6 11:52
おのみどり 发表于 2018-6-6 11:11
不是官方的屏

我测试了发现,好像是4个usb口负载高的时候会出现这个问题,尤其是插上usbaudio设备的时候,出现的几率很高。是我这块板的问题还是其他问题
作者: おのみどり    时间: 2018-6-6 16:41
kiven07 发表于 2018-6-6 11:52
我测试了发现,好像是4个usb口负载高的时候会出现这个问题,尤其是插上usbaudio设备的时候,出现的几率很 ...

已经复现到了,我们会尽快解决
作者: kiven07    时间: 2018-6-7 10:00
おのみどり 发表于 2018-6-6 16:41
已经复现到了,我们会尽快解决

解决了之后可以通知我一下吗?因为我们这边比较急,我的邮箱445024441@qq.com
作者: おのみどり    时间: 2018-6-7 14:40
kiven07 发表于 2018-6-7 10:00
解决了之后可以通知我一下吗?因为我们这边比较急,我的邮箱

打上以下补丁测试一下,我这边验证是可以的。

diff --git a/drivers/usb/dwc_otg_310/common_port/dwc_list.h b/drivers/usb/dwc_otg_310/common_port/dwc_list.h
index 46f1da3..e20124b 100755
--- a/drivers/usb/dwc_otg_310/common_port/dwc_list.h
+++ b/drivers/usb/dwc_otg_310/common_port/dwc_list.h
@@ -565,6 +565,18 @@ struct {                                        \
     (head)->cqh_last = (elm);                         \
} while (0)

+#define DWC_CIRCLEQ_INSERT_COM(head, listelm, elm, field, com) do {     \
+          DWC_CIRCLEQ_FOREACH(listelm, head, field) {          \
+               if ((elm)->com < (listelm)->com) {          \
+                    DWC_CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field); \
+                    break;                         \
+               } else                              \
+                    continue;                    \
+          }                                   \
+          if (DWC_CIRCLEQ_PREV(listelm, field) != elm)          \
+               DWC_CIRCLEQ_INSERT_TAIL(head, elm, field);     \
+} while (0)
+
#define DWC_CIRCLEQ_REMOVE(head, elm, field) do {               \
     if ((elm)->field.cqe_next == DWC_CIRCLEQ_END(head))          \
          (head)->cqh_last = (elm)->field.cqe_prev;          \
diff --git a/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c b/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c
index 09197ce..07f27f3 100755
--- a/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c
+++ b/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c
@@ -834,6 +834,7 @@ static void release_channel(dwc_otg_hcd_t *hcd,
     dwc_otg_transaction_type_e tr_type;
     int free_qtd;
     int continue_trans = 1;
+     dwc_hc_t *hc_tmp = NULL;

     DWC_DEBUGPL(DBG_HCDV, "  %s: channel %d, halt_status %d\n",
              __func__, hc->hc_num, halt_status);
@@ -914,7 +915,7 @@ cleanup:
     * there's no need to clear the Channel Halted interrupt separately.
     */
     dwc_otg_hc_cleanup(hcd->core_if, hc);
-     DWC_CIRCLEQ_INSERT_TAIL(&hcd->free_hc_list, hc, hc_list_entry);
+     DWC_CIRCLEQ_INSERT_COM(&hcd->free_hc_list, hc_tmp, hc, hc_list_entry, hc_num);

     switch (hc->ep_type) {
     case DWC_OTG_EP_TYPE_CONTROL:
作者: kiven07    时间: 2018-6-7 15:48
おのみどり 发表于 2018-6-7 14:40
打上以下补丁测试一下,我这边验证是可以的。

diff --git a/drivers/usb/dwc_otg_310/common_port/dwc ...

打上补丁之后卡顿明显少了,但是好像还会有一两次出现那个手离开触摸屏,还有操作点在上面。大概点50次有1-2次出现问题。
作者: おのみどり    时间: 2018-6-7 16:49
kiven07 发表于 2018-6-7 15:48
打上补丁之后卡顿明显少了,但是好像还会有一两次出现那个手离开触摸屏,还有操作点在上面。大概点50次有 ...

你试一下其他负载都不接,只接触摸屏看看还会不会出现这个操作点的问题
作者: kiven07    时间: 2018-6-8 10:19
おのみどり 发表于 2018-6-7 16:49
你试一下其他负载都不接,只接触摸屏看看还会不会出现这个操作点的问题

昨天试过了,不负载的时候有时也会有一到两次,是什么原因,这个可以根本解决吗
作者: おのみどり    时间: 2018-6-8 10:38
kiven07 发表于 2018-6-8 10:19
昨天试过了,不负载的时候有时也会有一到两次,是什么原因,这个可以根本解决吗

不接负载的时候我试不出来有问题啊,我再看看吧
作者: zhangyunqing    时间: 2018-6-27 14:44
RK3399接非官方触摸屏也会有类似的情况,今天能用明天可能就失灵一天后天又回复正常。
换了几套线无效,getevent也看不出名堂。
作者: kiven07    时间: 2018-9-1 11:05
おのみどり 发表于 2018-6-8 10:38
不接负载的时候我试不出来有问题啊,我再看看吧

你好,请问之前的问题解决了吗,就是负载情况下会出现触摸没弹起的问题。我这边现在加了补丁还是会出现触摸不灵敏的问题??
作者: おのみどり    时间: 2018-9-14 11:13
kiven07 发表于 2018-9-1 11:05
你好,请问之前的问题解决了吗,就是负载情况下会出现触摸没弹起的问题。我这边现在加了补丁还是会出现触 ...

接多个usb外设备,需要外接HUB,不然有可能供电不足。
作者: kiven07    时间: 2018-9-14 12:38
おのみどり 发表于 2018-9-14 11:13
接多个usb外设备,需要外接HUB,不然有可能供电不足。

你好我想问下外接的HUB是需要有电源的那种吗??
作者: おのみどり    时间: 2018-9-15 10:10
kiven07 发表于 2018-9-14 12:38
你好我想问下外接的HUB是需要有电源的那种吗??

需要有电源的
作者: kiven07    时间: 2018-9-15 12:54
おのみどり 发表于 2018-9-15 10:10
需要有电源的

你好,我这边已经添加过了这个HUB带电源的分线器了。还是会有之前的情况。
作者: おのみどり    时间: 2018-9-17 10:01
试一下usb audio设备接otg口,触摸屏接usb口看看。
作者: kiven07    时间: 2018-9-17 10:25
おのみどり 发表于 2018-9-17 10:01
试一下usb audio设备接otg口,触摸屏接usb口看看。

otg口是micro usb,我的usb audio设备接不上啊。还有我单独接触摸屏其他设备不接好想就没出现那种情况,一接上usb camera或者usb audio就会出现那种情况
作者: おのみどり    时间: 2018-9-18 14:43
kiven07 发表于 2018-9-17 10:25
otg口是micro usb,我的usb audio设备接不上啊。还有我单独接触摸屏其他设备不接好想就没出现那种情况, ...

可以接一个otg转usb的转接线啊,usb camera不要跟触摸屏同时接在usb上,可以一个接usb,一个接otg。
作者: 350531637@qq.co    时间: 2019-3-30 11:42
kiven07 发表于 2018-6-7 15:48
打上补丁之后卡顿明显少了,但是好像还会有一两次出现那个手离开触摸屏,还有操作点在上面。大概点50次有 ...

您好您这个“手离开触摸屏,还有操作点在上面”问题解决了吗?




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1