touchpad does not respond to tap-to-clicks in I2C mode in Ubuntu 15.04 on 2015 XPS 13 (9343)

Bug #1416601 reported by Jared Dominguez
94
This bug affects 15 people
Affects Status Importance Assigned to Milestone
Dell Sputnik
Fix Committed
Undecided
Unassigned
linux (Ubuntu)
Confirmed
High
Unassigned
xserver-xorg-input-synaptics (Fedora)
Fix Released
Undecided
xserver-xorg-input-synaptics (Ubuntu)
Invalid
High
Unassigned

Bug Description

Tap-to-click does not work unless I tap several times really fast (which is really hard to do), which also causes the cursor to move. This is a poor user experience.

Relatedly, sometimes when using two-finger scrolling, the touchpad will get stuck such that I can let go and the cursor won't move. I can continue using two fingers to try scrolling, which works, but I can't get the cursor to move. If I tap the cursor several times really fast, I can eventually get the cursor unstuck so it moves again. I suspect that this is related to the tap-to-click issue.

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: linux-image-3.18.0-12-generic 3.18.0-12.13
ProcVersionSignature: Ubuntu 3.18.0-12.13-generic 3.18.4
Uname: Linux 3.18.0-12-generic x86_64
ApportVersion: 2.15.1-0ubuntu4
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: jared 3714 F.... pulseaudio
CurrentDesktop: Unity
Date: Fri Jan 30 20:12:17 2015
HibernationDevice: RESUME=UUID=af18bf4f-1453-4c8c-8b8e-abdc5d4e0674
InstallationDate: Installed on 2014-11-03 (89 days ago)
InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.2)
Lsusb:
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 004: ID 0c45:670c Microdia
 Bus 001 Device 003: ID 04f3:2051 Elan Microelectronics Corp.
 Bus 001 Device 002: ID 8087:0a2a Intel Corp.
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Dell Inc. XPS 13 9343
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.18.0-12-generic root=/dev/mapper/ubuntu--vg-root ro video.use_native_backlight=1 video.use_native_backlight=1
RelatedPackageVersions:
 linux-restricted-modules-3.18.0-12-generic N/A
 linux-backports-modules-3.18.0-12-generic N/A
 linux-firmware 1.141
SourcePackage: linux
UpgradeStatus: Upgraded to vivid on 2015-01-08 (23 days ago)
dmi.bios.date: 11/04/2014
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A00
dmi.board.name: 0144PA
dmi.board.vendor: Dell Inc.
dmi.board.version: X04
dmi.chassis.type: 9
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA00:bd11/04/2014:svnDellInc.:pnXPS139343:pvr01:rvnDellInc.:rn0144PA:rvrX04:cvnDellInc.:ct9:cvr:
dmi.product.name: XPS 13 9343
dmi.product.version: 01
dmi.sys.vendor: Dell Inc.

Revision history for this message
Jared Dominguez (jared-dominguez) wrote :
tags: added: kernel-bug-exists-upstream latest-bios-a00
Changed in dell-sputnik:
status: New → Confirmed
Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → High
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Did this issue start happening after an update/upgrade? Was there a prior kernel version where you were not having this particular problem?

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.19 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-rc7-vivid/

tags: removed: kernel-bug-exists-upstream
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Major Hayden (rackerhacker) wrote :

FWIW, this issue happens for me on the same hardware on Fedora. Already tried kernels 3.17.4, 3.18.3, and 3.18.5. Blacklisting i2c_hid doesn't have an effect on the touchpad freeze-ups that Jared noted.

Revision history for this message
Jan Henke (jhe) wrote :

The touchpad worked fine for me with the utopic kernel (3.16.0-30). Due to general system stability problems though I upgraded to the current vivid kernel (3.18.0-12), which seems much more stable in terms of no CPU/GPU hangs so far, though the above mentioned touchpad problems happen for me too since I use the 3.18.0-12 one.

Jan Henke (jhe)
no longer affects: linux
Revision history for this message
Jan Henke (jhe) wrote :

Going back to kernel 3.16.0-30-generic fixes the problems for now. Given from the RedHat bug report the problem seems to be present in 3.17 kernel as well. It seems some change between 3.16 and 3.17 caused this as a regression.

Revision history for this message
Major Hayden (rackerhacker) wrote :

I'll be firing up a kernel bisect this weekend to see if I can find the issue. From multiple reports (incuding some in the RHBZ[1]), 3.16 works and 3.17 has issues. 3.18 and 3.19-rc7 have no improvements.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1188439

Revision history for this message
Graham (ooddiittyy) wrote :

This issue is not present for me in mainline 3.18.2 (on mint 17.1), but is in other 3.18 versions.

Just to help narrow it down.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xserver-xorg-input-synaptics (Ubuntu):
status: New → Confirmed
Jan Henke (jhe)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Mario Limonciello (superm1) wrote :

I didn't do a proper bisect, but I have a variety of mainline kernels from the mainline PPA I tried.

v3.16 works properly
v3.17 some rc's are using ps2 mode due to some i2c failure, others work properly
v3.18 works properly
v3.19-rc1 fails
v3.19-rc5 fails
v3.19-rc6 fails

Whenever someone does a proper bisect, make sure that i2c-hid is loaded and in use. it might help to blacklist psmouse to ensure that it doesn't fall back to psmouse in case of a different failure. There is a different problem with psmouse that is not this bug.

Also, make sure that you are NOT booted with acpi_osi="!Windows 2013". This will cause the touchpad to only run in PS2 mode. The problem is specific to I2C mode.

Revision history for this message
Major Hayden (rackerhacker) wrote :

Mario --

So 3.18 didn't have any touchpad freeze or tapping issues? I've tested 3.18.3 and 3.18.5 on Fedora and they have the freezes. I'm wondering if something broke between 3.18.0 and 3.18.3. Do you have any additional details on that 3.18 kernel you tested? Perhaps the git hash?

Revision history for this message
Mario Limonciello (superm1) wrote :

Yes, nothing on 3.18

Originally I didn't test any of the stable releases for 3.18, it was the standard 3.18, I believe the hash assigned to the tag 'v3.18'.
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/

It would make sense to me if it was broken somewhere in between v3.18 and v3.18.3 though as lots of stuff that goes into mainline backports to @stable.

I went back and tried the stable releases on the mainline PPA.
v3.18.1: OK
v3.18.2: OK
v3.18.3: Reproduces problem

Between 3.18 and 3.19-rc1 there's 4 commits to i2c-hid (most likely culprit driver to me)
d1c7e29e8d276c669e8790bb8be9f505ddc48888 HID: i2c-hid: prevent buffer overflow in early IRQ
721564a950fdbc07adf9c1e114b73feb97446ec2 i2c-hid / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
6296f4a8eb86f9abcc370fb7a1a116b8441c17fd HID: i2c-hid: fix race condition reading reports
08bb7beae7fe102939fe5931222fc09e10d27cda HID: i2c-hid: print the correct data in dbg msg

Between 3.18.2 and 3.18.3 these other two stand out to me - same as they were between 3.18 and 3.19-rc1
HID: i2c-hid: prevent buffer overflow in early IRQ
HID: i2c-hid: fix race condition reading reports

Changed in xserver-xorg-input-synaptics (Ubuntu):
importance: Undecided → High
Revision history for this message
Geoff Teale (tealeg) wrote :

I see this also on 3.18.0-12-generic.

Revision history for this message
Major Hayden (rackerhacker) wrote :

Done with the git bisect. It's somewhere in the late days of 3.17 and early days of 3.18. Here's the RHBZ with the patch:

  https://bugzilla.redhat.com/show_bug.cgi?id=1188439#c25

I'm hoping someone with more knowledge than me around this part of the kernel can make sense of it. If I pull the patch, the touchpad works extremely well (see RHBZ entry for more).

Revision history for this message
Mario Limonciello (superm1) wrote :

Seth Forshee from Canonical has proposed a patch to LKML to fix this behavior.

http://<email address hidden>

Changed in xserver-xorg-input-synaptics (Ubuntu):
status: Confirmed → Invalid
Revision history for this message
internet (jnuyens) wrote :

I can confirm that the patch from Seth works flawlessly on Ubuntu 14.04 applied on vanilla kernel 3.19.0 (low latency).

Thanks!
Jasper

Revision history for this message
Mario Limonciello (superm1) wrote :

It's been merged upstream. Canonical, can you pull this in for vivid?

https://github.com/torvalds/linux/commit/6d00f37e49d95e640a3937a4a1ae07dbe92a10cb

tags: added: kernel-fixed-upstream
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

That commit was requested in stable, so this fix will come down through the normal stable updates for both Utopic and Vivid:

http://article.gmane.org/gmane.linux.kernel.stable/125242/match=inclusion+request+commit+6d00f37e49d9

Revision history for this message
Geoff Teale (tealeg) wrote :

Just wanted to confirm that the trackpad in my XPS13 9343 is working perfectly with the daily mainline kernel today:

Linux boris 4.0.0-999-lowlatency #201503060211 SMP PREEMPT Fri Mar 6 02:15:32 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Changed in dell-sputnik:
status: Confirmed → Fix Committed
Changed in xserver-xorg-input-synaptics (Fedora):
importance: Unknown → Undecided
status: Unknown → 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.