screen calibrate does not recognize screen taps

Bug #207099 reported by Chris Gregan
10
Affects Status Importance Assigned to Milestone
Moblin Applets
Fix Released
High
ToddBrandt
Ubuntu Mobile Edition
Fix Released
Critical
Unassigned

Bug Description

Summary:
Calibrate applet no longer registers screen touch. Cannot calibrate screen on Q1

Steps to Reproduce:
1) Launch calibrate app on Q1
2) Tap screen where flashing target appears

Expected result:
Target accepts tap and moves to lower left corner

Actual result:
Tap is not acknowledged, screen cannot be calibrated

Chris Gregan (cgregan)
Changed in ubuntu-mobile:
importance: Undecided → Critical
status: New → Confirmed
Revision history for this message
cathyli (cathy-li) wrote :

Todd, I found the issue in moblin-applets 0.59-0ubuntu1, pls. have a look at.

Changed in moblin-applets:
assignee: nobody → todd-e-brandt
importance: Undecided → Critical
importance: Critical → High
Revision history for this message
cathyli (cathy-li) wrote :

I met the same issue in Ubuntu beta4 image, the issue happened on menlow platform with LCD kit.

Revision history for this message
Chris Gregan (cgregan) wrote :

Confirmed on Jax10 with Acton build 20080502

Revision history for this message
Chris Gregan (cgregan) wrote :

Correction. I just tried holding the stylus on the blinking target for a few seconds and the calibration does continue. Looks like Acton 20080502 is not affected.

That being said, UME Beta 4 is not so lucky. Defect is active for UME.

Revision history for this message
Tony Espy (awe) wrote :

Marking invalid as per Chris' last comment.

Changed in acton:
status: New → Invalid
Changed in moblin-applets:
status: New → Confirmed
Revision history for this message
ToddBrandt (todd-e-brandt) wrote :

The problem is with the kernel. The evtouch module is supposed to emit binary coordinate data through /dev/input/touchscreen. It did so properly in the 2.22 kernel we used in GASTON, but in hardy the kernel is new and somehow has that feature turned off.

Revision history for this message
Loïc Minier (lool) wrote :

@Todd: which option is missing?

@Amit: could you make sure we get this support in our kernel?

Changed in moblin-applets:
milestone: none → m11
Revision history for this message
ToddBrandt (todd-e-brandt) wrote :

Ok, I found the problem and have a fix. This actually is a security bug in the kernel and a misuse of the kernel's evdev module in the new version of the xorg evtouch driver. The new evtouch driver that's being installed with hardy is calling an evdev ioctl that allows it to assume exclusive control over the data coming from the touchscreen (ioctl(local->fd, EVIOCGRAB, (void *)1)). The problem is that if xorg cuts off access to everyone else but the xserver, external calibrators won't work or any other piece of code that wants to harmlessly access the data coming from /dev/input/touchscreen. I see this as a security issue as well because what if someone writes a little init.d trojan that calls EVIOCGRAB before xserver has started? The xserver would probably crash.

The buggy package is xserver-xorg-input-evtouch_0.8.7-3ubuntu1_lpia.deb, and I've created a new version with a patch that removes this exclusive control call. I'll be uploading it to the PPA shortly. Here's the patch:

--- xf86-input-evtouch-0.8.7/evtouch.c 2008-05-14 20:17:39.000000000 +0000
+++ xf86-input-evtouch-0.8.7-good/evtouch.c 2008-05-14 20:12:22.000000000 +0000
@@ -499,9 +499,10 @@

         xf86FlushInput(local->fd);

+#if 0
         if (ioctl(local->fd, EVIOCGRAB, (void *)1))
                 xf86Msg(X_ERROR, "%s: Unable to grab device (%s).\n", local->name, strerror(errno));
-
+#endif

 #ifndef XFREE86_V4
         xf86AddEnabledDevice(local);

Revision history for this message
ToddBrandt (todd-e-brandt) wrote :

ok, I just uploaded xf86-input-evtouch_0.8.7-3ubuntu2_source.changes to the ubuntu-mobile ppa with the fixed version of this evtouch driver package. It should be online in an hour or so.

Changed in moblin-applets:
status: Confirmed → Fix Committed
Revision history for this message
cathyli (cathy-li) wrote :

Verified in xserver-xorg-input-evtouch: 0.8.7-3ubuntu2, screen calibrate can recognize screen taps now, close the issue.

Changed in moblin-applets:
status: Fix Committed → Fix Released
David Mandala (davidm)
Changed in ubuntu-mobile:
status: Confirmed → Fix Committed
Revision history for this message
Steve Kowalik (stevenk) wrote :

I have verified that this is fixed in the 20080519.1 daily build.

David Mandala (davidm)
Changed in ubuntu-mobile:
status: Fix Committed → Fix Released
Changed in ubuntu-mobile:
status: Fix Released → Fix Committed
Revision history for this message
Chris Gregan (cgregan) wrote :

Fix confirmed on Q1U with UME Daily 20080527

Changed in ubuntu-mobile:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.