Raydium Touchscreen on ThinkPad L390 does not work

Bug #1849721 reported by Donatas
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Disco
Fix Released
Undecided
Unassigned
Eoan
Fix Released
Undecided
Unassigned

Bug Description

== SRU Justification ===

[Impact]
Raydium touchscreen on ThinkPad L390 doesn't work.

[Fix]
Use I2C_HID_QUIRK_NO_IRQ_AFTER_RESET to introduce an extra delay after
resetting the device.

[Test]
User confirmed the touchpad works with the patch.

[Regression Potential]
Low. This fix limits to one device and is quite trivial.

== Original Bug Report ===

I have bought new Lenovo ThinkPad L390 with touchscreen and it works fine on Windows, but not on Ubuntu.
I've tried Ubuntu LTS 18.4, 19.4 and 19.10. I've tried installing Ubuntu and running Live USB image, and also other distributions (Manjaro i3, Kubuntu).
There is an Ubuntu certification with the same touchscreen using Ubuntu 18.4: https://certification.ubuntu.com/hardware/201812-26720

Other info:
- `xinput` is showing touchscreen: "Raydium Touchscreen id=10 [slave pointer (2)]"
- if I list device props using `xinput list-props 10`, I see device: `Device Node (277): "/dev/input/event9"`
- `cat /dev/input/event9` does not produce anything
- `xinput --test-xi2 --root` does not produce any touchscreen events, even though events from other devices are successfully shown

Also, attached `ubuntu-bug` report.

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: linux-image-5.3.0-18-generic 5.3.0-18.19+1
ProcVersionSignature: Ubuntu 5.3.0-18.19-generic 5.3.1
Uname: Linux 5.3.0-18-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu8
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: ubuntu 1821 F.... pulseaudio
CasperVersion: 1.427
CurrentDesktop: ubuntu:GNOME
Date: Thu Oct 24 18:32:07 2019
LiveMediaBuild: Ubuntu 19.10 "Eoan Ermine" - Release amd64 (20191017)
MachineType: LENOVO 20NRCTO1WW
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=C.UTF-8
 SHELL=/bin/bash
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/casper/vmlinuz file=/cdrom/preseed/username.seed quiet splash ---
RelatedPackageVersions:
 linux-restricted-modules-5.3.0-18-generic N/A
 linux-backports-modules-5.3.0-18-generic N/A
 linux-firmware 1.183
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 08/12/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: R10ET39W (1.24 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20NRCTO1WW
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40709 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrR10ET39W(1.24):bd08/12/2019:svnLENOVO:pn20NRCTO1WW:pvrThinkPadL390:rvnLENOVO:rn20NRCTO1WW:rvrSDK0J40709WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.family: ThinkPad L390
dmi.product.name: 20NRCTO1WW
dmi.product.sku: LENOVO_MT_20NR_BU_Think_FM_ThinkPad L390
dmi.product.version: ThinkPad L390
dmi.sys.vendor: LENOVO

Revision history for this message
Donatas (donce-lt) wrote :
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Can you please test this kernel:
https://people.canonical.com/~khfeng/lp1849721/

Revision history for this message
Donatas (donce-lt) wrote :

Hey Kai-Heng Feng, I've tested this kernel and touchscreen did not work as well.

I've downloaded all 6 deb packages, installed them on Ubuntu 19.10 and booted into new grub entry. Double-checked `uname -sr` - it printed "Linux 5.3.0-20-generic" (it was 5.3.0-19 before).

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Can you please poweroff the system before booting into the custom kernel?

Revision history for this message
Donatas (donce-lt) wrote :

I tried both, restarting and doing poweroff/poweron into a new kernel, but the results were the same - `uname -sr` - prints custom kernel "Linux 5.3.0-20-generic", but touchscreen doesn't work (even though it does work on Windows).

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :
Revision history for this message
Donatas (donce-lt) wrote :

Uninstalled the previous kernel, installed this one and did a full power-off/power-on - touchscreen is still not working.

Revision history for this message
AaronMa (mapengyu) wrote :

Please add "blacklist raydium_i2c_ts" to "/etc/modprobe.d/blacklist.conf"

then:
$ sudo update-initramfs -u -k all
$ sudo poweroff

Revision history for this message
Donatas (donce-lt) wrote :

Added a blacklist item, run followup commands to regenerate initramfs and poweroff - still not working. Tried on 2 kernels: 5.3.0-20~2 (provided by Feng) and on 5.3.0-19 (latest official Ubuntu).

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Can you please attach dmesg?

Revision history for this message
Donatas (donce-lt) wrote :

Attaching output of dmesg, on custom kernel and with device blacklisted.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Can you please test this kernel:
https://people.canonical.com/~khfeng/lp1849721+3/

Revision history for this message
Donatas (donce-lt) wrote :

Tried this one - uname gives "Linux 5.4.0-3.4-lp1849721+3-generic", but the touchscreen still does not work at all. Attaching dmesg output.

Revision history for this message
Donatas (donce-lt) wrote :

Also, tried removing device from the blacklist. Touchscreen still doesn't work and there are some errors about Raydium device in dmesg:

[ 1.027537] i2c_hid i2c-RAYD0001:00: i2c-RAYD0001:00 supply vdd not found, using dummy regulator
[ 1.027546] i2c_hid i2c-RAYD0001:00: i2c-RAYD0001:00 supply vddl not found, using dummy regulator

[ 6.085190] i2c_hid i2c-RAYD0001:00: failed to reset device.
[ 12.229192] i2c_hid i2c-RAYD0001:00: failed to reset device.
[ 18.373188] i2c_hid i2c-RAYD0001:00: failed to reset device.
[ 24.517190] i2c_hid i2c-RAYD0001:00: failed to reset device.
[ 25.541193] i2c_hid i2c-RAYD0001:00: can't add hid device: -61
[ 25.541415] i2c_hid: probe of i2c-RAYD0001:00 failed with error -61
[ 26.033395] raydium_ts i2c-RAYD0001:00: i2c-RAYD0001:00 supply avdd not found, using dummy regulator
[ 26.033415] raydium_ts i2c-RAYD0001:00: i2c-RAYD0001:00 supply vccio not found, using dummy regulator
[ 26.142289] input: Raydium Touchscreen as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-RAYD0001:00/input/input9

Attaching full dmesg output

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

I am thinking is this similar to #1849141?

Can you please test older Ubuntu kernel 4.15.0-20?

Revision history for this message
Donatas (donce-lt) wrote :

Tried 4.15.0-20 - still no sign of life. Also, wifi and controls for brightness did not work under this version, but that's probably unrelated since kernel is old.

uname -sr: Linux 4.15.0-20-generic

Attaching dmesg (both blacklisted and not)

Revision history for this message
Donatas (donce-lt) wrote :

And this is whitelisted dmesg output:

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

The L390 in our lab doesn't have this issue.

So please test latest mainline kernel:
https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4-rc7/

Particularly this commit:
commit 43b7029f475e7497da1de1f4a1742241812bf266
Author: Hans de Goede <email address hidden>
Date: Sun Oct 20 23:47:18 2019 +0200

    HID: i2c-hid: Send power-on command after reset

Revision history for this message
Donatas (donce-lt) wrote :

Should the Raydium device be blacklisted or not when testing this kernel?

Revision history for this message
Donatas (donce-lt) wrote :

https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4-rc7/ has an error: build for my architecture failed on latest commit, so there are no artefacts for i386:

Build for i386 failed (see BUILD.LOG.i386):
  linux-headers-5.4.0-050400rc7_5.4.0-050400rc7.201911102031_all.deb
  *_i386.deb

Also, https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4-rc7/ provides artifacts only for 31f4f5b495a62c9a8b15b1c3581acd5efeb9af8c commit, since it's probably the latest commit for v5.4-rc7 - there are not artefacts for 43b7029f475e7497da1de1f4a1742241812bf266 commit.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Can you please try this kernel:
https://people.canonical.com/~khfeng/lp1849721-4/

Which included this commit:
commit 0c8432236dea20a95f68fa17989ea3f8af0186a5
Author: Aaron Ma <email address hidden>
Date: Thu Nov 14 03:12:47 2019 +0800

    HID: i2c-hid: fix no irq after reset on raydium 3118

    On some ThinkPad L390 some raydium 3118 touchscreen devices
    doesn't response any data after reset, but some does.

    Add this ID to no irq quirk,
    then don't wait for any response alike on these touchscreens.
    All kinds of raydium 3118 devices work fine.

    BugLink: https://bugs.launchpad.net/bugs/1849721

    Signed-off-by: Aaron Ma <email address hidden>
    Signed-off-by: Jiri Kosina <email address hidden>

Revision history for this message
Donatas (donce-lt) wrote :

Hey Feng, the touchscreen with this kernel does work! Thank you for the help, I appreciate it.

This commit is not in the master yet - is it fine to use this kernel until the commit is in the official kernel release?

description: updated
Changed in linux (Ubuntu Disco):
status: New → Fix Committed
Changed in linux (Ubuntu Eoan):
status: New → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

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-disco' to 'verification-done-disco'. If the problem still exists, change the tag 'verification-needed-disco' to 'verification-failed-disco'.

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-disco
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

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-eoan' to 'verification-done-eoan'. If the problem still exists, change the tag 'verification-needed-eoan' to 'verification-failed-eoan'.

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-eoan
Revision history for this message
Donatas (donce-lt) wrote :

Tested with -proposed kernel on my eoan Ubuntu, works perfectly fine!

tags: added: verification-done-eoan
removed: verification-needed-eoan
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (27.4 KiB)

This bug was fixed in the package linux - 5.3.0-26.28

---------------
linux (5.3.0-26.28) eoan; urgency=medium

  * eoan/linux: 5.3.0-26.28 -proposed tracker (LP: #1856807)

  * nvidia-435 is in eoan, linux-restricted-modules only builds against 430,
    ubiquity gives me the self-signed modules experience instead of using the
    Canonical-signed modules (LP: #1856407)
    - Add nvidia-435 dkms build

linux (5.3.0-25.27) eoan; urgency=medium

  * eoan/linux: 5.3.0-25.27 -proposed tracker (LP: #1854762)

  * CVE-2019-14901
    - SAUCE: mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame()

  * CVE-2019-14896 // CVE-2019-14897
    - SAUCE: libertas: Fix two buffer overflows at parsing bss descriptor

  * CVE-2019-14895
    - SAUCE: mwifiex: fix possible heap overflow in mwifiex_process_country_ie()

  * [CML] New device id's for CMP-H (LP: #1846335)
    - mmc: sdhci-pci: Add another Id for Intel CML
    - i2c: i801: Add support for Intel Comet Lake PCH-H
    - mtd: spi-nor: intel-spi: Add support for Intel Comet Lake-H SPI serial flash
    - mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs

  * i915: Display flickers (monitor loses signal briefly) during "flickerfree"
    boot, while showing the BIOS logo on a black background (LP: #1836858)
    - [Config] FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y

  * Please add patch fixing RK818 ID detection (LP: #1853192)
    - SAUCE: mfd: rk808: Fix RK818 ID template

  * Kernel build log filled with "/bin/bash: line 5: warning: command
    substitution: ignored null byte in input" (LP: #1853843)
    - [Debian] Fix warnings when checking for modules signatures

  * Lenovo dock MAC Address pass through doesn't work in Ubuntu (LP: #1827961)
    - r8152: Add macpassthru support for ThinkPad Thunderbolt 3 Dock Gen 2

  * Dell XPS 13 9350/9360 headphone audio hiss (LP: #1654448) // [XPS 13 9360,
    Realtek ALC3246, Black Headphone Out, Front] High noise floor (LP: #1845810)
    - ALSA: hda/realtek: Reduce the Headphone static noise on XPS 9350/9360

  * no HDMI video output since GDM greeter after linux-oem-osp1 version
    5.0.0-1026 (LP: #1852386)
    - drm/i915: Add new CNL PCH ID seen on a CML platform
    - SAUCE: drm/i915: Fix detection for a CMP-V PCH

  * [broadwell-rt286, playback] Since Linux 5.2rc2 audio playback no longer
    works on Dell Venue 11 Pro 7140 (LP: #1846539)
    - [Config] Drop snd-sof-intel-bdw build
    - SAUCE: ASoC: SOF: Intel: Broadwell: clarify mutual exclusion with legacy
      driver

  * [CML-S62] Need enable turbostat patch support for Comet lake- S 6+2
    (LP: #1847451)
    - SAUCE: tools/power turbostat: Add Cometlake support

  * External microphone can't work on some dell machines with the codec alc256
    or alc236 (LP: #1853791)
    - SAUCE: ALSA: hda/realtek - Move some alc256 pintbls to fallback table
    - SAUCE: ALSA: hda/realtek - Move some alc236 pintbls to fallback table

  * Memory leak in net/xfrm/xfrm_state.c - 8 pages per ipsec connection
    (LP: #1853197)
    - xfrm: Fix memleak on xfrm state destroy

  * CVE-2019-18660: patches for Ubuntu (LP: #1853142) // CVE-2019-18660
    - powerpc/64s: support nospectre_v2 cmdline option
    - powerp...

Changed in linux (Ubuntu Eoan):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (42.3 KiB)

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

---------------
linux (5.0.0-38.41) disco; urgency=medium

  * disco/linux: 5.0.0-38.41 -proposed tracker (LP: #1854788)

  * [Regression] Failed to boot disco kernel built from master-next (kernel
    kernel NULL pointer dereference) (LP: #1853981)
    - SAUCE: blk-mq: Fix blk_mq_make_request for mq devices

  * CVE-2019-14901
    - SAUCE: mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame()

  * CVE-2019-14896 // CVE-2019-14897
    - SAUCE: libertas: Fix two buffer overflows at parsing bss descriptor

  * CVE-2019-14895
    - SAUCE: mwifiex: fix possible heap overflow in mwifiex_process_country_ie()

  * [CML] New device id's for CMP-H (LP: #1846335)
    - mmc: sdhci-pci: Add another Id for Intel CML
    - i2c: i801: Add support for Intel Comet Lake PCH-H
    - mtd: spi-nor: intel-spi: Add support for Intel Comet Lake-H SPI serial flash
    - mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs

  * Please add patch fixing RK818 ID detection (LP: #1853192)
    - SAUCE: mfd: rk808: Fix RK818 ID template

  * [SRU][B/OEM-B/OEM-OSP1/D] Enable new Elan touchpads which are not in current
    whitelist (LP: #1853246)
    - Input: elan_i2c - export the device id whitelist
    - HID: quirks: Refactor ELAN 400 and 401 handling

  * Lenovo dock MAC Address pass through doesn't work in Ubuntu (LP: #1827961)
    - r8152: Add macpassthru support for ThinkPad Thunderbolt 3 Dock Gen 2

  * [CML-S62] Need enable turbostat patch support for Comet lake- S 6+2
    (LP: #1847451)
    - SAUCE: tools/power turbostat: Add Cometlake support

  * External microphone can't work on some dell machines with the codec alc256
    or alc236 (LP: #1853791)
    - SAUCE: ALSA: hda/realtek - Move some alc256 pintbls to fallback table
    - SAUCE: ALSA: hda/realtek - Move some alc236 pintbls to fallback table

  * Memory leak in net/xfrm/xfrm_state.c - 8 pages per ipsec connection
    (LP: #1853197)
    - xfrm: Fix memleak on xfrm state destroy

  * CVE-2019-18660: patches for Ubuntu (LP: #1853142) // CVE-2019-18660
    - powerpc/64s: support nospectre_v2 cmdline option
    - powerpc/book3s64: Fix link stack flush on context switch
    - KVM: PPC: Book3S HV: Flush link stack on guest exit to host kernel

  * Raydium Touchscreen on ThinkPad L390 does not work (LP: #1849721)
    - HID: i2c-hid: fix no irq after reset on raydium 3118

  * Make Goodix I2C touchpads work (LP: #1853842)
    - HID: i2c-hid: Remove runtime power management
    - HID: i2c-hid: Send power-on command after reset

  * Touchpad doesn't work on Dell Inspiron 7000 2-in-1 (LP: #1851901)
    - Revert "UBUNTU: SAUCE: mfd: intel-lpss: add quirk for Dell XPS 13 7390
      2-in-1"
    - lib: devres: add a helper function for ioremap_uc
    - mfd: intel-lpss: Use devm_ioremap_uc for MMIO

  * CVE-2019-19055
    - nl80211: fix memory leak in nl80211_get_ftm_responder_stats

  * [CML-S62] Need enable intel_rapl patch support for Comet lake- S 6+2
    (LP: #1847454)
    - powercap/intel_rapl: add support for CometLake Mobile
    - powercap/intel_rapl: add support for Cometlake desktop

  * [CML-S62] Need enable intel_pmc_core driver patch for Comet l...

Changed in linux (Ubuntu Disco):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (8.6 KiB)

This bug was fixed in the package linux - 5.4.0-9.12

---------------
linux (5.4.0-9.12) focal; urgency=medium

  * alsa/hda/realtek: the line-out jack doens't work on a dell AIO
    (LP: #1855999)
    - SAUCE: ALSA: hda/realtek - Line-out jack doesn't work on a Dell AIO

  * scsi: hisi_sas: Check sas_port before using it (LP: #1855952)
    - scsi: hisi_sas: Check sas_port before using it

  * CVE-2019-19078
    - ath10k: fix memory leak

  * cifs: DFS Caching feature causing problems traversing multi-tier DFS setups
    (LP: #1854887)
    - cifs: Fix retrieval of DFS referrals in cifs_mount()

  * Support DPCD aux brightness control (LP: #1856134)
    - SAUCE: drm/i915: Fix eDP DPCD aux max backlight calculations
    - SAUCE: drm/i915: Assume 100% brightness when not in DPCD control mode
    - SAUCE: drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight()
    - SAUCE: drm/i915: Auto detect DPCD backlight support by default
    - SAUCE: drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED
      panel
    - USUNTU: SAUCE: drm/i915: Force DPCD backlight mode on Dell Precision 4K sku

  * The system cannot resume from S3 if user unplugs the TB16 during suspend
    state (LP: #1849269)
    - PCI: pciehp: Do not disable interrupt twice on suspend
    - PCI: pciehp: Prevent deadlock on disconnect

  * change kconfig of the soundwire bus driver from y to m (LP: #1855685)
    - [Config]: SOUNDWIRE=m

  * alsa/sof: change to use hda hdmi codec driver to make hdmi audio on the
    docking station work (LP: #1855666)
    - ALSA: hda/hdmi - implement mst_no_extra_pcms flag
    - ASoC: hdac_hda: add support for HDMI/DP as a HDA codec
    - ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi
    - ASoC: Intel: skl-hda-dsp-generic: fix include guard name
    - ASoC: SOF: Intel: add support for snd-hda-codec-hdmi
    - ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support
    - ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support
    - ASoC: intel: sof_rt5682: common hdmi codec support
    - ASoC: Intel: bxt_rt298: common hdmi codec support
    - ASoC: SOF: enable sync_write in hdac_bus
    - [config]: SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y

  * Fix unusable USB hub on Dell TB16 after S3 (LP: #1855312)
    - SAUCE: USB: core: Make port power cycle a seperate helper function
    - SAUCE: USB: core: Attempt power cycle port when it's in eSS.Disabled state

  * Focal update: v5.4.3 upstream stable release (LP: #1856583)
    - rsi: release skb if rsi_prepare_beacon fails
    - arm64: tegra: Fix 'active-low' warning for Jetson TX1 regulator
    - arm64: tegra: Fix 'active-low' warning for Jetson Xavier regulator
    - perf scripts python: exported-sql-viewer.py: Fix use of TRUE with SQLite
    - sparc64: implement ioremap_uc
    - lp: fix sparc64 LPSETTIMEOUT ioctl
    - time: Zero the upper 32-bits in __kernel_timespec on 32-bit
    - mailbox: tegra: Fix superfluous IRQ error message
    - staging/octeon: Use stubs for MIPS && !CAVIUM_OCTEON_SOC
    - usb: gadget: u_serial: add missing port entry locking
    - serial: 8250-mtk: Use platform_get_irq_optional() for optional irq
    - tty: serial: fsl_lpuart: use the sg ...

Read more...

Changed in linux (Ubuntu):
status: Confirmed → 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.