Re: [PATCH 2/2] HID: multitouch: enable the Surface 3 Type Cover to report multitouch data

From: Benjamin Tissoires
Date: Fri Jun 03 2016 - 08:23:15 EST


On Jun 03 2016 or thereabouts, Andy Shevchenko wrote:
> On Fri, 2016-06-03 at 11:38 +0200, Benjamin Tissoires wrote:
> > On Jun 02 2016 or thereabouts, Andy Shevchenko wrote:
> > > On Thu, 2016-06-02 at 16:11 +0200, Benjamin Tissoires wrote:
> > > > > > > > Â
> > > > On May 31 2016 or thereabouts, Andy Shevchenko wrote:
> > > > > On Tue, 2016-05-31 at 18:07 +0200, Benjamin Tissoires wrote:
> > > > > > On May 20 2016 or thereabouts, Benjamin Tissoires wrote:
> > > > > > > On May 13 2016 or thereabouts, Andy Shevchenko wrote:
> > > > > > > Would you mind sending me a hid-recorder[1] trace of the
> > > > > > > device
> > > > > > > while
> > > > > > > typing few keys and using the touchpad?
> > > > > > Â
> > >
> > > > OK, so it looks like your touchpad stays in the mouse emulation
> > > > mode
> > > > for
> > > > some reasons. Did you do the recordings with hid-multitouch
> > > > patched,
> > > > or
> > > > with plain hid-generic or an other one?
> > >
> > > I take linux-next + your two patches from this thread (+ some
> > > unrelated
> > > to HID patches).
> >
> > OK. I think I know what happened:
> > - Microsoft forgot to put the Win 8 certification blob in this
> > Â particular device (of course, because Microsoft)
> > - we do not detect it as a Win 8 certified and do not set the
> > Â HID_QUIRK_NO_INIT_REPORTS flag
> > - your dmesg should show some error on plug, and then hid can't set
> > the
> > Â input mode
> > - I can't add a "if win 8 then show the mouse collection" because your
> > Â device doesn't report itself as win 8 :)
> >
> > Anyway, could you try applying this small diff after my 2 patches and
> > report if you now have a working touchpad?:
>
> Nope. There is still no /dev/input/eventX associated with touchpad.

Weird. On my system, if I replay your logs, I see 4 new nodes:
/dev/input/event21: Microsoft Surface Keyboard Keyboard
/dev/input/event22: Microsoft Surface Keyboard Consumer Control
/dev/input/event23: Microsoft Surface Keyboard Touchpad
/dev/input/event24: Microsoft Surface Keyboard Keyboard

Can you attach the dmesg when plugging in the type cover?

Cheers,
Benjamin

>
> >
> > diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-
> > multitouch.c
> > index ac35731..e51a753 100644
> > --- a/drivers/hid/hid-multitouch.c
> > +++ b/drivers/hid/hid-multitouch.c
> > @@ -1379,6 +1379,10 @@ static const struct hid_device_id mt_devices[]
> > = {
> > ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂMT_USB_DEVICE(USB_VENDOR_ID_ILITEK,
> > ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂUSB_DEVICE_ID_ILITEK_MULTITOUCH) },
> > Â
> > +ÂÂÂÂÂÂÂ/* Microsoft */
> > +ÂÂÂÂÂÂÂ{ .driver_data = MT_CLS_WIN_8,
> > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂMT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, 0x07cd) },
> > +
>
>
>
>
> --
> Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Intel Finland Oy