Re: [PATCH] HID: multitouch: Add MT_QUIRK_FORCE_GET_FEATURE to MT_CLS_WIN_8 quirks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 5/1/20 8:20 PM, Hans de Goede wrote:
Hi,

On 5/1/20 11:56 AM, Hans de Goede wrote:
The touchpad on the Dell Venue 11 Pro 7130's keyboard-dock is multi-touch
capable, using HID_GROUP_MULTITOUCH_WIN_8 and the hid-multitouch driver
correctly binds to it.

But instead of getting multi-touch HID input reports we still get mouse
input reports and corresponding linux input (evdev) node events.

Unloading and reloading the hid-multitouch driver works around this.

Adding the MT_QUIRK_FORCE_GET_FEATURE quirk to the MT_CLS_WIN_8 quirks
makes the driver work correctly the first time it is loaded.

I've chosen to add this quirk to the generic MT_CLS_WIN_8 quirks
because it seems unlikely that this quirk will causes problems for
other MT_CLS_WIN_8 devices and if this device needs it other Win 8
compatible devices might need it too.

Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>

Self nack for now, there are more issues with this detachable keyboard,
it sometimes does not work after being unplugged and replugged again
USB_QUIRK_DELAY_INIT seems to help a bit, but is not a total solution...

Dell has some firmware updates for the kbd. So I'll install Windows and
then update the firmware and we'll see from there.

So after installing Windows it turns out that the kbd-dock firmware was
already fully up2date, what fun.

So it took me quite a long time to get to the bottom of this.

The problem is that the Dell K12A kbd-dock needs a HID_QUIRK_NO_INIT_REPORTS
quirk; or maybe both of HID_QUIRK_NO_INIT_REPORTS|HID_QUIRK_NOGET I've tested
with the later version and that fixes both the touchpad initially being
stuck in mouse emulation and the dock misbehaving after a hot unplug + replug.

I suspect I really only need HID_QUIRK_NO_INIT_REPORTS, I will retest with
that and submit a new patch replacing this one.

Somewhat related: to make space for the Windows install I nuked the old
Fedora 27 install which was on the machine and after installing Windows
I did a fresh Fedora 32 install in the space which I left free when
installing Windows.

This causes an interesting new problem. The touchpad worked fine
(with the quirk) in gdm, but it would stop working when I logged into
a user GNOME-session.  It took me a while to get to the bottom of
this. The problem is that the usersession ends up dbus activating
fwupd (probably through gnome-software) and fwupd does some probe
of the touchpad which puts it in a mode where it no longer generates
any events.

sudo rpm -e fwupd gnome-software

Works around this, so not a HID bug, but definitely something to keep
an eye out for if we get similar bug reports on other devices.

I will mail the fwupd maintainer about this with you in the Cc.
Note this is an unrelated issue really, but I thought you
should be aware of this.

Regards,

Hans



---
  drivers/hid/hid-multitouch.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 362805ddf377..f9c0429e7348 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -265,6 +265,7 @@ static const struct mt_class mt_classes[] = {
              MT_QUIRK_IGNORE_DUPLICATES |
              MT_QUIRK_HOVERING |
              MT_QUIRK_CONTACT_CNT_ACCURATE |
+            MT_QUIRK_FORCE_GET_FEATURE |
              MT_QUIRK_STICKY_FINGERS |
              MT_QUIRK_WIN8_PTP_BUTTONS,
          .export_all_inputs = true },





[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux