Re: Elantech touchpad not working on mainline kernels

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

 



On Thu, 2021-07-22 at 09:55 +0200, Benjamin Tissoires wrote:
> On Wed, Jul 21, 2021 at 10:42 PM Dmitry Torokhov
> <dmitry.torokhov@xxxxxxxxx> wrote:
> > 
> > On Wed, Jul 21, 2021 at 12:53 PM Hans Schultz <
> > hans.schultz@xxxxxxxxxxx> wrote:
> > > 
> > > On Wed, 2021-07-21 at 21:31 +0200, Hans Schultz wrote:
> > > > Hi Dmitry,
> > > > 
> > > > On Wed, 2021-07-21 at 12:14 -0700, Dmitry Torokhov wrote:
> > > > > On Wed, Jul 21, 2021 at 11:09 AM Hans Schultz <
> > > > > hans.schultz@xxxxxxxxxxx> wrote:
> > > > > > 
> > > > > > On Wed, 2021-07-21 at 10:48 -0700, Dmitry Torokhov wrote:
> > > > > > > Hi Hans,
> > > > > > > 
> > > > > > > On Sun, May 30, 2021 at 2:12 AM Hans Schultz <
> > > > > > > hans.schultz@xxxxxxxxxxx> wrote:
> > > > > > > > 
> > > > > > > > Hello,
> > > > > > > > I have a problem getting my Elantech touchpad to work
> > > > > > > > with
> > > > > > > > the
> > > > > > > > mainline
> > > > > > > > kernels, and I need some assistance with the code to
> > > > > > > > resolve
> > > > > > > > the
> > > > > > > > problem.
> > > > > > > > The kernels that have tried are 5.9.11 and 5.11.11.
> > > > > > > > 
> > > > > > > > With boot parameters i8042.notimeout i8042.nomux, the
> > > > > > > > touchpad is
> > > > > > > > detected but does not work. There is absolutely no
> > > > > > > > response
> > > > > > > > from
> > > > > > > > it
> > > > > > > > with any hid modules loaded.
> > > > > > > > 
> > > > > > > > It is reported and seen working on a Lubuntu distro
> > > > > > > > (bionic
> > > > > > > > kernel)
> > > > > > > > when inserting the i2c_hid module. The insertion of the
> > > > > > > > i2c_hid
> > > > > > > > module
> > > > > > > > pulls in the hid_multitouch module when it works, no
> > > > > > > > boot
> > > > > > > > parameters
> > > > > > > > necessary.
> > > > > > > > In the case where it does not work, insering the
> > > > > > > > i2c_hid
> > > > > > > > module
> > > > > > > > does
> > > > > > > > not pull in the hid_multitouch module.
> > > > > > > > 
> > > > > > > > I have the bionic kernel code, but I have not as of yet
> > > > > > > > been
> > > > > > > > able
> > > > > > > > to
> > > > > > > > detect what makes it work in contrast to the kernel.org
> > > > > > > > kernels.
> > > > > > > > 
> > > > > > > > This I think should lead to a kernel patch.
> > > > > > > 
> > > > > > > There is not much to go on with. What is the hardware,
> > > > > > > your
> > > > > > > kernel
> > > > > > > .config, dmesg from unsuccessful boot? If you have logs
> > > > > > > from
> > > > > > > the
> > > > > > > working kernel that would help too.
> > > > > > > 
> > > > > > > Thanks.
> > > > > > > 
> > > > > > 
> > > > > > The best info I have on the hardware is from Xorg log with
> > > > > > the
> > > > > > working
> > > > > > Lubuntu kernel:
> > > > > > [ 130.980] (II) Loading
> > > > > > /usr/lib/xorg/modules/input/synaptics_drv.so
> > > > > > [ 130.982] (II) Module synaptics: vendor="X.Org Foundation"
> > > > > > [ 130.982] (II) Using input driver 'synaptics' for '0X45
> > > > > > 0X4C
> > > > > > 0X41
> > > > > > 0:00
> > > > > > 04F3:308C Touchpad'
> > > > > > 
> > > > > > I might be able to get the kernel messages when inserting
> > > > > > the
> > > > > > working
> > > > > > module, but I think it will not tell much more.
> > > > > 
> > > > > OK, if you say so. Then the only suggestion I have is to
> > > > > verify
> > > > > that
> > > > > your kernel config enables all necessary options for your
> > > > > hardware.
> > > > > I'd double check if you have Designware I2C controller
> > > > > enabled,
> > > > > ACPI
> > > > > LPSS, etc.
> > > > > 
> > > > > > To me it is clearly a code issue as the working kernel
> > > > > > pulls in
> > > > > > hid_multitouch when inserting i2c_hid, while the non-
> > > > > > working does
> > > > > > not.
> > > > > > 
> > > > > > All kernels I have tried up to now from kernel.org do not
> > > > > > work.
> > > > > > The
> > > > > > latest being 5.13.4.
> > > > > 
> > > > > Thanks.
> > > > > 
> > > > 
> > > > I have a thread with all the dmesg info for both the working
> > > > and non-
> > > > working cases here :
> > > > https://gitlab.freedesktop.org/libinput/libinput/-/issues/544
> > > > 
> > > > Benjamin has also asked for the acpidump info, which is there.
> > > > (funny
> > > > as the responses to my problem come at the same time after a
> > > > long
> > > > time.
> > > > :-) )
> > > > 
> > > > I will check my .config...
> > > > 
> > > > Thanks,
> > > > Hans
> > > 
> > > Here are my I2C kernel settings. I only added what I could see as
> > > with
> > > Intel hw, so no Designware!
> > 
> > However if you consult the dmesg from the working kernel you will
> > observe:
> > 
> > [   79.964148] input: 0X45 0X4C 0X41 0:00 04F3:308C Mouse as
> > /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-8/i2c-0X45
> > 0X4C
> > 0X41 0:00/0018:04F3:308C.0002/input/input24
> > [   79.964222] input: 0X45 0X4C 0X41 0:00 04F3:308C Touchpad as
> > /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-8/i2c-0X45
> > 0X4C
> > 0X41 0:00/0018:04F3:308C.0002/input/input26
> > 
> > so it clearly uses designware-compatible IP block even though it is
> > an
> > Intel system.
> 
> FWIW, I think Intel platform *always* rely on designware for the I2C
> adapter implementation. So if you haven't enabled that driver there
> is
> no chance for you to have a working touchpad.
> 
> Cheers,
> Benjamin
> 
> > 
> > Can you try grabbing config from the working kernel and use it if
> > you
> > want to compile your own? There are a lot of hardware dependencies
> > in
> > modern systems that may not be immediately obvious.
> > 
> > Thanks.
> > 
> > --
> > Dmitry

I have now tried taking the kernel config from the working example and
building a 5.13.4 kernel based on that, but it still does not work.

My original approach was assuming that the Lubuntu kernel was module
based, which they normally are to be flexible, and checking module for
module what I had of modules in my kernel build and the module list
from the Lubuntu kernel.

The designware part in the Lubuntu kernel it shows was not included as
a module but was in the kernel bin. Adding the designware parts to my
kernel did not resolve the issue either.

Still inserting i2c_hid does not pull in hid_multitouch.

Is there code differences that Ubuntu have made to their kernel that
can explain this? I have been looking through the code and there is
definitely differences, f.ex. in the quirks department.



[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