[Bug 286445] atkbdc: elantech touchpad doesn't work on system76 serw13

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 29 Apr 2025 14:56:04 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286445

            Bug ID: 286445
           Summary: atkbdc: elantech touchpad doesn't work on system76
                    serw13
           Product: Base System
           Version: 15.0-CURRENT
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: p.mousavizadeh@protonmail.com
 Attachment #259995 text/plain
         mime type:

Created attachment 259995
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=259995&action=edit
acpidump -dt

Hello,

My touchpad doesn't work. I followed every guide with the Elantech tag on the
forum and Bugzilla, but I didn't get any results.

I tried every combination of these three boot-time tunables:
hw.psm.synaptics_support
hw.psm.elantech_support
hw.psm.trackpoint_support

Sometimes, psm0 is recognized as GlidePoint, and other times (after a reboot),
it is recognized as Elantech. I still can't figure out the reason for this
inconsistency:
# grep -ri psm0 /var/log/messages
/var/log/messages:Apr 29 16:14:05 cornelia kernel: psm0: <PS/2 Mouse> irq 12 on
atkbdc0
/var/log/messages:Apr 29 16:14:05 cornelia kernel: psm0: [GIANT-LOCKED]
/var/log/messages:Apr 29 16:14:05 cornelia kernel: psm0: model GlidePoint,
device ID 0
/var/log/messages:Apr 29 16:17:08 cornelia kernel: psm0: <PS/2 Mouse> irq 12 on
atkbdc0
/var/log/messages:Apr 29 16:17:08 cornelia kernel: psm0: [GIANT-LOCKED]
/var/log/messages:Apr 29 16:17:08 cornelia kernel: psm0: model Elantech
Touchpad, device ID 242

However, when it is recognized as an Elantech touchpad, it still doesn't work
(error: lost interrupt).
# bzcat /var/log/messages.0.bz2 | grep -i psm
Apr 29 16:26:05 cornelia kernel: psm: DISABLE_DEV return code:00fa
Apr 29 16:26:05 cornelia kernel: psm: SEND_AUX_DEV_STATUS return code:00fa
Apr 29 16:26:05 cornelia kernel: psm: status e9 00 00
Apr 29 16:26:23 cornelia kernel: psm: ENABLE_DEV return code:00fa
Apr 29 16:26:23 cornelia kernel: psm: SEND_AUX_DEV_STATUS return code:00fa
Apr 29 16:26:23 cornelia kernel: psm: status e9 20 00
Apr 29 16:26:23 cornelia kernel: psm: DISABLE_DEV return code:00fa
Apr 29 16:26:23 cornelia kernel: psm: SEND_AUX_DEV_STATUS return code:00fa
Apr 29 16:26:23 cornelia kernel: psm: status e9 00 00
Apr 29 16:26:23 cornelia kernel: psm: ENABLE_DEV return code:00fa
Apr 29 16:26:23 cornelia kernel: psm: SEND_AUX_DEV_STATUS return code:00fa
Apr 29 16:26:23 cornelia kernel: psm: status e9 20 00
Apr 29 16:26:26 cornelia kernel: psm0: lost interrupt?
Apr 29 16:26:28 cornelia kernel: psm0: lost interrupt?
Apr 29 16:26:33 cornelia kernel: psm0: lost interrupt?
...

Here is my libinput list-devices shows when psm0 got detected as Glidepoint:
Device:           GlidePoint
Kernel:           /dev/input/event6
Group:            19
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *button
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   flat *adaptive custom
Rotation:         0.0

I have set the debug.psm.loglevel to 5 and tried both kern.evdev.rcpt_mask=12
and 6.
Also, I suspected that maybe my touchpad is connected over I2C, so I have these
drivers loaded at my loader.conf:
# Raptor Lake-S PCH SMBus Controller
iichid_load="YES"
smbus_load="YES"

# Touchpad
ietp_load="YES"
ig4_load="YES"

It’s worth mentioning that I tried installing and uninstalling both
xf86-input-synaptics and libsynaptics, with synaptics_support turned off and
on, but nothing changed.

Version:
[spmzt@cornelia] [~] % uname -a
FreeBSD cornelia 15.0-CURRENT FreeBSD 15.0-CURRENT #3
main-n276762-d4dab32448ce: Fri Apr 25 23:31:47 +0330 2025    
root@cornelia.spmzt.net:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG amd64
[spmzt@cornelia] [~] % freebsd-version -ku
15.0-CURRENT
15.0-CURRENT

I'm using system76 coreboot at its latest version.
Hardware specs: tech-docs.system76.com/models/serw13/README.html

Thank you!

-- 
You are receiving this mail because:
You are the assignee for the bug.