At last I have a working touchpad on my Lenovo ThinkBook 15 IIL!! :)
Ubuntu 20.04
Kernel: 5.4.0-42-generic
Steps to fix:
Do it as root:
$ sudo su
# apt update
# apt install acpidump iasl cpio
# cd /tmp
Get and disassemble the original acpi table:
# acpidump -b
# iasl -d dsdt.dat
Edit /tmp/dsdt.dsl:
- Search the HID of the touch pad: ELAN0634
- Search the next _STA method declaration (line 38922 in my case) and comment
out these four lines:
Method (_STA, 0, NotSerialized) // _STA: Status
{
//If ((TPVD == 0x45))
//{
Return (0x0F)
//}
//Return (Zero)
}
Probably the kernel calls the _STA method before the _REG method, so the
TPVD not yet initialized here.
Increment the version number. It’s the last parameter of the DefinitionBlock
(line 21 for me):
DefinitionBlock ("", "DSDT", 2, "LENOVO", "ICL ", 0x20170002)
Compile the dsl file:
# iasl -sa dsdt.dsl
Create initrd archive:
# mkdir -p kernel/firmware/acpi
# mv dsdt.aml kernel/firmware/acpi
# find kernel | cpio -H newc --create > /boot/acpi_fixed.cpio
Unfortunately the GRUB_EARLY_INITRD_LINUX_CUSTOM parameter in the
/etc/default/grub config file results in a messy output and non booting
system, so we need to create a custom script in /etc/grub.d directory
instead.
create and edit: /etc/grub.d/50_acpi_patch
copy these lines into it:
#!/bin/sh
sed -i -E 's/^(\s+initrd\s+)(.*)$/\1\/acpi_fixed.cpio \2/g'
/boot/grub/grub.cfg.new
Make it executable:
# chmod +x /etc/grub.d/50_acpi_patch
Update grub config:
# update-grub
Edit /etc/modprobe.d/blacklist.conf. Add these lines to the end of the
file:
#Allow module elan_i2c to control the touch pad
blacklist i2c_hid
Reboot:
# reboot
Be happy!
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-oem-5.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1861610
Title:
'Elan touchpad' not detected on 'Lenovo ThinkBook 15 IIL'
Status in linux package in Ubuntu:
Fix Released
Status in linux-oem-5.6 package in Ubuntu:
Fix Released
Status in linux-oem-osp1 package in Ubuntu:
Invalid
Status in linux source package in Bionic:
Fix Released
Status in linux-oem-5.6 source package in Bionic:
Invalid
Status in linux-oem-osp1 source package in Bionic:
Fix Released
Status in linux source package in Eoan:
Fix Released
Status in linux-oem-5.6 source package in Eoan:
Invalid
Status in linux-oem-osp1 source package in Eoan:
Fix Released
Status in linux source package in Focal:
Fix Released
Status in linux-oem-5.6 source package in Focal:
Fix Released
Status in linux-oem-osp1 source package in Focal:
Invalid
Bug description:
[SRU Justification]
[Impact]
Touchpad function unavailable on some platforms with new ELAN touchpad
HIDs.
[Fix]
https://lore.kernel.org/linux-input/[email protected]/
required to match these currently unsupported IDs.
[Test Case]
1. check if platform is affected, e.g. with ELAN0634:
$ sudo acpidump | grep -C3 ELAN
2A060: 49 4E 54 31 70 0A 20 49 44 41 44 A4 84 53 42 46 INT1p.IDAD..SBF
2A070: 53 53 42 46 49 00 5B 82 42 0E 54 50 44 32 08 5F SSBFI.[.B.TPD2._
2A080: 41 44 52 00 08 49 44 41 44 00 08 48 49 44 32 00 ADR..IDAD..HID2.
2A090: 08 5F 48 49 44 0D 45 4C 41 4E 30 36 33 34 00 08 ._HID.ELAN0634..
2A0A0: 5F 43 49 44 0D 50 4E 50 30 43 35 30 00 08 5F 55 _CID.PNP0C50.._U
2A0B0: 49 44 01 14 4B 04 5F 44 53 4D 04 A0 3C 93 68 11 ID..K._DSM..<.h.
2A0C0: 13 0A 10 F7 F6 DF 3C 67 42 55 45 AD 05 B3 0A 3D ......<gBUE....=
2. check if touchpad then appear in /proc/bus/input/devices when
applied.
[Regression Potential]
Low. Only add new IDs for currently unsupported platforms.
========== Original Bug Description ==========
The Elan touchpad on my Lenovo Thinkbook isn't being detected, and
hence isn't working.
`sudo acpidump | grep -C3 ELAN` gives me the device's ACPI id:
```bash
ghosthawkzero@EchelonV:~$ sudo acpidump | grep -C3 ELAN
2A060: 49 4E 54 31 70 0A 20 49 44 41 44 A4 84 53 42 46 INT1p. IDAD..SBF
2A070: 53 53 42 46 49 00 5B 82 42 0E 54 50 44 32 08 5F SSBFI.[.B.TPD2._
2A080: 41 44 52 00 08 49 44 41 44 00 08 48 49 44 32 00 ADR..IDAD..HID2.
2A090: 08 5F 48 49 44 0D 45 4C 41 4E 30 36 33 34 00 08 ._HID.ELAN0634..
2A0A0: 5F 43 49 44 0D 50 4E 50 30 43 35 30 00 08 5F 55 _CID.PNP0C50.._U
2A0B0: 49 44 01 14 4B 04 5F 44 53 4D 04 A0 3C 93 68 11 ID..K._DSM..<.h.
2A0C0: 13 0A 10 F7 F6 DF 3C 67 42 55 45 AD 05 B3 0A 3D ......<gBUE....=
ghosthawkzero@EchelonV:~$
```
Have attached the content from /proc/bus/input/devices.
**EXPECTED** - touchpad to work
**WHAT IS HAPPENING** - touchpad not detected and touchpad not
working.
More info:
LSB release:
```bash
ghosthawkzero@EchelonV:~$ lsb_release -rd
Description: Ubuntu 19.10
Release: 19.10
ghosthawkzero@EchelonV:~$
```
ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: linux-image-5.3.0-29-generic 5.3.0-29.31
ProcVersionSignature: Ubuntu 5.3.0-29.31-generic 5.3.13
Uname: Linux 5.3.0-29-generic x86_64
ApportVersion: 2.20.11-0ubuntu8.2
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/controlC0: ghosthawkzero 1493 F.... pulseaudio
CurrentDesktop: ubuntu:GNOME
Date: Sun Feb 2 19:03:29 2020
InstallationDate: Installed on 2020-01-29 (3 days ago)
InstallationMedia: Ubuntu 19.10 "Eoan Ermine" - Release amd64 (20191017)
MachineType: LENOVO 20SM
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.3.0-29-generic
root=UUID=c070ef84-6265-4593-a4c3-b0ceddf7e9b4 ro quiet splash vt.handoff=7
RelatedPackageVersions:
linux-restricted-modules-5.3.0-29-generic N/A
linux-backports-modules-5.3.0-29-generic N/A
linux-firmware 1.183.3
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 12/11/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: DJCN14WW
dmi.board.name: LVAC/LVAD
dmi.board.vendor: LENOVO
dmi.board.version: SDK0L77769 WIN
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Lenovo ThinkBook 15-IIL
dmi.modalias:
dmi:bvnLENOVO:bvrDJCN14WW:bd12/11/2019:svnLENOVO:pn20SM:pvrLenovoThinkBook15-IIL:rvnLENOVO:rnLVAC/LVAD:rvrSDK0L77769WIN:cvnLENOVO:ct10:cvrLenovoThinkBook15-IIL:
dmi.product.family: Thinkbook 15-IIL
dmi.product.name: 20SM
dmi.product.sku: LENOVO_MT_20SM_BU_idea_FM_Thinkbook 15-IIL
dmi.product.version: Lenovo ThinkBook 15-IIL
dmi.sys.vendor: LENOVO
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1861610/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp