Touchpad not working correctly after kernel upgrade

Bug #1662589 reported by Nick Fletcher on 2017-02-07
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
High
Joseph Salisbury
Xenial
High
Joseph Salisbury
Yakkety
High
Joseph Salisbury
Zesty
High
Joseph Salisbury

Bug Description

Since the kernel upgraded from 4.4.0-31-generic the touchpad on my Toshiba Tecra laptop has not been functioning correctly.

Whenever I try and do two finger srcolling it also thinks I'm doing a two finger tap to to rightclick, making two finger scrolling almost impossible.

It is the same for both kernel updates since 4.4.0-31. If I boot from 4.4.0-31 then the touchpad works fine.

If I do an xinput in the later kernels it shows :-
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Wired Keyboard 600 id=10 [slave pointer (2)]
⎜ ↳ Microsoft Comfort Mouse 6000 id=11 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint Stick id=15 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Microsoft Wired Keyboard 600 id=9 [slave keyboard (3)]
    ↳ TOSHIBA Web Camera - FHD id=12 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
    ↳ Toshiba input device

The AlpsPS/2 devices aren't aren't present when booting with 4.4.0.31:

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Wired Keyboard 600 id=10 [slave pointer (2)]
⎜ ↳ Microsoft Comfort Mouse 6000 id=11 [slave pointer (2)]
⎜ ↳ ImPS/2 Generic Wheel Mouse id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Microsoft Wired Keyboard 600 id=9 [slave keyboard (3)]
    ↳ TOSHIBA Web Camera - FHD id=12 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
    ↳ Toshiba input device id=15 [slave keyboard (3)]

Any ideas?

Thanks.
---
ApportVersion: 2.20.1-0ubuntu2.5
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: nick 1867 F.... pulseaudio
CurrentDesktop: Unity
DistroRelease: Ubuntu 16.04
HibernationDevice: RESUME=UUID=5f888cc2-be17-45fe-9b4c-c8cf49eb1db8
InstallationDate: Installed on 2017-02-03 (4 days ago)
InstallationMedia: Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719)
MachineType: TOSHIBA TECRA A40-C
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-62-generic.efi.signed root=UUID=7c18c2ca-0cc6-4c2c-80ba-194bbbc22646 ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 4.4.0-62.83-generic 4.4.40
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-62-generic N/A
 linux-backports-modules-4.4.0-62-generic N/A
 linux-firmware 1.157.6
Tags: xenial xenial
Uname: Linux 4.4.0-62-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 07/12/2016
dmi.bios.vendor: TOSHIBA
dmi.bios.version: Version 7.40
dmi.board.asset.tag: 0000000000
dmi.board.name: TECRA A40-C
dmi.board.vendor: TOSHIBA
dmi.board.version: Version A0
dmi.chassis.asset.tag: 0000000000
dmi.chassis.type: 10
dmi.chassis.vendor: TOSHIBA
dmi.chassis.version: Version 1.0
dmi.modalias: dmi:bvnTOSHIBA:bvrVersion7.40:bd07/12/2016:svnTOSHIBA:pnTECRAA40-C:pvrPS463E-01C003EN:rvnTOSHIBA:rnTECRAA40-C:rvrVersionA0:cvnTOSHIBA:ct10:cvrVersion1.0:
dmi.product.name: TECRA A40-C
dmi.product.version: PS463E-01C003EN
dmi.sys.vendor: TOSHIBA

CVE References

Nick Fletcher (nick-m-fletcher) wrote :

Ubuntu 16.04

Paul White (paulw2u) on 2017-02-07
affects: ubuntu → linux (Ubuntu)

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1662589

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.10 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'.

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/v4.10-rc7

Changed in linux (Ubuntu):
importance: Undecided → High
tags: added: kernel-da-key needs-bisect xenial
Changed in linux (Ubuntu Xenial):
status: New → Incomplete
importance: Undecided → High

apport information

tags: added: apport-collected
description: updated

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed

4.10.0-041000rc7-generic - Issue still present.

tags: added: kernel-bug-exists-upstream
Joseph Salisbury (jsalisbury) wrote :

Does the bug go away if you boot back into kernel version 4.4.0-31?

Can you confirm the bug happens with 4.4.0-32:
https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa/+build/10489149

We can bisect between these two versions if -31 is good and -32 is bad.

All fine in 4.4.0-31.

Installed 4.4.0-32 and scrolling worked fine, *but* none of the external ports I use worked, no USB or hdmi.

I don't ever recall being offered 4.4.0-32 via the normal updates.

Joseph Salisbury (jsalisbury) wrote :

Can you give the 4.4.0-33 kernel a try:
https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa/+build/10505796

To perform a bisect, we need to find the last good version and first bad version out of these kernels:
https://launchpad.net/ubuntu/xenial/+source/linux

So, that was a lot of fun.

Up to 4.4.0-53 - trackpad worked fine.

I couldn't easily find any other kernel versions until 4.4.0-58 and that one the trackpad didn't work correctly.

4.4.0-58 was the first to have the AlpsPS/2 devices installed.

If you can point me to 54-57 I can try those too.

Joseph Salisbury (jsalisbury) wrote :

The -57 kernel is here:
https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa/+build/11544958

However, -54 through -56 kernel were never copied to the archive. I'll build the kernels manually based on the -57 test results. If -57 is good, we can bisect between -57 and -58. If it's bad, we'll have to test earlier kernels.

Changed in linux (Ubuntu Xenial):
status: Incomplete → In Progress
Changed in linux (Ubuntu):
status: Confirmed → In Progress
assignee: nobody → Joseph Salisbury (jsalisbury)
Changed in linux (Ubuntu Xenial):
assignee: nobody → Joseph Salisbury (jsalisbury)

4.4.0-57 bad I'm afraid.

Joseph Salisbury (jsalisbury) wrote :

I built a 4.4.0-54 kernel. It can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1662589/

Can you give this kernel a test. You would need to install both the linux-image and linux-image-extra .deb packages.

4.4.0-54-generic - trackpad working fine.

Joseph Salisbury (jsalisbury) wrote :

I built a 4.4.0-55 kernel. It can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1662589/

Can you give this kernel a test.

4.4.0-55-generic - trackpad fine.

Joseph Salisbury (jsalisbury) wrote :

I built a 4.4.0-56 kernel. It can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1662589/

Can you give this kernel a test.

That will tell us if we need to bisect between -55 and -56 or -56 and -57.

4.4.0-56-generic - trackpad not working correctly. This is the first one that has the AlpsPS/2 devices.

Joseph Salisbury (jsalisbury) wrote :

There are a few commits between -56 and -57 that could have introduced this regression:

6909b9d Input: ALPS - set DualPoint flag for 74 03 28 devices
08166fa Input: ALPS - allow touchsticks to report pressure
02645a4 Input: ALPS - handle 0-pressure 1F events
89e4686 Input: ALPS - add touchstick support for SS5 hardware

I'll start a kernel bisect and post a test kernel shortly.

Joseph Salisbury (jsalisbury) wrote :

I started a kernel bisect between -56 and -57. The kernel bisect will require testing of about 5 test kernels.

I built the first test kernel, up to the following commit:
0cd611da7d4c01b178144bc17da8cd92cae2b1fa

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1662589

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

Joseph Salisbury (jsalisbury) wrote :

Correcting to comments #32 and #33. I am bisecting between 4.4.0-55 and 4.4.0-56.

Hi. Downloaded and installed the new version of 4.4.0-56-generic. Trackpad issues remain.

Joseph Salisbury (jsalisbury) wrote :

I built the next test kernel, up to the following commit:
40ab4ccefb9d9dfe7a6ccd5f150ec78ab604b411

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1662589

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

Hi.

With this version of 4.4.0-56-generic that trackpad works fine.

Joseph Salisbury (jsalisbury) wrote :

I built the next test kernel, up to the following commit:
02645a42d6814808758eff5ae6a37a5715533787

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1662589

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

Hi.

Trackpad fine with the latest test kernel.
linux-image-4.4.0-56-generic 4.4.0-56.77~lp1662589Commit02645a42d6

Joseph Salisbury (jsalisbury) wrote :

I built the next test kernel, up to the following commit:
6909b9d008f2459bb85c502c3a43aa7e3a7a65c0

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1662589

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

Hi,

With linux-image-4.4.0-56-generic 4.4.0-56.77~lp1662589Commit6909b9d008 the trackpad is NOT working correctly.

Thanks.

Joseph Salisbury (jsalisbury) wrote :

I built the next test kernel, up to the following commit:
08166fa0902cbcbe598bbddc1f8904e0bcc000b7

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1662589

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

Hi,

linux-image-4.4.0-56-generic 4.4.0-56.77~lp1662589Commit08166fa090

Trackpad working fine.

Joseph Salisbury (jsalisbury) wrote :

The following commit was reported as the first bad commit by the bisect:

commit 6909b9d008f2459bb85c502c3a43aa7e3a7a65c0
Author: Ben Gamari <email address hidden>
Date: Wed Nov 30 18:11:02 2016 +0800

    Input: ALPS - set DualPoint flag for 74 03 28 devices

I built a test kernel with this commit reverted. The kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1662589

Can you test that kernel and see if if resolves this bug?`

Hi.
linux-image-4.4.0-64-generic 4.4.0-64.85~lp1662589Commit6909b9d00Reverted

The trackpad is working fine!

Joseph Salisbury (jsalisbury) wrote :

Thanks for all the help testing, Nick. I'll ping the patch author for some feedback.

Changed in linux (Ubuntu Yakkety):
status: New → In Progress
importance: Undecided → High
assignee: nobody → Joseph Salisbury (jsalisbury)
Joseph Salisbury (jsalisbury) wrote :

I'll monitor upstream and pick the patch into Ubuntu when it lands in mainline or linux-next:
https://lkml.org/lkml/2017/3/17/627

Joseph Salisbury (jsalisbury) wrote :

That could be possible. I'll review all the patches and build a test kernel once the one for this bug lands.

Joseph Salisbury (jsalisbury) wrote :

The commit that fixes this bug has landed in mainline:

commit e7348396c6d51b57c95c6646c390cd078e038e19
Author: Masaki Ota <email address hidden>
Date: Fri Mar 17 14:10:57 2017 -0700

    Input: ALPS - fix V8+ protocol handling (73 03 28)

I built a test kernel with this commit and posted it to:
http://kernel.ubuntu.com/~jsalisbury/lp1662589/

Can you test this kernel and see if it resolves this bug?

Hi. I installed the test kernel and the trackpad is working fine.

Changed in linux (Ubuntu Zesty):
status: In Progress → Fix Released
Changed in linux (Ubuntu Xenial):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Yakkety):
status: In Progress → Fix Committed

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-xenial
tags: added: verification-needed-yakkety

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-yakkety' to 'verification-done-yakkety'. If the problem still exists, change the tag 'verification-needed-yakkety' to 'verification-failed-yakkety'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

Hi. Not sure who this request is for as I'm not running yakkety. I could install but I won't have time this week.

Thanks,
Nick.

Sounds like they want both the Xenial and Yakkety kernels tested. You should be able to install the yakkety kernel on Xenial if you don't want to upgrade now.

It may be easier to just grab the relevant packages from the launchpad page:
https://launchpad.net/ubuntu/+source/linux
https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa/+build/12486778/+files/linux-image-4.4.0-78-generic_4.4.0-78.99_amd64.deb
https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/bootstrap/+build/12492144/+files/linux-image-4.8.0-52-generic_4.8.0-52.55_amd64.deb

tags: added: verification-done-xenial
removed: verification-needed-xenial
tags: added: verification-needed-xenial
removed: verification-done-xenial
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 4.8.0-52.55

---------------
linux (4.8.0-52.55) yakkety; urgency=low

  * linux: 4.8.0-52.55 -proposed tracker (LP: #1686976)

  * CVE-2017-7477: macsec: avoid heap overflow in skb_to_sgvec (LP: #1685892)
    - macsec: avoid heap overflow in skb_to_sgvec
    - macsec: dynamically allocate space for sglist

  * net/ipv4: original ingress device index set as the loopback interface.
    (LP: #1683982)
    - net: fix incorrect original ingress device index in PKTINFO

  * Touchpad not working correctly after kernel upgrade (LP: #1662589)
    - Input: ALPS - fix V8+ protocol handling (73 03 28)

  * ifup service of network device stay active after driver stop (LP: #1672144)
    - net: use net->count to check whether a netns is alive or not

  * [Hyper-V] mkfs regression in kernel 4.4+ (LP: #1682215)
    - block: relax check on sg gap

  * Potential memory corruption with capi adapters (LP: #1681469)
    - powerpc/mm: Add missing global TLB invalidate if cxl is active

  * [Hyper-V/Azure] Please include Mellanox OFED drivers in Azure kernel and
    image (LP: #1650058)
    - net/mlx4_en: Fix bad WQE issue
    - net/mlx4_core: Fix racy CQ (Completion Queue) free
    - net/mlx4_core: Fix when to save some qp context flags for dynamic VST to VGT
      transitions
    - net/mlx4_core: Avoid command timeouts during VF driver device shutdown

 -- Stefan Bader <email address hidden> Fri, 28 Apr 2017 12:17:12 +0200

Changed in linux (Ubuntu Yakkety):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (6.9 KiB)

This bug was fixed in the package linux - 4.4.0-78.99

---------------
linux (4.4.0-78.99) xenial; urgency=low

  * linux: 4.4.0-78.99 -proposed tracker (LP: #1686645)

  * Please backport fix to reference leak in cgroup blkio throttle
    (LP: #1683976)
    - block: fix module reference leak on put_disk() call for cgroups throttle

  * UbuntuKVM guest crashed while running I/O stress test with Ubuntu kernel
    4.4.0-47-generic (LP: #1659111)
    - block: Unhash block device inodes on gendisk destruction
    - block: Use pointer to backing_dev_info from request_queue
    - block: Dynamically allocate and refcount backing_dev_info
    - block: Make blk_get_backing_dev_info() safe without open bdev
    - block: Get rid of blk_get_backing_dev_info()
    - block: Move bdev_unhash_inode() after invalidate_partition()
    - block: Unhash also block device inode for the whole device
    - block: Revalidate i_bdev reference in bd_aquire()
    - block: Initialize bd_bdi on inode initialization
    - block: Move bdi_unregister() to del_gendisk()
    - block: Allow bdi re-registration
    - bdi: Fix use-after-free in wb_congested_put()
    - block: Make del_gendisk() safer for disks without queues
    - block: Fix bdi assignment to bdev inode when racing with disk delete
    - bdi: Mark congested->bdi as internal
    - bdi: Make wb->bdi a proper reference
    - bdi: Unify bdi->wb_list handling for root wb_writeback
    - bdi: Shutdown writeback on all cgwbs in cgwb_bdi_destroy()
    - bdi: Do not wait for cgwbs release in bdi_unregister()
    - bdi: Rename cgwb_bdi_destroy() to cgwb_bdi_unregister()
    - block: Fix oops in locked_inode_to_wb_and_lock_list()
    - kobject: Export kobject_get_unless_zero()
    - block: Fix oops scsi_disk_get()

  * Touchpad not working correctly after kernel upgrade (LP: #1662589)
    - Input: ALPS - fix V8+ protocol handling (73 03 28)

  * Xenial update to v4.4.62 stable release (LP: #1683728)
    - drm/i915: Avoid tweaking evaluation thresholds on Baytrail v3
    - drm/i915: Stop using RP_DOWN_EI on Baytrail
    - usb: dwc3: gadget: delay unmap of bounced requests
    - mtd: bcm47xxpart: fix parsing first block after aligned TRX
    - MIPS: Introduce irq_stack
    - MIPS: Stack unwinding while on IRQ stack
    - MIPS: Only change $28 to thread_info if coming from user mode
    - MIPS: Switch to the irq_stack in interrupts
    - MIPS: Select HAVE_IRQ_EXIT_ON_IRQ_STACK
    - MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch
    - crypto: caam - fix RNG deinstantiation error checking
    - Linux 4.4.62

  * ifup service of network device stay active after driver stop (LP: #1672144)
    - net: use net->count to check whether a netns is alive or not

  * [Hyper-V] mkfs regression in kernel 4.4+ (LP: #1682215)
    - block: relax check on sg gap

  * [Feature] KBL: intel_powerclamp driver support (LP: #1591641)
    - thermal/powerclamp: remove cpu whitelist
    - thermal/powerclamp: correct cpu support check
    - thermal/powerclamp: add back module device table

  * sysfs channel reads of lps22hb pressure sensor are stale (LP: #1682103)
    - iio: st_pressure: initialize lps22hb bootime

  * Backlight control does no...

Read more...

Changed in linux (Ubuntu Xenial):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers