Bug 1089583

Summary: XPS 13 touchscreen not working in after 3.13.10-200 kernel update
Product: [Fedora] Fedora Reporter: Abrahm Scully <abrahm.scully>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: abrahm.scully, btissoir, gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, mchehab, v.kaiser.pendergrast
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: kernel-3.13.11-100.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-01 22:30:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
0001-HID-rmi-do-not-handle-touchscreens-through-hid-rmi.patch
none
0001-HID-rmi-do-not-handle-touchscreens-through-hid-rmi.patch V2
none
dmesg where touchscreen and touchpad both work well
none
dmesg where touchscreen is not working
none
dmesg where touchscreen and touchpad aren't working
none
dmesg with touchscreen working and touchpad no buttonpress none

Description Abrahm Scully 2014-04-21 03:50:20 UTC
Description of problem:
The touchscreen on the Dell XPS 13 laptop does not work with the 3.13.10-200 kernel. It worked with 3.13.9-200.

Version-Release number of selected component (if applicable):
kernel-3.13.10-200

How reproducible:
Always.

Steps to Reproduce:
1. Install 3.13.10-200 kernel.

Actual results:
Touch screen is unresponsive.

Expected results:
Touch screen works.

Additional info:
The backported hid-rmi driver may be part of the problem. See https://bugzilla.kernel.org/show_bug.cgi?id=74241

Comment 1 Victor Kaiser-Pendergrast 2014-04-21 15:20:59 UTC
Same problem.

Upgrading to kernel-3.15.0.0-rc1 does not solve issue.

Comment 2 Benjamin Tissoires 2014-04-21 15:30:57 UTC
It's a known bug, and I am working on a fix right now. I did not knew that the XPS 13 also has a Synaptics touchscreen, and the patch in the current fedora kernel brakes them.
I am making a scratch build right now, and will do some tests when it will be finished:
http://koji.fedoraproject.org/koji/taskinfo?taskID=6761407
(not 100% sure the build will work).

Comment 3 Benjamin Tissoires 2014-04-21 18:12:50 UTC
Created attachment 888182 [details]
0001-HID-rmi-do-not-handle-touchscreens-through-hid-rmi.patch

grmbl, I never understand why sometimes koji fails.

Josh, can you build a kernel with the attached patch for testing?
It should be OK, but I never been able to actually test it.

Comment 4 Josh Boyer 2014-04-21 18:23:41 UTC
http://koji.fedoraproject.org/koji/taskinfo?taskID=6762089

The one above should build.  Benjamin's hit an unrelated issue I fixed earlier this morning.

Comment 5 Abrahm Scully 2014-04-22 05:48:54 UTC
I've install the 3.14.1-200.1.fc20.x86_64 kernel following the link provided. The hid-multitouch driver appears to manage the Synaptics Large Touch Screen instead of the hid-rmi driver. The touchscreen is working. The touchpad appears to be working fine as well.

Comment 6 Josh Boyer 2014-04-22 12:30:13 UTC
Thanks Abrahm.  Benjamin, do you want me to include the patch in Fedora as it works its way upstream?

Comment 7 Benjamin Tissoires 2014-04-22 13:30:45 UTC
Actually, the more I think of it, the more I think there is still a chance for hid-rmi to be picked instead of hid-multitouch for multitouch devices. If hid-rmi is already loaded and hid-mt is not, the catch rule of hid-rmi should take over hid-mt.
I'll update the patch with a v2 which can be included in Fedora.

Thanks both of you for building and testing :)

Comment 8 Benjamin Tissoires 2014-04-22 15:24:58 UTC
Created attachment 888537 [details]
0001-HID-rmi-do-not-handle-touchscreens-through-hid-rmi.patch V2

Ok, so here is the final patch. I can not guarantee this one will be accepted upstream in this form. The whole scan/special driver mechanism should be reviewed, because this is starting to be a little scary.

Anyway, it is good enough to go in Fedora and 3.13/3.14/3.15 I think.

Comment 9 Abrahm Scully 2014-04-22 16:59:10 UTC
Created attachment 888594 [details]
dmesg where touchscreen and touchpad both work well

Comment 10 Abrahm Scully 2014-04-22 17:00:04 UTC
Created attachment 888596 [details]
dmesg where touchscreen is not working

Comment 11 Abrahm Scully 2014-04-22 17:02:03 UTC
Created attachment 888597 [details]
dmesg where touchscreen and touchpad aren't working

The touchpad on this boot was not producing ButtonPress or ButtonRelease events.

Comment 12 Josh Boyer 2014-04-22 17:08:45 UTC
Thanks Benjamin.  Added.

Comment 13 Abrahm Scully 2014-04-22 17:10:00 UTC
I've had mixed success with the 3.14.1-200.1.fc20.x86_64 kernel with the test patch.

I've had 4 different ways these Synaptics devices can be working and not working from boot.

1. Touchscreen working. Touchpad working. (dmesg attached 888594)
2. Touchscreen working. Touchpad not registering ButtonPress/ButtonRelease events. (didn't capture dmesg, will attach if it happens again)
3. Touchscreen not registering any events. Touchpad working. (dmesg attached 888596)
4. Touchscreen not registering any events. Touchpad not registering ButtonPress/ButtonRelease events. (dmesg attached 888597).

Abrahm

Comment 14 Abrahm Scully 2014-04-22 17:21:22 UTC
Created attachment 888603 [details]
dmesg with touchscreen working and touchpad no buttonpress

Touchpad not registering ButtonPress or ButtonRelease events. Two finger scrolling also doesn't work.

Comment 15 Benjamin Tissoires 2014-04-22 17:42:42 UTC
Abrahm, thanks for the logs.
The cases where the touchscreen is not working should be fixed by the new version of the patch I sent earlier today. You entered the race I told in comment #7, and this should not occur anymore.

For the case when the touchpad is not registering BUttonPress or ButtonRelease events, this seems to be an other bug, and I would be grateful if you could open a new bug for it. Also attach in the new bug:
- dmesg (with i2c_hid.debug=1 on the kernel command line)
- some evemu-record traces when the problem occurs (package evemu)
- the corresponding hid-recorder traces when the problem occurs (use this copr to install hid-replay: https://copr.fedoraproject.org/coprs/bentiss/hid-replay/)

Comment 16 Abrahm Scully 2014-04-22 18:01:33 UTC
Benjamin,

Thanks for the help. I will enter a new bug concerning the missing Button* events with the additional information.

I noticed that Xorg.0.log from the 888603 boot has an error that repeats 25 times. I think this is also related to the new bug.

....
[   163.145] (EE) BUG: triggered 'if (ti->listeners[0].type != LISTENER_GRAB && ti->listeners[0].type != LISTENER_POINTER_GRAB)'
[   163.145] (EE) BUG: exevents.c:1044 in ActivateEarlyAccept()
[   163.145] (EE)
[   163.145] (EE) Backtrace:
[   163.150] (EE) 0: /usr/bin/Xorg (DamageDamageRegion+0x512) [0x52fb82]
[   163.150] (EE) 1: /usr/bin/Xorg (XIGetDevice+0x13dc) [0x531b2c]
[   163.151] (EE) 2: /usr/bin/Xorg (InitProximityClassDeviceStruct+0x2082) [0x535552]
[   163.151] (EE) 3: /usr/bin/Xorg (AccessXFilterReleaseEvent+0x4d4) [0x555a54]
[   163.152] (EE) 4: /usr/bin/Xorg (mieqProcessDeviceEvent+0x1cd) [0x58394d]
[   163.152] (EE) 5: /usr/bin/Xorg (mieqProcessInputEvents+0xf7) [0x583a67]
[   163.152] (EE) 6: /usr/bin/Xorg (ProcessInputEvents+0x19) [0x48b459]
[   163.153] (EE) 7: /usr/bin/Xorg (SendErrorToClient+0x102) [0x43a082]
[   163.153] (EE) 8: /usr/bin/Xorg (_init+0x3b0a) [0x42c00a]
[   163.155] (EE) 9: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7f6dcf035d65]
[   163.155] (EE) 10: /usr/bin/Xorg (_start+0x29) [0x428c35]
[   163.156] (EE) 11: ? (?+0x29) [0x29]
[   163.156] (EE)
...

Comment 17 Abrahm Scully 2014-04-22 20:01:08 UTC
I created bug https://bugzilla.redhat.com/show_bug.cgi?id=1090161 for the missing button clicks (which looks like not hid-rmi not consistently setting the clickpad property).

I did not yet create a new bug for the Xi touchscreen BUG backtrace.

Comment 18 Victor Kaiser-Pendergrast 2014-04-23 01:30:07 UTC
Using kernel-3.15.0-0.rc2.git1.1.fc21, everything works as expected.

Comment 19 Fedora Update System 2014-04-24 18:15:50 UTC
kernel-3.13.11-100.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/kernel-3.13.11-100.fc19

Comment 20 Fedora Update System 2014-04-26 09:16:00 UTC
Package kernel-3.13.11-100.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing kernel-3.13.11-100.fc19'
as soon as you are able to, then reboot.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-5609/kernel-3.13.11-100.fc19
then log in and leave karma (feedback).

Comment 21 Fedora Update System 2014-04-28 20:59:46 UTC
kernel-3.14.2-200.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/kernel-3.14.2-200.fc20

Comment 22 Fedora Update System 2014-05-01 22:30:23 UTC
kernel-3.14.2-200.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 23 Fedora Update System 2014-05-06 03:30:54 UTC
kernel-3.13.11-100.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.