Bug 214249 - The touchpad isn't detected as such in recent Dell computers (XPS 15 9510)
Summary: The touchpad isn't detected as such in recent Dell computers (XPS 15 9510)
Status: RESOLVED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: Input Devices (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_input-devices
URL:
Keywords:
: 214263 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-09-01 12:13 UTC by Julien Wajsberg
Modified: 2021-09-06 17:06 UTC (History)
0 users

See Also:
Kernel Version: 5.13.13
Subsystem:
Regression: No
Bisected commit-id:


Attachments
cat /proc/bus/input/devices (6.45 KB, text/plain)
2021-09-01 12:14 UTC, Julien Wajsberg
Details
Output of libinput list-devices (4.75 KB, text/plain)
2021-09-01 12:17 UTC, Julien Wajsberg
Details
output of xinput when running in X (1.05 KB, text/plain)
2021-09-01 12:20 UTC, Julien Wajsberg
Details
kernel messages on 5.10 (1.51 MB, application/gzip)
2021-09-01 14:29 UTC, Julien Wajsberg
Details
Output of libinput list-devices on 5.10 (8.62 KB, text/plain)
2021-09-01 14:29 UTC, Julien Wajsberg
Details
cat /proc/bus/input/devices on 5.10 (9.69 KB, text/plain)
2021-09-01 14:30 UTC, Julien Wajsberg
Details
kernel messages on 5.13 (18.89 KB, application/gzip)
2021-09-01 14:30 UTC, Julien Wajsberg
Details
Output of libinput list-devices on 5.13 (7.19 KB, text/plain)
2021-09-01 14:30 UTC, Julien Wajsberg
Details
cat /proc/bus/input/devices on 5.13 (8.36 KB, text/plain)
2021-09-01 14:30 UTC, Julien Wajsberg
Details

Description Julien Wajsberg 2021-09-01 12:13:48 UTC
(could be a dupe of bug 212647?)

Hey,
I'm using a Dell XPS 15 9510 which is fairly new. The touchpad is detected as a PS/2 Mouse, which prevents very useful behaviors like two-finger scrolling and especially palm detection. That palm detection doesn't work is especially painful.

I checked that it works perfectly on Windows.

This is on Debian Bullseye, but the kernel is v5.13.6 and I built it myself.
Comment 1 Julien Wajsberg 2021-09-01 12:14:57 UTC
Created attachment 298557 [details]
cat /proc/bus/input/devices
Comment 2 Julien Wajsberg 2021-09-01 12:17:11 UTC
Created attachment 298559 [details]
Output of libinput list-devices
Comment 3 Julien Wajsberg 2021-09-01 12:20:06 UTC
Created attachment 298561 [details]
output of xinput when running in X
Comment 4 Julien Wajsberg 2021-09-01 13:59:01 UTC
I just built and installed 5.13.13, same thing.
Comment 5 Julien Wajsberg 2021-09-01 14:29:10 UTC
In debian's 5.10 kernel, the touchpad works perfectly. I'll attach some more logs.
Comment 6 Julien Wajsberg 2021-09-01 14:29:35 UTC
Created attachment 298605 [details]
kernel messages on 5.10
Comment 7 Julien Wajsberg 2021-09-01 14:29:48 UTC
Created attachment 298607 [details]
Output of libinput list-devices on 5.10
Comment 8 Julien Wajsberg 2021-09-01 14:30:01 UTC
Created attachment 298609 [details]
cat /proc/bus/input/devices on 5.10
Comment 9 Julien Wajsberg 2021-09-01 14:30:16 UTC
Created attachment 298611 [details]
kernel messages on 5.13
Comment 10 Julien Wajsberg 2021-09-01 14:30:37 UTC
Created attachment 298613 [details]
Output of libinput list-devices on 5.13
Comment 11 Julien Wajsberg 2021-09-01 14:30:53 UTC
Created attachment 298615 [details]
cat /proc/bus/input/devices on 5.13
Comment 12 Julien Wajsberg 2021-09-01 14:33:49 UTC
So it's not a dupe of bug 212647, because they report that Debian's 5.10 doesn't work, but it works for me.
Comment 13 Julien Wajsberg 2021-09-06 17:01:34 UTC
*** Bug 214263 has been marked as a duplicate of this bug. ***
Comment 14 Julien Wajsberg 2021-09-06 17:06:53 UTC
After bisecting, I found that the culprit is:


> b33752c300232d7f95dd9a4353947d0c9e6a0e52 is the first bad commit
> commit b33752c300232d7f95dd9a4353947d0c9e6a0e52
> Author: Douglas Anderson <dianders@chromium.org>
> Date:   Fri Jan 15 09:06:37 2021 -0800
>
> HID: i2c-hid: Reorganize so ACPI and OF are separate modules
>
> This patch rejiggers the i2c-hid code so that the OF (Open Firmware
>     aka Device Tree) and ACPI support is separated out a bit.  The OF and
> ACPI drivers are now separate modules that wrap the core module.
>
> Essentially, what we're doing here:
> * Make "power up" and "power down" a function that can be (optionally)
> implemented by a given user of the i2c-hid core.
> * The OF and ACPI modules are drivers on their own, so they implement
> probe / remove / suspend / resume / shutdown.  The core code
> provides implementations that OF and ACPI can call into.
> 
> We'll organize this so that we now have 3 modules: the old i2c-hid
> module becomes the "core" module and two new modules will depend on
> it, handling probing the specific device.
> 
> As part of this work, we'll remove the i2c-hid "platform data"
> concept since it's not needed.
> 
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> 
> drivers/hid/Makefile                  |   2 +-
> drivers/hid/i2c-hid/Kconfig           |  32 ++++-
> drivers/hid/i2c-hid/Makefile          |   5 +-
> drivers/hid/i2c-hid/i2c-hid-acpi.c    | 143 +++++++++++++++++++
> drivers/hid/i2c-hid/i2c-hid-core.c    | 252
> ++++++----------------------------
> drivers/hid/i2c-hid/i2c-hid-of.c      | 143 +++++++++++++++++++
> drivers/hid/i2c-hid/i2c-hid.h         |  22 +++
>   include/linux/platform_data/i2c-hid.h |  41 ------
> 8 files changed, 379 insertions(+), 261 deletions(-)
>   create mode 100644 drivers/hid/i2c-hid/i2c-hid-acpi.c
>   create mode 100644 drivers/hid/i2c-hid/i2c-hid-of.c
>   delete mode 100644 include/linux/platform_data/i2c-hid.h

Looking at this patch, I realized that the issue is actually just a missing module... And now this works on my 5.13.14 just fine!

The missing module is CONFIG_I2C_HID_ACPI, in Device Drivers > HID > I2C HID Support > HID over I2C transport layer ACPI driver, which is off by default.

Therefore I'm closing it as invalid.

Note You need to log in before you can comment on or make changes to this bug.