Re: Elantech touchpad breaks with older HP model

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

 



On Thu, Sep 26, 2019 at 5:42 PM rility <rility3@xxxxxxxxx> wrote:
>
>
> 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

Thanks a lot for the *very* fast test :)

So you are definitively in the same situation than the kernel BZ I
mentioned. And AFAICT in the kernel BZ the laptop was manufactured in
2017, which would match the fact that the dmi_get_bios_date() call is
inaccurate for what we want to do.

If you have a few cycle to spare, it would be interesting to see that
you also can't enable the touchpad with my second patch applied on top
of the first (the one called
0001-WIP-Input-elan_i2c-disable-all-SMBus-calls-in-probe.patch in the
kernel BZ). But I honestly thing this would just confirm what we
discovered already: your touchpad is not compatible with the current
elan_i2c driver.

Cheers,
Benjamin


>
> 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