Re: Elantech touchpad breaks with older HP model

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 9/26/19 6:01 PM, Benjamin Tissoires wrote:
Hi Kai-Heng,

On Wed, Sep 25, 2019 at 8:08 PM Kai-Heng Feng
<kai.heng.feng@xxxxxxxxxxxxx> wrote:
[+cc Benjamin, linux-input]

Hi Benjamin,

On Sep 26, 2019, at 00:00, rility <rility3@xxxxxxxxx> wrote:

Hi Dmitry and Feng,

I'm seeming to have some problem using my ELAN touchpad with later kernel with this commit [Input: elantech - enable SMBus on new (2018+) systems](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/input/mouse?id=883a2a80f79ca5c0c105605fafabd1f3df99b34c).

This ELAN touchpad fails to be detected. It's on a 2016 HP laptop model 340 G3, though I did update the BIOS this year.
So using dmi_get_bios_year() as manufacturing date is inaccurate.
indeed. Not something I expected. But it kind of makes sense now :/

I don't really have the first knowledge of kernel development, and am wondering if you can help out.

```

With the latest 5.4.rc0



~ sudo dmesg | grep elan -i

[    4.127896] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5e0f01)
[    4.142887] psmouse serio1: elantech: Synaptics capabilities query result 0x70, 0x16, 0x0a.
[    4.158366] psmouse serio1: elantech: Elan sample query result 0b, 01, a7
[    4.191200] psmouse serio1: elantech: Trying to set up SMBus access
[    4.198630] elan_i2c 0-0015: 0-0015 supply vcc not found, using dummy regulator
[    4.202104] elan_i2c 0-0015: failed to get product ID: -6
[    4.243786] elan_i2c 0-0015: failed to get product ID: -71
[    4.287117] elan_i2c 0-0015: failed to get product ID: -71
[    4.322734] elan_i2c: probe of 0-0015 failed with error -71
Do you think it’s a bug we should work on, or we should simply blacklist affected touchpad?

It *really* looks like the touchpad is not supposed to be used under
SMBus. There is however a (non successful) patch I wrote for an other
HP laptop at https://bugzilla.kernel.org/show_bug.cgi?id=204771

Rility, can you apply
v2-0001-Input-elan-also-provide-the-product-ID-from-PS-2-.patch in the
bug report above and report if this helps?

I tested the patch applied on 5.4 and the touchpad still fails to start.

The logs are similar.

~ sudo dmesg | grep elan -i
[    4.191687] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5e0f01) [    4.206565] psmouse serio1: elantech: Synaptics capabilities query result 0x70, 0x16, 0x0a.
[    4.221495] psmouse serio1: elantech: Elan sample query result 0b, 01, a7
[    4.251876] psmouse serio1: elantech: Trying to set up SMBus access
[    4.310231] elan_i2c 0-0015: 0-0015 supply vcc not found, using dummy regulator
[    4.320552] elan_i2c 0-0015: failed to get product ID: -71
[    4.365460] elan_i2c 0-0015: failed to get product ID: -71
[    4.411115] elan_i2c 0-0015: failed to get product ID: -71
[    4.449716] elan_i2c: probe of 0-0015 failed with error -71

Rility

Blacklist IMO is never going to scale, because even if BIOS updates
after a couple of years are not that common, but that also means we
accidentally break touchpads randomly,

If the patch mentioned above doesn't really helps, I would rather
revert the commit introducing the dmi_get_bios_year() in elantech.c,
and add manually the devices that can be tested one by one.

Cheers,
Benjamin

Kai-Heng



While with the previous version of kernel.


~ sudo dmesg | grep elan -i
[    4.193067] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5e0f01)
[    4.208056] psmouse serio1: elantech: Synaptics capabilities query result 0x70, 0x16, 0x0a.
[    4.223009] psmouse serio1: elantech: Elan sample query result 0b, 01, a7
[    4.302361] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input27



~ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 08)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #1 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)

```

Grateful,

Rility




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux