[Bug 259230] Touching the touchpad on a frame.work laptop causes reboot or poweroff

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 04 Nov 2021 06:49:58 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259230

Kyle Evans <kevans@freebsd.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wulf@freebsd.org

--- Comment #8 from Kyle Evans <kevans@freebsd.org> ---
I had contacted frame.work support after my last comment because I suspected a
firmware bug, and I did get a response from them tonight; quoted below. The
short version is that we are triggering a firmware bug (the crashing) as it
falls back to legacy mode, and the root cause is likely that we're sending the
reset command but can't setup the interrupt because it's an ACPI GPIO interrupt
that we don't currently support.

--

Hi Kyle, 

I wanted to follow up on the touchpad issue you are seeing in freebsd. I can
reproduce the issue, and i suspect that with PS2 emulation enabled freebsd may
be holding the i2c bus to the touchpad low for too long or during startup. It
does not seem to reproduce 100% of the time. 

I suspect what is happening is the OS is sending the reset command to the
touchpad and then not processing interrupts from the touchpad soon enough,
causing the EC to fallback to ps2 mouse emulation as it does not detect the
i2c-hid interface as being active. 
I suspect that the freebsd driver may be holding the i2c lines low in this
state, causing the EC to fail communication with the touchpad. 

Unexpectedly this causes the EC to crash, which is what is causing the system
to shutdown. 

I will take a look at exactly what is causing the crash and we can role a fix
into a future firmware update, as that should not happen! But for now I would
suggest disabling ps2 emulation in the bios. 

Thanks for the report! 

--

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