Elantech touchpad not working on mainline kernels

10 messages, 3 authors, 2021-07-23 · open the first message on its own page

Elantech touchpad not working on mainline kernels

From: Hans Schultz <hidden>
Date: 2021-05-30 09:12:16

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.

TIA,
Hans Schultz

Re: Elantech touchpad not working on mainline kernels

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2021-07-21 17:48:57

Hi Hans,

On Sun, May 30, 2021 at 2:12 AM Hans Schultz [off-list ref] 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.

-- 
Dmitry

Re: Elantech touchpad not working on mainline kernels

From: Hans Schultz <hidden>
Date: 2021-07-21 18:19:47

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@webspeed.dk> wrote:
quoted
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.
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.

Re: Elantech touchpad not working on mainline kernels

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2021-07-21 19:14:42

On Wed, Jul 21, 2021 at 11:09 AM Hans Schultz [off-list ref] wrote:
On Wed, 2021-07-21 at 10:48 -0700, Dmitry Torokhov wrote:
quoted
Hi Hans,

On Sun, May 30, 2021 at 2:12 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
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.

-- 
Dmitry

Re: Elantech touchpad not working on mainline kernels

From: Hans Schultz <hidden>
Date: 2021-07-21 19:33:08

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@webspeed.dk> wrote:
quoted
On Wed, 2021-07-21 at 10:48 -0700, Dmitry Torokhov wrote:
quoted
Hi Hans,

On Sun, May 30, 2021 at 2:12 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
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.
quoted
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

Re: Elantech touchpad not working on mainline kernels

From: Hans Schultz <hidden>
Date: 2021-07-21 19:53:43

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:
quoted
On Wed, Jul 21, 2021 at 11:09 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
On Wed, 2021-07-21 at 10:48 -0700, Dmitry Torokhov wrote:
quoted
Hi Hans,

On Sun, May 30, 2021 at 2:12 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
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.
quoted
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!

#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=m

#
# Multiplexer I2C Chip support
#
CONFIG_I2C_MUX_GPIO=m
CONFIG_I2C_MUX_LTC4306=m
CONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=m
CONFIG_I2C_MUX_REG=m
CONFIG_I2C_MUX_MLXCPLD=m
# end of Multiplexer I2C Chip support

CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_I801=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_ISMT=m
CONFIG_I2C_PIIX4=m
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_CP2615 is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_MLXCPLD is not set
# end of I2C Hardware Bus support

# CONFIG_I2C_STUB is not set
# CONFIG_I2C_SLAVE is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support

Re: Elantech touchpad not working on mainline kernels

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2021-07-21 20:16:43

On Wed, Jul 21, 2021 at 12:53 PM Hans Schultz [off-list ref] wrote:
On Wed, 2021-07-21 at 21:31 +0200, Hans Schultz wrote:
quoted
Hi Dmitry,

On Wed, 2021-07-21 at 12:14 -0700, Dmitry Torokhov wrote:
quoted
On Wed, Jul 21, 2021 at 11:09 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
On Wed, 2021-07-21 at 10:48 -0700, Dmitry Torokhov wrote:
quoted
Hi Hans,

On Sun, May 30, 2021 at 2:12 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
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.
quoted
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.

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

Re: Elantech touchpad not working on mainline kernels

From: Benjamin Tissoires <hidden>
Date: 2021-07-22 07:55:18

On Wed, Jul 21, 2021 at 10:42 PM Dmitry Torokhov
[off-list ref] wrote:
On Wed, Jul 21, 2021 at 12:53 PM Hans Schultz [off-list ref] wrote:
quoted
On Wed, 2021-07-21 at 21:31 +0200, Hans Schultz wrote:
quoted
Hi Dmitry,

On Wed, 2021-07-21 at 12:14 -0700, Dmitry Torokhov wrote:
quoted
On Wed, Jul 21, 2021 at 11:09 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
On Wed, 2021-07-21 at 10:48 -0700, Dmitry Torokhov wrote:
quoted
Hi Hans,

On Sun, May 30, 2021 at 2:12 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
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.
quoted
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

Re: Elantech touchpad not working on mainline kernels

From: Hans Schultz <hidden>
Date: 2021-07-22 08:47:15

On Thu, 2021-07-22 at 09:55 +0200, Benjamin Tissoires wrote:
On Wed, Jul 21, 2021 at 10:42 PM Dmitry Torokhov
[off-list ref] wrote:
quoted
On Wed, Jul 21, 2021 at 12:53 PM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
On Wed, 2021-07-21 at 21:31 +0200, Hans Schultz wrote:
quoted
Hi Dmitry,

On Wed, 2021-07-21 at 12:14 -0700, Dmitry Torokhov wrote:
quoted
On Wed, Jul 21, 2021 at 11:09 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
On Wed, 2021-07-21 at 10:48 -0700, Dmitry Torokhov wrote:
quoted
Hi Hans,

On Sun, May 30, 2021 at 2:12 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
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.
quoted
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
quoted
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.

Re: Elantech touchpad not working on mainline kernels

From: Hans Schultz <hidden>
Date: 2021-07-23 07:47:07

On Wed, 2021-07-21 at 13:16 -0700, Dmitry Torokhov wrote:
On Wed, Jul 21, 2021 at 12:53 PM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
On Wed, 2021-07-21 at 21:31 +0200, Hans Schultz wrote:
quoted
Hi Dmitry,

On Wed, 2021-07-21 at 12:14 -0700, Dmitry Torokhov wrote:
quoted
On Wed, Jul 21, 2021 at 11:09 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
On Wed, 2021-07-21 at 10:48 -0700, Dmitry Torokhov wrote:
quoted
Hi Hans,

On Sun, May 30, 2021 at 2:12 AM Hans Schultz <
hans.schultz@webspeed.dk> wrote:
quoted
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.
quoted
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.

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.
I found some more designware under PWM (pulse width modulation), when
checking for LPSS. I also see some hotplug ACPI that I have not
enabled, is there other configurations that must be considered?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help