Lenovo Thinkbook 14-IIL-20SL, touchpad isn't detected

Hi,
I have an Lenovo Thinkbook 14-IIL 20SL and installed Freebsd 14.1 and Xorg on it. The keyboard is working so far but the touchpad is not working and I would say not detected as well.
What I figured out is that the touchpad is a Buttonless Mylar® surface multi-touch touchpad found here https://psref.lenovo.com/syspool/Sys/PDF/ThinkBook/ThinkBook_14_IIL/ThinkBook_14_IIL_Spec.PDF


I tried several configurations via /usr/local/etc/X11/xorg.conf.d by copying the shared examples from /usr/local/shareX11/xorg.conf.d. In other words I tried using the libinput driver / evdev driver / synaptics driver without luck.

dmesg will not show results when grepping for touchpad or elan or synaptic. So I don't know the type of the touchpad. I believe the touchpad is not detected from a hardware perspective. maybe I have to update the BIOS.....

I also enabled the 2IC kernel module iichid_load="YES" in /boot/loader.conf.

Everything related to mouse or touchpad I found in log files are about "System mouse" and "pointer".

Any idea what can I do to get more insights or the correct driver or kernel module to get this touchpad working?
thx

Here is the probe I made https://bsd-hardware.info/?probe=0232a3609d
Here is a log snippet from the Xorg log
[ 385.343] (II) config/udev: Adding input device System mouse (/dev/input/event1)
[ 385.343] (**) System mouse: Applying InputClass "evdev pointer catchall"
[ 385.343] (**) System mouse: Applying InputClass "libinput pointer catchall"
[ 385.343] (**) System mouse: Applying InputClass "evdev pointer catchall"
[ 385.343] (II) Using input driver 'evdev' for 'System mouse'
[ 385.343] (**) System mouse: always reports core events
[ 385.343] (**) evdev: System mouse: Device: "/dev/input/event1"
[ 385.343] (--) evdev: System mouse: Vendor 0 Product 0
[ 385.343] (--) evdev: System mouse: Found 12 mouse buttons
[ 385.343] (--) evdev: System mouse: Found scroll wheel(s)
[ 385.343] (--) evdev: System mouse: Found relative axes
[ 385.343] (--) evdev: System mouse: Found x and y relative axes
[ 385.343] (II) evdev: System mouse: Configuring as mouse
[ 385.343] (II) evdev: System mouse: Adding scrollwheel support
[ 385.343] (**) evdev: System mouse: YAxisMapping: buttons 4 and 5
[ 385.343] (**) evdev: System mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 385.343] (**) Option "config_info" "udev:/dev/input/event1"
[ 385.343] (II) XINPUT: Adding extended input device "System mouse" (type: MOUSE, id 7)
[ 385.343] (II) evdev: System mouse: initialized for relative axes.
[ 385.343] (**) System mouse: (accel) keeping acceleration scheme 1
[ 385.343] (**) System mouse: (accel) acceleration profile 0
[ 385.343] (**) System mouse: (accel) acceleration factor: 2.000
[ 385.343] (**) System mouse: (accel) acceleration threshold: 4
 
To rule out a hardware failure, do you have confirmation that the touchpad is working, e.g. running a Linux live distribution?
 
ig4 was already loaded. doesn't work.

I boot linux mint edge, and the touchpad is working there.
Here are the infos I grepped from linux mint live system.


$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Elan Touchpad id=9 [slave pointer (2)]

$ xinput list-props 9
Device 'Elan Touchpad':
Device Enabled (189): 1
Coordinate Transformation Matrix (191): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (325): 1
libinput Tapping Enabled Default (326): 0
libinput Tapping Drag Enabled (327): 1
libinput Tapping Drag Enabled Default (328): 1
....

$ lsmod
elan_i2c 57344 0

$ modinfo
filename: /lib/modules/6.5.0-14-generic/kernel/drivers/input/mouse/elan_i2c.ko
license: GPL
description: Elan I2C/SMBus Touchpad driver
author: Duson Lin <dusonlin@emc.com.tw>
srcversion: 72D9FDC2653EBC40454A7CB
alias: i2c:elan_i2c
alias: acpi*:ELAN1000:*
...

Xorg.log
[ 46.302] (II) config/udev: Adding input device Elan Touchpad (/dev/input/event5)
[ 46.302] (**) Elan Touchpad: Applying InputClass "libinput touchpad catchall"
[ 46.302] (II) Using input driver 'libinput' for 'Elan Touchpad'
[ 46.302] (**) Elan Touchpad: always reports core events
[ 46.302] (**) Option "Device" "/dev/input/event5"
[ 46.303] (II) event5 - Elan Touchpad: is tagged by udev as: Touchpad
[ 46.304] (II) event5 - Elan Touchpad: device is a touchpad
[ 46.304] (II) event5 - Elan Touchpad: device removed
[ 46.332] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ELAN0634:00/input/input5/event5"
[ 46.332] (II) XINPUT: Adding extended input device "Elan Touchpad" (type: TOUCHPAD, id 9)
[ 46.333] (**) Option "AccelerationScheme" "none"
[ 46.333] (**) Elan Touchpad: (accel) selected scheme none/0
[ 46.333] (**) Elan Touchpad: (accel) acceleration factor: 2.000
[ 46.333] (**) Elan Touchpad: (accel) acceleration threshold: 4
[ 46.333] (II) event5 - Elan Touchpad: is tagged by udev as: Touchpad
[ 46.334] (II) event5 - Elan Touchpad: device is a touchpad
[ 46.334] (II) config/udev: Adding input device Elan Touchpad (/dev/input/mouse0)
[ 46.334] (II) No input driver specified, ignoring this device.
[ 46.334] (II) This device may have been added with another device file.

So the question seems to be is the driver or kernel module elan_i2c.ko available for freebsd?

Btw: I have no idea wabout HID etc, maybe I have to enable or install something in this direction?
 
You may try following patch
--- a/sys/dev/iicbus/iichid.c +++ b/sys/dev/iicbus/iichid.c @@ -137,6 +137,7 @@ static const struct iichid_id { int reg; } iichid_ids[] = { { "ELAN0000", IICHID_REG_ELAN }, + { "ELAN0634", IICHID_REG_ELAN }, { "PNP0C50", IICHID_REG_ACPI }, { "ACPI0C50", IICHID_REG_ACPI }, { NULL, 0 },
 
Hey,
I read
- https://docs.freebsd.org/en/books/handbook/cutting-edge/
- https://docs.freebsd.org/en/books/handbook/kernelconfig/

to learn how to update my current 14.1 release and install src.
As a second step I created my custom kernel conf, applied your patch and build and installed my new kernel.
But the touchpad isn't working.

EDIT

these are my loaded kernel modules
mb@thinkbook:~ $ cat /tmp/kldstat.txt
Id Refs Address Size Name
1 118 0xffffffff80200000 1f370e8 kernel
2 1 0xffffffff82139000 68a0 iichid.ko
3 3 0xffffffff82140000 7868 hidbus.ko
4 1 0xffffffff82148000 1c3f0 geom_eli.ko
5 1 0xffffffff82165000 baa8 ig4.ko
6 1 0xffffffff82171000 5cd608 zfs.ko
7 1 0xffffffff8273f000 77d8 cryptodev.ko
8 1 0xffffffff837f9000 1b3920 i915kms.ko
9 2 0xffffffff839ad000 7c050 drm.ko
10 1 0xffffffff83a2a000 22b8 iic.ko
11 3 0xffffffff83a2d000 3080 linuxkpi_hdmi.ko
12 3 0xffffffff83a31000 6350 dmabuf.ko
13 3 0xffffffff83a38000 3378 lindebugfs.ko
14 1 0xffffffff83a3c000 b360 ttm.ko
15 1 0xffffffff83a48000 3390 acpi_wmi.ko
16 1 0xffffffff83a4c000 93260 if_iwlwifi.ko
17 1 0xffffffff83ae0000 d200 rtsx.ko
18 1 0xffffffff83aee000 3360 uhid.ko
19 1 0xffffffff83af2000 33c0 usbhid.ko
20 1 0xffffffff83af6000 3360 wmt.ko
21 1 0xffffffff83afa000 e5b0 snd_uaudio.ko
22 1 0xffffffff83b09000 4d20 ng_ubt.ko
23 3 0xffffffff83b0e000 abb8 netgraph.ko
24 2 0xffffffff83b19000 a250 ng_hci.ko
25 2 0xffffffff83b24000 2670 ng_bluetooth.ko
26 1 0xffffffff83b27000 8560 if_ure.ko
27 1 0xffffffff83b30000 3190 uether.ko
28 1 0xffffffff83b34000 2a68 mac_ntpd.ko
 
Back
Top