Ticket #2134 (closed defect: fixed)

Opened 8 years ago

Last modified 8 years ago

touchscreen sometimes forgets to report a release?

Reported by: lindi Owned by: openmoko-kernel
Priority: normal Milestone:
Component: kernel Version: unspecified
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Estimated Completion (week):
HasPatchForReview: no PatchReviewResult:
Reproducible: sometimes

Description

After moving from

linux-image-2.6.24-openmoko-gta02    20081103.git7172ec57-1

to stable-tracking branch (1b17c67794364bee) I noticed that sometimes
the touchscreen behaves as if it forgot to report a "mouse button" release
completely. If I then click something else then the "button" is
properly released.

Since I suspected that X or xvkbd (the only app where I have seen this
so far) could be the cause I ran evtest /dev/input/event1 for two days
in the background till the bug occured again. In the above log you can
see how touchscreen stays in the "mouse button is down" state for 38
seconds (1227651221.826158 to 1227651259.616190). That time was enough
for me to remove the extra plastic case I have around the phone to
make sure that nothing is touching the screen physically. However, the
touchscreen still would not report button release until I touched the
screen again:

Event: time 1227651220.986232, -------------- Report Sync ------------
Event: time 1227651221.340987, type 3 (Absolute), code 0 (X), value 388
Event: time 1227651221.341176, type 3 (Absolute), code 1 (Y), value 417
Event: time 1227651221.341240, type 1 (Key), code 330 (Touch), value 1
Event: time 1227651221.341301, type 3 (Absolute), code 24 (Pressure), value 1
Event: time 1227651221.341362, -------------- Report Sync ------------
Event: time 1227651221.350942, type 3 (Absolute), code 0 (X), value 389
Event: time 1227651221.351154, -------------- Report Sync ------------
Event: time 1227651221.360960, type 3 (Absolute), code 0 (X), value 388
Event: time 1227651221.361161, -------------- Report Sync ------------
Event: time 1227651221.411001, type 3 (Absolute), code 0 (X), value 389
Event: time 1227651221.411207, -------------- Report Sync ------------
Event: time 1227651221.430992, type 1 (Key), code 330 (Touch), value 0
Event: time 1227651221.431192, type 3 (Absolute), code 24 (Pressure), value 0
Event: time 1227651221.431250, -------------- Report Sync ------------
Event: time 1227651221.610939, type 3 (Absolute), code 0 (X), value 339
Event: time 1227651221.611137, type 3 (Absolute), code 1 (Y), value 375
Event: time 1227651221.611200, type 1 (Key), code 330 (Touch), value 1
Event: time 1227651221.611263, type 3 (Absolute), code 24 (Pressure), value 1
Event: time 1227651221.611323, -------------- Report Sync ------------
Event: time 1227651221.710922, type 1 (Key), code 330 (Touch), value 0
Event: time 1227651221.711128, type 3 (Absolute), code 24 (Pressure), value 0
Event: time 1227651221.711190, -------------- Report Sync ------------
Event: time 1227651221.825903, type 3 (Absolute), code 0 (X), value 216
Event: time 1227651221.826094, type 3 (Absolute), code 1 (Y), value 791
Event: time 1227651221.826158, type 1 (Key), code 330 (Touch), value 1
Event: time 1227651221.826220, type 3 (Absolute), code 24 (Pressure), value 1
Event: time 1227651221.826281, -------------- Report Sync ------------
Event: time 1227651221.846057, type 3 (Absolute), code 1 (Y), value 790
Event: time 1227651221.846243, -------------- Report Sync ------------
Event: time 1227651221.866035, type 3 (Absolute), code 1 (Y), value 789
Event: time 1227651221.866241, -------------- Report Sync ------------
Event: time 1227651221.886024, type 3 (Absolute), code 1 (Y), value 788
Event: time 1227651221.886195, -------------- Report Sync ------------
Event: time 1227651221.896106, type 3 (Absolute), code 1 (Y), value 787
Event: time 1227651221.896239, -------------- Report Sync ------------
Event: time 1227651221.906019, type 3 (Absolute), code 0 (X), value 215
Event: time 1227651221.906200, type 3 (Absolute), code 1 (Y), value 786
Event: time 1227651221.906274, -------------- Report Sync ------------
Event: time 1227651221.926033, type 3 (Absolute), code 1 (Y), value 779
Event: time 1227651221.926218, -------------- Report Sync ------------
Event: time 1227651221.936100, type 3 (Absolute), code 0 (X), value 214
Event: time 1227651221.936224, type 3 (Absolute), code 1 (Y), value 776
Event: time 1227651221.936330, -------------- Report Sync ------------
Event: time 1227651259.536039, type 3 (Absolute), code 0 (X), value 565
Event: time 1227651259.536226, type 3 (Absolute), code 1 (Y), value 488
Event: time 1227651259.536298, -------------- Report Sync ------------
Event: time 1227651259.546089, type 3 (Absolute), code 1 (Y), value 489
Event: time 1227651259.546231, -------------- Report Sync ------------
Event: time 1227651259.566143, type 3 (Absolute), code 1 (Y), value 490
Event: time 1227651259.566279, -------------- Report Sync ------------
Event: time 1227651259.585973, type 3 (Absolute), code 1 (Y), value 491
Event: time 1227651259.586124, -------------- Report Sync ------------
Event: time 1227651259.606126, type 3 (Absolute), code 0 (X), value 564
Event: time 1227651259.606257, type 3 (Absolute), code 1 (Y), value 492
Event: time 1227651259.606337, -------------- Report Sync ------------
Event: time 1227651259.616008, type 1 (Key), code 330 (Touch), value 0
Event: time 1227651259.616190, type 3 (Absolute), code 24 (Pressure), value 0
Event: time 1227651259.616252, -------------- Report Sync ------------
Event: time 1227651260.785895, type 3 (Absolute), code 0 (X), value 232
Event: time 1227651260.786088, type 3 (Absolute), code 1 (Y), value 204
Event: time 1227651260.786152, type 1 (Key), code 330 (Touch), value 1
Event: time 1227651260.786215, type 3 (Absolute), code 24 (Pressure), value 1
Event: time 1227651260.786276, -------------- Report Sync ------------
Event: time 1227651260.795966, type 3 (Absolute), code 0 (X), value 233
Event: time 1227651260.796174, -------------- Report Sync ------------
Event: time 1227651260.826016, type 3 (Absolute), code 0 (X), value 232
Event: time 1227651260.826205, type 3 (Absolute), code 1 (Y), value 205
Event: time 1227651260.826279, -------------- Report Sync ------------
Event: time 1227651260.885894, type 1 (Key), code 330 (Touch), value 0
Event: time 1227651260.886083, type 3 (Absolute), code 24 (Pressure), value 0

Change History

comment:1 Changed 8 years ago by lindi

1227651221 corresponds to "Wed Nov 26 00:13:41 EET 2008" and
1227651259 to "Wed Nov 26 00:14:19 EET 2008". Syslog/klog output from
that time shows that I had just stopped wlan and was establishing a
GPRS connection when the bug occured:

Nov 26 00:13:15 ginger user.warn kernel: [  911.810000] ar6000_ioctl_giwscan(): data length 0
Nov 26 00:13:27 ginger authpriv.notice sudo:    lindi : TTY=pts/11 ; PWD=/home/lindi ; USER=root ; COMMAND=/sbin/ifconfig eth0 down
Nov 26 00:13:34 ginger local0.info /usr/sbin/gsm0710muxd[1683]: gsm0710muxd.c:693:c_alloc_channel(): Connecting /dev/pts/12 to virtual channel 4 for ogsmd.gprs on /dev/ttySAC0
Nov 26 00:13:34 ginger local0.info /usr/sbin/gsm0710muxd[1683]: gsm0710muxd.c:1410:extract_frames(): Logical channel 4 opened
Nov 26 00:13:36 ginger user.info kernel: [  932.740000] PPP generic driver version 2.4.2
Nov 26 00:13:36 ginger daemon.notice modprobe: WARNING: Not loading blacklisted module ipv6
Nov 26 00:13:36 ginger local2.notice pppd[2123]: pppd 2.4.4 started by root, uid 0
Nov 26 00:13:37 ginger local2.info chat[2134]: abort on (BUSY)
Nov 26 00:13:37 ginger local2.info chat[2134]: abort on (DELAYED)
Nov 26 00:13:37 ginger local2.info chat[2134]: abort on (ERROR)
Nov 26 00:13:37 ginger local2.info chat[2134]: abort on (NO ANSWER)
Nov 26 00:13:37 ginger local2.info chat[2134]: abort on (NO CARRIER)
Nov 26 00:13:37 ginger local2.info chat[2134]: abort on (NO DIALTONE)
Nov 26 00:13:37 ginger local2.info chat[2134]: abort on (RINGING)
Nov 26 00:13:37 ginger local2.info chat[2134]: abort on (VOICE)
Nov 26 00:13:37 ginger local2.info chat[2134]: timeout set to 5 seconds
Nov 26 00:13:37 ginger local2.info chat[2134]: send (+++ATZ^M)
Nov 26 00:13:37 ginger local2.info chat[2134]: expect (OK)
Nov 26 00:13:38 ginger local2.info chat[2134]: ATZ^M^M
Nov 26 00:13:38 ginger local2.info chat[2134]: OK
Nov 26 00:13:38 ginger local2.info chat[2134]:  -- got it
Nov 26 00:13:38 ginger local2.info chat[2134]: send (ATE0^M)
Nov 26 00:13:38 ginger local2.info chat[2134]: expect (OK)
Nov 26 00:13:38 ginger local2.info chat[2134]: ^M
Nov 26 00:13:38 ginger local2.info chat[2134]: ATE0^M^M
Nov 26 00:13:38 ginger local2.info chat[2134]: OK
Nov 26 00:13:38 ginger local2.info chat[2134]:  -- got it
Nov 26 00:13:38 ginger local2.info chat[2134]: send (AT+CMEE=2^M)
Nov 26 00:13:38 ginger local2.info chat[2134]: expect (OK)
Nov 26 00:13:38 ginger local2.info chat[2134]: ^M
Nov 26 00:13:38 ginger local2.info chat[2134]: ^M
Nov 26 00:13:38 ginger local2.info chat[2134]: OK
Nov 26 00:13:38 ginger local2.info chat[2134]:  -- got it
Nov 26 00:13:38 ginger local2.info chat[2134]: send (AT+CPIN?^M)
Nov 26 00:13:38 ginger local2.info chat[2134]: expect (READY)
Nov 26 00:13:38 ginger local2.info chat[2134]: ^M
Nov 26 00:13:38 ginger local2.info chat[2134]: ^M
Nov 26 00:13:38 ginger local2.info chat[2134]: +CPIN: READY
Nov 26 00:13:38 ginger local2.info chat[2134]:  -- got it
Nov 26 00:13:38 ginger local2.info chat[2134]: send ()
Nov 26 00:13:38 ginger local2.info chat[2134]: expect (OK)
Nov 26 00:13:38 ginger local2.info chat[2134]: ^M
Nov 26 00:13:38 ginger local2.info chat[2134]: ^M
Nov 26 00:13:38 ginger local2.info chat[2134]: OK
Nov 26 00:13:38 ginger local2.info chat[2134]:  -- got it
Nov 26 00:13:38 ginger local2.info chat[2134]: send (AT+CGDCONT=1,"IP","internet.saunalahti"^M)
Nov 26 00:13:39 ginger local2.info chat[2134]: timeout set to 180 seconds
Nov 26 00:13:39 ginger local2.info chat[2134]: expect (OK)
Nov 26 00:13:39 ginger local2.info chat[2134]: ^M
Nov 26 00:13:39 ginger local2.info chat[2134]: ^M
Nov 26 00:13:39 ginger local2.info chat[2134]: OK
Nov 26 00:13:39 ginger local2.info chat[2134]:  -- got it
Nov 26 00:13:39 ginger local2.info chat[2134]: send (ATD*99#^M)
Nov 26 00:13:39 ginger local2.info chat[2134]: expect (CONNECT)
Nov 26 00:13:39 ginger local2.info chat[2134]: ^M
Nov 26 00:13:44 ginger local2.info chat[2134]: ^M
Nov 26 00:13:44 ginger local2.info chat[2134]: CONNECT
Nov 26 00:13:44 ginger local2.info chat[2134]:  -- got it
Nov 26 00:13:44 ginger local2.info chat[2134]: send (\d)
Nov 26 00:13:45 ginger local2.info pppd[2123]: Serial connection established.
Nov 26 00:13:46 ginger local2.debug pppd[2123]: using channel 1
Nov 26 00:13:46 ginger local2.info pppd[2123]: Using interface ppp0
Nov 26 00:13:46 ginger local2.notice pppd[2123]: Connect: ppp0 <--> /dev/pts/12
Nov 26 00:13:47 ginger local2.warn pppd[2123]: Warning - secret file /etc/ppp/pap-secrets has world and/or group access
Nov 26 00:13:47 ginger local2.debug pppd[2123]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x908a7bb3> <pcomp> <accomp>]
Nov 26 00:13:47 ginger local2.debug pppd[2123]: rcvd [LCP ConfRej id=0x1 <magic 0x908a7bb3>]
Nov 26 00:13:47 ginger local2.debug pppd[2123]: sent [LCP ConfReq id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
Nov 26 00:13:47 ginger local2.debug pppd[2123]: rcvd [LCP ConfAck id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
Nov 26 00:13:47 ginger local2.debug pppd[2123]: rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <pcomp> <accomp>]
Nov 26 00:13:47 ginger local2.debug pppd[2123]: sent [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MD5> <pcomp> <accomp>]
Nov 26 00:13:47 ginger local2.debug pppd[2123]: sent [LCP EchoReq id=0x0 magic=0x0]
Nov 26 00:13:47 ginger local2.debug pppd[2123]: rcvd [CHAP Challenge id=0x1 <66f2cc150c484bb5e4b25589cb7c8e95836b83e12e89892c89b15650ead95c74f822e9f32ca1000f0bebf5562062cad0bb424cee6c6b>, name = ""]
Nov 26 00:13:47 ginger local2.warn pppd[2123]: Warning - secret file /etc/ppp/chap-secrets has world and/or group access
Nov 26 00:13:47 ginger local2.debug pppd[2123]: sent [CHAP Response id=0x1 <169f6bd0d3e60c393029478e0fc719a0>, name = "x"]
Nov 26 00:13:47 ginger local2.debug pppd[2123]: rcvd [LCP EchoRep id=0x0 magic=0x0]
Nov 26 00:13:47 ginger local2.debug pppd[2123]: rcvd [CHAP Success id=0x1 ""]
Nov 26 00:13:47 ginger local2.info pppd[2123]: CHAP authentication succeeded
Nov 26 00:13:47 ginger local2.notice pppd[2123]: CHAP authentication succeeded
Nov 26 00:13:48 ginger user.info kernel: [  944.435000] PPP BSD Compression module registered
Nov 26 00:13:48 ginger user.info kernel: [  944.890000] PPP Deflate Compression module registered
Nov 26 00:13:48 ginger local2.debug pppd[2123]: sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
Nov 26 00:13:48 ginger local2.debug pppd[2123]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
Nov 26 00:13:48 ginger local2.debug pppd[2123]: rcvd [LCP ProtRej id=0x1 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Nov 26 00:13:48 ginger local2.debug pppd[2123]: Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
Nov 26 00:13:50 ginger local2.debug pppd[2123]: rcvd [IPCP ConfReq id=0x1]
Nov 26 00:13:50 ginger local2.debug pppd[2123]: sent [IPCP ConfNak id=0x1 <addr 0.0.0.0>]
Nov 26 00:13:50 ginger local2.debug pppd[2123]: rcvd [IPCP ConfNak id=0x1 <addr 85.77.200.65> <ms-dns1 195.197.54.100> <ms-dns3 195.74.0.47>]
Nov 26 00:13:50 ginger local2.debug pppd[2123]: sent [IPCP ConfReq id=0x2 <addr 85.77.200.65> <ms-dns1 195.197.54.100> <ms-dns3 195.74.0.47>]
Nov 26 00:13:50 ginger local2.debug pppd[2123]: rcvd [IPCP ConfReq id=0x2]
Nov 26 00:13:50 ginger local2.debug pppd[2123]: sent [IPCP ConfAck id=0x2]
Nov 26 00:13:50 ginger local2.debug pppd[2123]: rcvd [IPCP ConfAck id=0x2 <addr 85.77.200.65> <ms-dns1 195.197.54.100> <ms-dns3 195.74.0.47>]
Nov 26 00:13:50 ginger local2.warn pppd[2123]: Could not determine remote IP address: defaulting to 10.64.64.64
Nov 26 00:13:50 ginger local2.notice pppd[2123]: replacing old default route to usb0 [192.168.4.200]
Nov 26 00:13:50 ginger local2.err pppd[2123]: Cannot determine ethernet address for proxy ARP
Nov 26 00:13:50 ginger local2.notice pppd[2123]: local  IP address 85.77.200.65
Nov 26 00:13:50 ginger local2.notice pppd[2123]: remote IP address 10.64.64.64
Nov 26 00:13:50 ginger local2.notice pppd[2123]: primary   DNS address 195.197.54.100
Nov 26 00:13:50 ginger local2.notice pppd[2123]: secondary DNS address 195.74.0.47
Nov 26 00:13:50 ginger local2.debug pppd[2123]: Script /etc/ppp/ip-up started (pid 2149)
Nov 26 00:13:51 ginger local2.debug pppd[2123]: Script /etc/ppp/ip-up finished (pid 2149), status = 0x0
Nov 26 00:17:23 ginger user.err kernel: [ 1159.810000] fbcon_event_notify action=9, data=c7129e08
Nov 26 00:17:24 ginger user.err kernel: [ 1160.510000] fbcon_event_notify action=12, data=c7129dcc
Nov 26 00:17:24 ginger user.err kernel: [ 1160.570000] fbcon_event_notify action=9, data=c7129e08
Nov 26 00:17:45 ginger user.err kernel: [ 1181.470000] fbcon_event_notify action=9, data=c7129e08
Nov 26 00:17:45 ginger user.err kernel: [ 1182.140000] fbcon_event_notify action=12, data=c7129dcc
Nov 26 00:17:45 ginger user.err kernel: [ 1182.200000] fbcon_event_notify action=9, data=c7129e08
Nov 26 00:18:13 ginger authpriv.notice sudo:    lindi : TTY=pts/6 ; PWD=/home/lindi ; USER=root ; COMMAND=/usr/bin/evtest /dev/input/event2
Nov 26 00:18:19 ginger authpriv.notice sudo:    lindi : TTY=pts/6 ; PWD=/home/lindi ; USER=root ; COMMAND=/usr/bin/evtest /dev/input/event1

Timing should be about right since those last sudo lines are about me
running evtest manually to see which way the touchscreen coordinate
axes are.

comment:2 Changed 8 years ago by lindi

I have used stable-tracking 80f4b57fef5dcffb and andy-tracking de473ca893c9285a for a long time and not hit this problem again. I suggest that the bug can be closed.

comment:3 Changed 8 years ago by andy

  • Status changed from new to closed
  • Resolution set to fixed

Great, thanks for the confirmation.

Note: See TracTickets for help on using tickets.