RK3288 USB触摸屏(hid设备)无法使用,需要添加PID和VID

 RK3288  Android5.1

现象:USB 接口触摸屏插到板子上,触摸屏无法使用,有可能出现更奇葩的,同一套代码,有的板子可以用,有的板子不能用。

1、打开串口调试,插上触摸屏,读取触摸屏的 PID(idVendor) 和 VID(idProduct)。

1[ 37.456833] usb 3-1.1.1: new full-speed USB device number 4 using usb20_host 2[ 37.558583] usb 3-1.1.1: New USB device found, idVendor=1ff7, idProduct=0013 3[ 37.558785] usb 3-1.1.1: New USB device strings: Mfr=1, Product=0, SerialNumber=0 4[ 37.558915] usb 3-1.1.1: Manufacturer: CVTouch 5[ 37.588785] input: CVTouch as /devices/ff540000.usb/usb3/3-1/3-1.1/3-1.1.1/3-1.1.1:1.0/input/input4 6[ 37.593900] hid-multitouch 0003:1FF7:0013.0001: input,hiddev0,hidraw0: USB HID v1.11 Pointer [CVTouch] on usb-ff540000.usb-1.1.1/input0

2、在 hid-ids.h 文件中定义此触摸屏的 PID 和 VID。

1diff --git a/kernel/drivers/hid/hid-ids.h b/kernel/drivers/hid/hid-ids.h 2index 45c593d..fe49ad2 100755 3--- a/kernel/drivers/hid/hid-ids.h 4+++ b/kernel/drivers/hid/hid-ids.h 5@@ -235,9 +235,6 @@ 6 #define USB_VENDOR_ID_CREATIVELABS 0x041e 7 #define USB_DEVICE_ID_PRODIKEYS_PCMIDI 0x2801 8+ 9+#define USB_VENDOR_ID_CVTOUCH 0x1ff7 10+#define USB_DEVICE_ID_CVTOUCH_SCREEN 0x0013 11 12 #define USB_VENDOR_ID_CYGNAL 0x10c4 13 #define USB_DEVICE_ID_CYGNAL_RADIO_SI470X 0x818a

3、将定义的 PID 和 VID 添加到 HID 特殊设备数组中。

1diff --git a/kernel/drivers/hid/hid-core.c b/kernel/drivers/hid/hid-core.c 2index 2bd798a..250fc52 100755 3--- a/kernel/drivers/hid/hid-core.c 4+++ b/kernel/drivers/hid/hid-core.c 5@@ -2223,6 +2223,7 @@ static const struct hid_device_id hid_ignore_list[] = { 6 { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20) }, 7 { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_8_8_4_IF_KIT) }, 8 { HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) }, 9+ { HID_USB_DEVICE(USB_VENDOR_ID_CVTOUCH, USB_DEVICE_ID_CVTOUCH_SCREEN) }, 10 { } 11 };

4、在多点触摸模块的 mt_devices 数组中加入 id,即可支持此触摸屏

1diff --git a/kernel/drivers/hid/hid-multitouch.c b/kernel/drivers/hid/hid-multitouch.c 2old mode 100755 3new mode 100644 4index fb9ac12..52ef0ba 5--- a/kernel/drivers/hid/hid-multitouch.c 6+++ b/kernel/drivers/hid/hid-multitouch.c 7@@ -1414,6 +1414,11 @@ static const struct hid_device_id mt_devices[] = { 8 MT_USB_DEVICE(USB_VENDOR_ID_ZYTRONIC, 9 USB_DEVICE_ID_ZYTRONIC_ZXY100) }, 10 11+ /* TOUCH panels */ 12+ { .driver_data = MT_CLS_DEFAULT, 13+ MT_USB_DEVICE(USB_VENDOR_ID_CVTOUCH, 14+ USB_DEVICE_ID_CVTOUCH_SCREEN) }, 15+ 16 /* Generic MT device */ 17 { HID_DEVICE(HID_BUS_ANY, HID_GROUP_MULTITOUCH, HID_ANY_ID, HID_ANY_ID) }, 18 { }
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

RK3288 USB触摸屏(hid设备)无法使用,需要添加PID和VID - HelloWorld