[regression 4.8.0-14 -> 4.8.0-17] keyboard and touchscreen lost on Acer Chromebook R11

Bug #1630238 reported by Timo Jyrinki on 2016-10-04
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Joseph Salisbury
Xenial
Medium
Joseph Salisbury
Yakkety
Medium
Joseph Salisbury
Zesty
Medium
Joseph Salisbury

Bug Description

16.10 beta 2, as installed fresh, has working keyboard and touchscreen on my Acer Chromebook R11. However, after dist-upgrade they're lost, so touchscreen doesn't work and I need to use external keyboard.

Looking at config diff, the likely culprit is:
+CONFIG_PINCTRL_AMD=y
 CONFIG_PINCTRL_BAYTRAIL=y
-CONFIG_PINCTRL_CHERRYVIEW=y
-CONFIG_PINCTRL_INTEL=y
-CONFIG_PINCTRL_BROXTON=y
-CONFIG_PINCTRL_SUNRISEPOINT=y
+CONFIG_PINCTRL_CHERRYVIEW=m
+CONFIG_PINCTRL_INTEL=m
+CONFIG_PINCTRL_BROXTON=m
+CONFIG_PINCTRL_SUNRISEPOINT=m

As indicated at https://github.com/GalliumOS/galliumos-distro/issues/270, " in the GalliumOS 4.7.2 kernel we needed to add CONFIG_PINCTRL_CHERRYVIEW=y (must be y, not m) in addition to CONFIG_TOUCHSCREEN_ELAN to get the touchscreen working on CYAN.".

So, the change of Intel related PINCTRLs (specifically the CHERRYVIEW one) to m instead of y causes at least the touchscreen regression, and probably the keyboard one too.
---
ApportVersion: 2.20.3-0ubuntu7
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: timo 1922 F.... pulseaudio
CurrentDesktop: Unity
DistroRelease: Ubuntu 16.10
InstallationDate: Installed on 2016-10-04 (0 days ago)
InstallationMedia: Ubuntu 16.10 "Yakkety Yak" - Alpha amd64 (20160922)
Lsusb:
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 003: ID 8087:0a2a Intel Corp.
 Bus 001 Device 002: ID 0bda:57cf Realtek Semiconductor Corp.
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: GOOGLE Cyan
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.8.0-17-generic root=UUID=7f6c179e-9a4c-4837-869e-0ef2f04a3d61 ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 4.8.0-17.19-generic 4.8.0-rc7
RelatedPackageVersions:
 linux-restricted-modules-4.8.0-17-generic N/A
 linux-backports-modules-4.8.0-17-generic N/A
 linux-firmware 1.161
Tags: yakkety
Uname: Linux 4.8.0-17-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 08/21/2016
dmi.bios.vendor: coreboot
dmi.chassis.type: 3
dmi.chassis.vendor: GOOGLE
dmi.modalias: dmi:bvncoreboot:bvr:bd08/21/2016:svnGOOGLE:pnCyan:pvr1.0:cvnGOOGLE:ct3:cvr:
dmi.product.name: Cyan
dmi.product.version: 1.0
dmi.sys.vendor: GOOGLE

apport information

tags: added: apport-collected yakkety
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

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: kernel-da-key

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
assignee: nobody → Joseph Salisbury (jsalisbury)
status: Confirmed → In Progress
Timo Jyrinki (timo-jyrinki) wrote :

There have been multiple kernel versions released, is the (in progress) fix committed somewhere?

I'm still stuck on sticking to the 4.8.0-14 kernel for functioning keyboard/touch.

Joseph Salisbury (jsalisbury) wrote :

I built a test kernel with those two config options enabled. The test kernel can be downloaded from:

http://kernel.ubuntu.com/~jsalisbury/lp1630238/

Can you test this kernel and see if it resolves this bug? Note, you need to install both the linux-image and linux-image-extra .deb packages.

Thanks in advance!

Timo Jyrinki (timo-jyrinki) wrote :

Thanks Joseph, seems to work fine! I'm now typing (and using touch) on this machine:

$ uname -a
Linux c11 4.8.0-28-generic #30~lp1630238 SMP Mon Dec 5 20:16:48 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Joseph Salisbury (jsalisbury) wrote :

Thanks for the update, Timo. I'll submit and SRU request for this bug.

Joseph Salisbury (jsalisbury) wrote :

Do you see this bug in Xenial? I ask because both CONFIG_PINCTRL_CHERRYVIEW and CONFIG_TOUCHSCREEN_ELAN are set to 'm' in Xenial.

Timo Jyrinki (timo-jyrinki) wrote :

I can't test easily since 16.04 live USB doesn't boot on Chromebooks because of gfxboot problem.

I did have 16.04 install at one point (transferred complete installation in from USB) and yes I needed external keyboard. That would make sense if 'm' was used also back then while 'y' is required.

Joseph Salisbury (jsalisbury) wrote :

One additional question. In the subject, you say that 4.8.0-14 -> 4.8.0-17 exhibit the bug. Does that mean kernels prior to 4.8.0-14 do not exhibit the bug?

Timo Jyrinki (timo-jyrinki) wrote :

Again on my Ubuntu phone so can't test much but yes as seen in the diff the 'y' was dropped between 14-17 in favor of 'm' which caused this bug.

Then sometime earlier a missing CONFIG parameter for touchscreen was there, a separate problem, but after that got fixed everything (both keyboard and touchscreen) worked up to 14.

Changed in linux (Ubuntu Xenial):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Joseph Salisbury (jsalisbury)
Timo Jyrinki (timo-jyrinki) wrote :

I upgraded to zesty, and just clarifying that indeed I have working keyboard and touchscreen with the special 4.8.0-28.30~lp1630238 kernel and not working still with archive 4.8.0-30 or 4.9.0-11.

Tim Gardner (timg-tpi) on 2017-01-31
Changed in linux (Ubuntu Xenial):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Yakkety):
status: In Progress → Fix Committed
Tim Gardner (timg-tpi) on 2017-01-31
Changed in linux (Ubuntu Zesty):
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!

Timo Jyrinki (timo-jyrinki) wrote :

Tested:

4.8.0-38.41 - everything works fine, touch and keyboard
4.4.0-63.84 - touch screen is now correctly also recognized (but 4.4 kernel didn't have mature support anyway)

tags: added: verification-done-xenial verification-done-yakkety
removed: verification-needed-xenial verification-needed-yakkety
Timo Jyrinki (timo-jyrinki) wrote :

However, this has again regressed on zesty including 4.9.0-16-generic.

On 4.8.0-38.41:
CONFIG_TOUCHSCREEN_ELAN=y
CONFIG_PINCTRL_CHERRYVIEW=y
-> keyboard and touch work fine

On 4.9.0-16.17:
CONFIG_TOUCHSCREEN_ELAN=m
CONFIG_PINCTRL_CHERRYVIEW=m
-> broken again

Changed in linux (Ubuntu Zesty):
status: Fix Committed → Confirmed
Tim Gardner (timg-tpi) wrote :

Timo - The v4.10 kernel in Zesty master-next has these settings correct for amd64.

Changed in linux (Ubuntu Zesty):
status: Confirmed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (23.0 KiB)

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

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

  [ Thadeu Lima de Souza Cascardo ]

  * Release Tracking Bug
    - LP: #1660704

  * Backport Dirty COW patch to prevent wineserver freeze (LP: #1658270)
    - SAUCE: mm: Respect FOLL_FORCE/FOLL_COW for thp

  * Kdump through NMI SMP and single core not working on Ubuntu16.10
    (LP: #1630924)
    - x86/hyperv: Handle unknown NMIs on one CPU when unknown_nmi_panic
    - SAUCE: hv: don't reset hv_context.tsc_page on crash

  * [regression 4.8.0-14 -> 4.8.0-17] keyboard and touchscreen lost on Acer
    Chromebook R11 (LP: #1630238)
    - [Config] CONFIG_PINCTRL_CHERRYVIEW=y

  * Call trace when testing fstat stressor on ppc64el with virtual keyboard and
    mouse present (LP: #1652132)
    - SAUCE: HID: usbhid: Quirk a AMI virtual mouse and keyboard with ALWAYS_POLL

  * VLAN SR-IOV regression for IXGBE driver (LP: #1658491)
    - ixgbe: Force VLNCTRL.VFE to be set in all VMDq paths

  * "Out of memory" errors after upgrade to 4.4.0-59 (LP: #1655842)
    - mm, page_alloc: convert alloc_flags to unsigned
    - mm, compaction: change COMPACT_ constants into enum
    - mm, compaction: distinguish COMPACT_DEFERRED from COMPACT_SKIPPED
    - mm, compaction: simplify __alloc_pages_direct_compact feedback interface
    - mm, compaction: distinguish between full and partial COMPACT_COMPLETE
    - mm, compaction: abstract compaction feedback to helpers
    - mm, oom: protect !costly allocations some more
    - mm: consider compaction feedback also for costly allocation
    - mm, oom, compaction: prevent from should_compact_retry looping for ever for
      costly orders
    - mm, oom: protect !costly allocations some more for !CONFIG_COMPACTION
    - mm, oom: prevent premature OOM killer invocation for high order request

  * Backport 3 patches to fix bugs with AIX clients using IBMVSCSI Target Driver
    (LP: #1657194)
    - SAUCE: ibmvscsis: Fix max transfer length
    - SAUCE: ibmvscsis: fix sleeping in interrupt context
    - SAUCE: ibmvscsis: Fix srp_transfer_data fail return code

  * NVMe: adapter is missing after abnormal shutdown followed by quick reboot,
    quirk needed (LP: #1656913)
    - nvme: apply DELAY_BEFORE_CHK_RDY quirk at probe time too

  * Ubuntu 16.10 KVM SRIOV: if enable sriov while ping flood is running ping
    will stop working (LP: #1625318)
    - PCI: Do any VF BAR updates before enabling the BARs
    - PCI: Ignore BAR updates on virtual functions
    - PCI: Update BARs using property bits appropriate for type
    - PCI: Separate VF BAR updates from standard BAR updates
    - PCI: Don't update VF BARs while VF memory space is enabled
    - PCI: Remove pci_resource_bar() and pci_iov_resource_bar()
    - PCI: Decouple IORESOURCE_ROM_ENABLE and PCI_ROM_ADDRESS_ENABLE
    - PCI: Add comments about ROM BAR updating

  * Linux rtc self test fails in a VM under xenial (LP: #1649718)
    - kvm: x86: Convert ioapic->rtc_status.dest_map to a struct
    - kvm: x86: Track irq vectors in ioapic->rtc_status.dest_map
    - kvm: x86: Check dest_map->vector to match eoi signals for rtc

  * Xenial update to v4.4.44 stable releas...

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

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

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

  [ Thadeu Lima de Souza Cascardo ]

  * Release Tracking Bug
    - LP: #1661232

  * Backport Dirty COW patch to prevent wineserver freeze (LP: #1658270)
    - SAUCE: mm: Respect FOLL_FORCE/FOLL_COW for thp

  * Kdump through NMI SMP and single core not working on Ubuntu16.10
    (LP: #1630924)
    - x86/hyperv: Handle unknown NMIs on one CPU when unknown_nmi_panic
    - SAUCE: hv: don't reset hv_context.tsc_page on crash

  * Call trace when testing fstat stressor on ppc64el with virtual keyboard and
    mouse present (LP: #1652132)
    - HID: usbhid: Quirk a AMI virtual mouse and keyboard with ALWAYS_POLL

  * regression in linux-libc-dev in yakkety: C++ style comments are not allowed
    in ISO C90 (LP: #1659654)
    - generic syscalls: kill cruft from removed pkey syscalls

  * [16.04.2] POWER9 patches on top of 4.8 (LP: #1650263)
    - powerpc/book3s: Add a cpu table entry for different POWER9 revs
    - powerpc/mm/radix: Use different RTS encoding for different POWER9 revs
    - powerpc/mm/radix: Use different pte update sequence for different POWER9
      revs
    - powerpc/mm: Update the HID bit when switching from radix to hash
    - powerpc/64/kexec: NULL check "clear_all" in kexec_sequence
    - powerpc/64/kexec: Fix MMU cleanup on radix
    - powerpc/mm: Add radix flush all with IS=3
    - powerpc/64/kexec: Copy image with MMU off when possible
    - powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format
    - powerpc/mm/radix: Invalidate ERAT on tlbiel for POWER9 DD1
    - powerpc/mm: Fix missing update of HID register on secondary CPUs
    - powerpc/64: Add some more SPRs and SPR bits for POWER9
    - powerpc/64: Provide functions for accessing POWER9 partition table
    - powerpc/powernv: Define real-mode versions of OPAL XICS accessors
    - powerpc/64: Define new ISA v3.00 logical PVR value and PCR register value
    - mm: update mmu_gather range correctly
    - mm/hugetlb: add tlb_remove_hugetlb_entry for handling hugetlb pages
    - mm: add tlb_remove_check_page_size_change to track page size change
    - powerpc: Revert Load Monitor Register Support
    - powerpc/mm: Correct process and partition table max size
    - powernv: Clear SPRN_PSSCR when a POWER9 CPU comes online
    - powerpc/mm/radix: Setup AMOR in HV mode to allow key 0
    - powerpc/mm: Detect instruction fetch denied and report
    - powerpc/mm/radix: Prevent kernel execution of user space
    - powerpc/mm: Rename hugetlb-radix.h to hugetlb.h
    - powerpc/mm/hugetlb: Handle hugepage size supported by hash config
    - powerpc/mm: Introduce _PAGE_LARGE software pte bits
    - powerpc/mm: Add radix__tlb_flush_pte_p9_dd1()
    - powerpc/mm: update radix__ptep_set_access_flag to not do full mm tlb flush
    - powerpc/mm: update radix__pte_update to not do full mm tlb flush
    - powerpc/mm: Batch tlb flush when invalidating pte entries
    - powerpc/sparse: Make a bunch of things static
    - powerpc/perf: factor out the event format field
    - powerpc/perf: update attribute_group data structure
    - powerpc/perf: power9 raw event format en...

Changed in linux (Ubuntu Yakkety):
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