Bug 1176971 - Touchpad ELAN 0634 not recognized
Touchpad ELAN 0634 not recognized
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Kernel
Current
x86-64 openSUSE Tumbleweed
: P5 - None : Normal (vote)
: ---
Assigned To: openSUSE Kernel Bugs
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2020-09-25 09:54 UTC by Steffen Klein
Modified: 2022-01-14 13:35 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---
tiwai: needinfo? (steffen)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steffen Klein 2020-09-25 09:54:41 UTC
Touchpad ELAN 0634 not recognized on Lenovo ThinkBook14 IIL

# acpidump |grep -C1 ELAN
   2A1D0: 44 52 00 08 49 44 41 44 00 08 48 49 44 32 00 08  DR..IDAD..HID2..
   2A1E0: 5F 48 49 44 0D 45 4C 41 4E 30 36 33 34 00 08 5F  _HID.ELAN0634.._
   2A1F0: 43 49 44 0D 50 4E 50 30 43 35 30 00 08 5F 55 49  CID.PNP0C50.._UI

Problem seems to be common, multiple Ubuntu (and others) findings if googling.
Seems to be fixed already through a kernel patch, but seems not to be in the current kernel 5.8.10 in Tumbleweed.

Ubuntu bug:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1861610

possible Fix:
https://lore.kernel.org/linux-input/000201d5a8bd$9fead3f0$dfc07bd0$@emc.com.tw/
Comment 1 Steffen Klein 2020-09-25 11:10:46 UTC
For the record, kernel tested:
# uname -a
Linux xxxxxxxxxxx 5.8.10-1-default #1 SMP Mon Sep 21 11:00:19 UTC 2020 (af3e800) x86_64 x86_64 x86_64 GNU/Linux

I adapted now the workaround provided in https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1861610/comments/66 (just built a fixed dsdt.aml and did a acpi /boot/dsdt.aml in grub.cfg before kernel load (had to disable secure boot in BIOS for that workaround).

I can confirm, that the touchpad works aftwerwards.

Nevertheless it would be nice to have the available kernel fix included in the standard kernel for not having to fix with the dsdt to get a working touchpad (and yes, I'm aware of the fact, that this is a BIOS-bug which originally should be fixed by Lenovo...)

The steps I took:
# acpidump -b
# iasl -d dsdt.dat
# vi dsdt.dsl 
 - Search the HID of the touch pad: ELAN0634
 - Search the next _STA method declaration 
   and comment out these four lines:

  Method (_STA, 0, NotSerialized)  // _STA: Status
  {
    //If ((TPVD == 0x45))
      //{
          Return (0x0F)
      //}
      //Return (Zero)
  }

 - Increment the version number. It’s the last parameter of the DefinitionBlock (line 21 for me):
  DefinitionBlock ("", "DSDT", 2, "LENOVO", "ICL     ", 0x20170002)

# iasl -sa dsdt.dsl
# cp dsdt.aml /boot

reboot, press e in grub menu on your linux boot entry and enter the following line before kernel loading:
 acpi /boot/dsdt.aml
(Secure boot has to be disabled in BIOS!)

If it works, add it permanently to the grub.cfg
Comment 2 Takashi Iwai 2020-09-26 07:40:56 UTC
The suggested kernel fix patch has been already included in 5.8 since rc6.
Could you confirm whether it works or not?
Comment 3 Steffen Klein 2020-09-26 14:45:22 UTC
Ok, so this patch seems not to be enough. 
Initially I installed 5.8.7 an upgraded to 5.8.10. 
Both ignored the touchpad.
I had to implement the workaround to get it recognized.
Comment 4 Steffen Klein 2020-09-26 14:53:20 UTC
There is a related bug at redhat, where Hans de Goede seem to having submitted a working patch upstream:
https://bugzilla.redhat.com/show_bug.cgi?id=1842039
Comment 5 Takashi Iwai 2020-09-27 08:04:35 UTC
OK, thanks for the pointer.

I'm building a test kernel with the suggested fix patch now.  It's being built on OBS home:tiwai:bsc1176971 repo.  The test package will be available later at
  http://download.opensuse.org/repositories/home:/tiwai:/bsc1176971/standard/

Please give it a try later.  Once after confirming it works, I'll queue the fix.
Comment 6 Steffen Klein 2020-10-24 10:01:59 UTC
Sorry for the delay, didn't have access to the hardware.
I can confirm, that your fix works.
Touchpad is now working without acpi meddling.
THX!
Comment 7 Miroslav Beneš 2022-01-14 13:35:32 UTC
Should be fixed. TW kernel contains the mentioned patch for quite a while. Upstream commit 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()").

Closing...