Hi,
我的屏幕触摸功能是C8051F321-GM输出的USB接口,我尝试让这个芯片reset来模拟外部干扰,测试我的触摸恢复功能。目前我遇到的问题是,反复触摸之后无法成功注册input设备,对应的操作log日志如下:
[ 37.857870] VSD_3V3: disabling
[ 37.861014] usb_otg1_vbus: disabling
[ 82.580094] usb 1-1.1: USB disconnect, device number 3
[ 169.876091] usb 1-1.3: USB disconnect, device number 4
[ 171.186752] usb 1-1.3: new full-speed USB device number 5 using ci_hdrc
[ 175.550766] usb 1-1.3: new full-speed USB device number 6 using ci_hdrc
[ 175.667202] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input7
[ 180.554649] usb 1-1.3: USB disconnect, device number 6
[ 180.874757] usb 1-1.3: new full-speed USB device number 7 using ci_hdrc
[ 180.991155] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input8
[ 181.322648] usb 1-1.3: USB disconnect, device number 7
[ 181.566805] usb 1-1.3: new full-speed USB device number 8 using ci_hdrc
[ 181.683142] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input9
[ 181.834645] usb 1-1.3: USB disconnect, device number 8
[ 182.362746] usb 1-1.3: new full-speed USB device number 9 using ci_hdrc
[ 187.210739] usb 1-1.3: new full-speed USB device number 10 using ci_hdrc
[ 187.327104] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input10
[ 187.502309] usb 1-1.3: USB disconnect, device number 10
[ 199.598747] usb 1-1.3: new full-speed USB device number 11 using ci_hdrc
[ 199.715004] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input11
[ 206.016959] usb 1-1.3: USB disconnect, device number 11
[ 206.278741] usb 1-1.3: new full-speed USB device number 12 using ci_hdrc
[ 206.394854] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input12
[ 207.552957] usb 1-1.3: USB disconnect, device number 12
[ 211.399016] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 211.482769] usb 1-1.3: new full-speed USB device number 14 using ci_hdrc
[ 211.982759] usb 1-1.3: device not accepting address 14, error -32
[ 211.989151] usb 1-1-port3: attempt power cycle
[ 213.783141] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 213.866761] usb 1-1.3: new full-speed USB device number 16 using ci_hdrc
[ 213.899280] usb 1-1.3: device descriptor read/8, error -32
[ 214.031285] usb 1-1.3: device descriptor read/8, error -32
[ 214.143039] usb 1-1-port3: unable to enumerate USB device
[ 220.106749] usb 1-1.3: new full-speed USB device number 17 using ci_hdrc
[ 220.222820] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input13
[ 231.574113] usb 1-1.3: USB disconnect, device number 17
[ 231.830740] usb 1-1.3: new full-speed USB device number 18 using ci_hdrc
[ 244.846762] usb 1-1.3: new full-speed USB device number 20 using ci_hdrc
[ 244.963082] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input14
[ 250.280122] usb 1-1.3: USB disconnect, device number 20
[ 255.898751] usb 1-1.3: new full-speed USB device number 21 using ci_hdrc
[ 256.014915] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input15
[ 256.730607] usb 1-1.3: USB disconnect, device number 21
[ 257.082757] usb 1-1.3: new full-speed USB device number 22 using ci_hdrc
[ 257.198911] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input16
[ 258.266357] usb 1-1.3: USB disconnect, device number 22
[ 258.510824] usb 1-1.3: new full-speed USB device number 23 using ci_hdrc
[ 258.626866] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input17
[ 258.778609] usb 1-1.3: USB disconnect, device number 23
[ 259.106755] usb 1-1.3: new full-speed USB device number 24 using ci_hdrc
[ 259.222981] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input18
[ 262.106607] usb 1-1.3: USB disconnect, device number 24
[ 265.498742] usb 1-1.3: new full-speed USB device number 25 using ci_hdrc
[ 265.614875] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input19
[ 265.947220] usb 1-1.3: USB disconnect, device number 25
[ 266.370740] usb 1-1.3: new full-speed USB device number 26 using ci_hdrc
[ 266.486973] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input20
[ 266.715219] usb 1-1.3: USB disconnect, device number 26
[ 266.974740] usb 1-1.3: new full-speed USB device number 27 using ci_hdrc
[ 267.474743] usb 1-1.3: device not accepting address 27, error -32
[ 268.222747] usb 1-1.3: new full-speed USB device number 28 using ci_hdrc
[ 268.342865] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input21
[ 268.507218] usb 1-1.3: USB disconnect, device number 28
[ 268.786751] usb 1-1.3: new full-speed USB device number 29 using ci_hdrc
[ 269.286742] usb 1-1.3: device not accepting address 29, error -32
[ 272.526755] usb 1-1.3: new full-speed USB device number 31 using ci_hdrc
[ 272.639187] usb 1-1.3: device descriptor read/all, error -32
[ 280.746760] usb 1-1.3: new full-speed USB device number 34 using ci_hdrc
[ 280.867033] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input22
[ 285.183867] usb 1-1.3: USB disconnect, device number 34
[ 286.366746] usb 1-1.3: new full-speed USB device number 35 using ci_hdrc
[ 286.479265] usb 1-1.3: device descriptor read/all, error -32
[ 292.666745] usb 1-1.3: new full-speed USB device number 37 using ci_hdrc
[ 293.170756] usb 1-1.3: device not accepting address 37, error -32
[ 295.067108] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 295.073736] usb 1-1-port3: attempt power cycle
[ 296.898741] usb 1-1.3: new full-speed USB device number 40 using ci_hdrc
[ 297.020259] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input23
[ 297.106651] ------------[ cut here ]------------
[ 297.110029] usb 1-1.3: USB disconnect, device number 40
[ 297.111357] URB 00000000fee3c285 submitted while active
[ 297.121914] WARNING: CPU: 1 PID: 1396 at drivers/usb/core/urb.c:363 usb_submit_urb+0x478/0x518
[ 297.130526] Modules linked in: ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 ip6table_filter xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c xt_addrtype iptable_filter br_netfilter crct10dif_ce bq40z50_fg fuse g_serial overlay nls_ascii nls_utf8 nls_cp437 nls_iso8859_1
[ 297.162086] CPU: 1 PID: 1396 Comm: libinput-fuzz-o Not tainted 5.4.70 #2
[ 297.168783] Hardware name: NXP i.MX8MM SMARC 2.0 Computer-on-Module (DT)
[ 297.175482] pstate: 40000005 (nZcv daif -PAN -UAO)
[ 297.180272] pc : usb_submit_urb+0x478/0x518
[ 297.184455] lr : usb_submit_urb+0x478/0x518
[ 297.188634] sp : ffff80001b803a40
[ 297.191945] x29: ffff80001b803a40 x28: 0000000000000000
[ 297.197254] x27: ffff0000776c2088 x26: ffff0000776c2080
[ 297.202563] x25: 0000000000000000 x24: ffff00006f36a000
[ 297.207873] x23: 00000000fffffff0 x22: 0000000000000cc0
[ 297.213182] x21: ffff0000776c2008 x20: 0000000000000000
[ 297.218491] x19: ffff00006cec4c00 x18: 0000000000000010
[ 297.223800] x17: 0000000000000000 x16: 0000000000000000
[ 297.229109] x15: ffffffffffffffff x14: ffff800011bf88c8
[ 297.234420] x13: 0000000000000000 x12: 0000000000000001
[ 297.239731] x11: 0000000000000000 x10: 00000000000009c0
[ 297.245042] x9 : ffff80001b803760 x8 : ffff000076a0c220
[ 297.250351] x7 : ffff00007db95580 x6 : ffff00007db8a188
[ 297.255660] x5 : ffff00007db8a188 x4 : 0000000000000000
[ 297.260969] x3 : ffff00007db90f20 x2 : ffff00007db90f20
[ 297.266279] x1 : 7cfc1393f7199b00 x0 : 0000000000000000
[ 297.271589] Call trace:
[ 297.274035] usb_submit_urb+0x478/0x518
[ 297.277871] pminput_open+0x50/0x70
[ 297.281359] input_open_device+0x60/0xd0
[ 297.285280] evdev_open+0x190/0x1b8
[ 297.288768] chrdev_open+0xa4/0x1a0
[ 297.292257] do_dentry_open+0x110/0x3a0
[ 297.296090] vfs_open+0x28/0x30
[ 297.299230] path_openat+0x2ac/0x1300
[ 297.302890] do_filp_open+0x78/0xf0
[ 297.306378] do_sys_open+0x170/0x220
[ 297.309951] __arm64_sys_openat+0x20/0x28
[ 297.313961] el0_svc_common.constprop.2+0x88/0x168
[ 297.318751] el0_svc_handler+0x20/0x80
[ 297.322499] el0_svc+0x8/0x208
[ 297.325550] ---[ end trace 2c77289502c33578 ]---
[ 300.886751] usb 1-1.3: new full-speed USB device number 41 using ci_hdrc
[ 301.002873] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input24
[ 309.279609] usb 1-1.3: USB disconnect, device number 41
[ 311.846754] usb 1-1.3: new full-speed USB device number 42 using ci_hdrc
[ 311.962990] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input25
[ 312.528876] usb 1-1.3: USB disconnect, device number 42
[ 324.618757] usb 1-1.3: new full-speed USB device number 43 using ci_hdrc
[ 324.734944] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input26
[ 329.734400] usb 1-1.3: USB disconnect, device number 43
[ 334.454740] usb 1-1.3: new full-speed USB device number 44 using ci_hdrc
[ 334.954756] usb 1-1.3: device not accepting address 44, error -32
[ 336.643078] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 336.649702] usb 1-1-port3: attempt power cycle
[ 338.483075] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 338.566751] usb 1-1.3: new full-speed USB device number 47 using ci_hdrc
[ 338.599214] usb 1-1.3: device descriptor read/8, error -32
[ 338.731216] usb 1-1.3: device descriptor read/8, error -32
[ 338.842977] usb 1-1-port3: unable to enumerate USB device
[ 342.066746] usb 1-1.3: new full-speed USB device number 48 using ci_hdrc
[ 342.566748] usb 1-1.3: device not accepting address 48, error -32
[ 344.463076] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 344.469701] usb 1-1-port3: attempt power cycle
[ 345.530868] usb 1-1.3: new full-speed USB device number 50 using ci_hdrc
[ 345.567129] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input27
[ 351.245586] usb 1-1.3: USB disconnect, device number 50
[ 352.838758] usb 1-1.3: new full-speed USB device number 51 using ci_hdrc
[ 353.338757] usb 1-1.3: device not accepting address 51, error -32
[ 354.462757] usb 1-1.3: new full-speed USB device number 52 using ci_hdrc
[ 356.611031] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 356.617660] usb 1-1-port3: attempt power cycle
[ 357.222747] usb 1-1.3: new full-speed USB device number 53 using ci_hdrc
[ 357.255171] usb 1-1.3: device descriptor read/8, error -32
[ 357.387172] usb 1-1.3: device descriptor read/8, error -32
[ 357.786766] usb 1-1.3: new full-speed USB device number 54 using ci_hdrc
[ 357.822966] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input28
[ 357.968413] usb 1-1.3: USB disconnect, device number 54
[ 359.702750] usb 1-1.3: new full-speed USB device number 55 using ci_hdrc
[ 360.202745] usb 1-1.3: device not accepting address 55, error -32
[ 360.742755] usb 1-1.3: new full-speed USB device number 56 using ci_hdrc
[ 361.103220] usb 1-1.3: device descriptor read/all, error -32
[ 361.108958] usb 1-1-port3: attempt power cycle
[ 363.775084] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 363.858783] usb 1-1.3: new full-speed USB device number 58 using ci_hdrc
[ 363.891221] usb 1-1.3: device descriptor read/8, error -32
[ 364.023224] usb 1-1.3: device descriptor read/8, error -32
[ 364.134972] usb 1-1-port3: unable to enumerate USB device
[ 366.010756] usb 1-1.3: new full-speed USB device number 59 using ci_hdrc
[ 368.779075] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 368.862779] usb 1-1.3: new full-speed USB device number 60 using ci_hdrc
[ 368.979009] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input29
[ 369.261334] usb 1-1.3: USB disconnect, device number 60
[ 369.582758] usb 1-1.3: new full-speed USB device number 61 using ci_hdrc
[ 369.695216] usb 1-1.3: device descriptor read/all, error -32
[ 369.986746] usb 1-1.3: new full-speed USB device number 62 using ci_hdrc
[ 370.102952] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input30
[ 370.541584] usb 1-1.3: USB disconnect, device number 62
[ 371.154750] usb 1-1.3: new full-speed USB device number 63 using ci_hdrc
[ 371.654751] usb 1-1.3: device not accepting address 63, error -32
[ 373.858751] usb 1-1.3: new full-speed USB device number 64 using ci_hdrc
[ 373.975328] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input31
[ 382.829336] usb 1-1.3: USB disconnect, device number 64
[ 386.651094] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 386.734756] usb 1-1.3: new full-speed USB device number 66 using ci_hdrc
[ 388.255093] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 388.261720] usb 1-1-port3: attempt power cycle
[ 390.075095] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 390.158746] usb 1-1.3: new full-speed USB device number 68 using ci_hdrc
[ 390.578763] usb 1-1.3: device not accepting address 68, error -32
[ 390.585102] usb 1-1-port3: unable to enumerate USB device
[ 395.911082] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 395.994770] usb 1-1.3: new full-speed USB device number 70 using ci_hdrc
[ 397.723081] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 397.729708] usb 1-1-port3: attempt power cycle
[ 400.395081] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 400.478754] usb 1-1.3: new full-speed USB device number 72 using ci_hdrc
[ 400.898766] usb 1-1.3: device not accepting address 72, error -32
[ 400.905089] usb 1-1-port3: unable to enumerate USB device
[ 401.170743] usb 1-1.3: new full-speed USB device number 73 using ci_hdrc
[ 401.482745] usb 1-1.3: device no response, device descriptor read/64, error -32
[ 402.934740] usb 1-1.3: new full-speed USB device number 74 using ci_hdrc
[ 403.050973] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input32
[ 403.399674] usb 1-1.3: USB disconnect, device number 74
[ 406.894740] usb 1-1.3: new full-speed USB device number 75 using ci_hdrc
[ 407.011058] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input33
[ 416.727936] usb 1-1.3: USB disconnect, device number 75
[ 419.226744] usb 1-1.3: new full-speed USB device number 76 using ci_hdrc
[ 419.726756] usb 1-1.3: device not accepting address 76, error -32
[ 422.039060] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 422.045686] usb 1-1-port3: attempt power cycle
[ 426.930757] usb 1-1.3: new full-speed USB device number 80 using ci_hdrc
[ 427.051158] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input34
[ 429.851992] usb 1-1.3: USB disconnect, device number 80
[ 430.442758] usb 1-1.3: new full-speed USB device number 81 using ci_hdrc
[ 430.562992] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input35
[ 430.619984] usb 1-1.3: USB disconnect, device number 81
[ 430.982750] usb 1-1.3: new full-speed USB device number 82 using ci_hdrc
[ 431.098988] input: PenMount 6000 USB TouchScreen as /devices/platform/soc@0/soc@0:bus@32c00000/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input36
[ 431.387991] usb 1-1.3: USB disconnect, device number 82
[ 433.270741] usb 1-1.3: new full-speed USB device number 83 using ci_hdrc
[ 435.003108] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 435.086759] usb 1-1.3: new full-speed USB device number 84 using ci_hdrc
[ 437.290745] usb 1-1.3: device not accepting address 84, error -32
[ 437.297120] usb 1-1-port3: attempt power cycle
[ 440.131107] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 441.954755] usb 1-1.3: new full-speed USB device number 87 using ci_hdrc
[ 442.067249] usb 1-1.3: device descriptor read/all, error -32
[ 443.587107] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 443.593734] usb 1-1-port3: attempt power cycle
[ 444.218753] usb 1-1.3: new full-speed USB device number 89 using ci_hdrc
[ 444.638754] usb 1-1.3: device not accepting address 89, error -32
[ 446.163108] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
[ 446.169733] usb 1-1-port3: unable to enumerate USB device