Thread (6 messages) 6 messages, 2 authors, 2023-10-15

Re: Help getting ELAN066C touchpad working in Linux

From: Hans de Goede <hidden>
Date: 2023-10-14 19:40:58

Hi Jonathan,

For starters, did you see this in dmesg? :

[    0.422648] i8042: PNP: PS/2 Controller [PNP0303:KBC0] at 0x60,0x64 irq 1
[    0.422652] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp

And did you try booting with "i8042.nopnp" ?

Also what is the output of:

ls -l /sys/bus/i2c/devices

and of:

ls -l /sys/bus/acpi/devices/ELAN066C:00/

and of:

cat /sys/bus/acpi/devices/ELAN066C:00/status

?

Regards,

Hans





On 10/14/23 19:12, jdieter@gmail.com wrote:
Hi Dmitry, Hans, input mailing list,

I have two Lenovo 300e laptops, one running Windows and the other
Fedora.  The laptop has a touchscreen, a stylus and a touchpad.  The
touch screen and stylus work perfectly, but, under Fedora, the touchpad
doesn't work at all and isn't detected by the kernel.

The device shows up in /sys/bus/acpi/devices/ELAN066C:00/ with a
modalias of acpi:ELAN066C:PNP0C50:.

I'm not sure if the touchpad should be using elan_i2c or i2c_hid_acpi.
In a somewhat naive attempt to get something to happen, I added:
    { "ELAN066C", 0 }, /* Lenovo 100e/300e 2nd gen AMD */
to include/linux/input/elan-i2c-ids.h, but the kernel still doesn't
auto-load the module.

I can get elan_i2c to recognize something if I run:
# echo elan_i2c 0x15 > /sys/bus/i2c/devices/i2c-1/new_device 
but the IRQ defaults to 0, and I get an error about an IRQ conflict:
[ 2317.791897] i2c i2c-1: delete_device: Deleting device elan_i2c at
0x15
[ 2319.317468] i2c i2c-1: new_device: Instantiated device elan_i2c at
0x15
[ 2319.317662] elan_i2c 1-0015: supply vcc not found, using dummy
regulator
[ 2319.433176] elan_i2c 1-0015: Elan Touchpad: Module ID: 0x00be,
Firmware: 0x0003, Sample: 0x0003, IAP: 0x000e
[ 2319.433184] elan_i2c 1-0015: Elan Touchpad Extra Information:
                   Max ABS X,Y:   3206,1828
                   Width X,Y:   152,152
                   Resolution X,Y:   31,31 (dots/mm)
                   ic type: 0xa
                   info pattern: 0x0
[ 2319.433339] genirq: Flags mismatch irq 0. 00002008 (elan_i2c) vs.
00015a00 (timer)
By manually setting the IRQ to an unused value in the driver, I can at
least get the driver to create a new mouse device in /dev/input, but
the touchpad still doesn't work.

At this point, I don't know if I'm really close or barking up the
completely wrong tree.

A bug report from earlier this year about an identical system is at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1976556

Attached is the dsl of the device in ACPI.

I would really appreciate any help in figuring out how to get this
working.  Please let me know if there's anything else you need from me.

Thanks,

Jonathan
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help