Re: [RFC] Dell XPS 15 multitouch touchpad

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

 



On Mon, Jan 7, 2019 at 9:19 AM René Rebe <rene@xxxxxxxxxxxxx> wrote:
>
> Hi,
>
> thanks for your answer.
>
> On 07 Jan 2019, at 09:11, Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> wrote:
>
> Hi Rene,
>
> On Sun, Jan 6, 2019 at 5:10 PM Rene Rebe <rene@xxxxxxxxxxxxx> wrote:
>
>
> Hi,
>
> I am testing a Dell XPS 15 all-in-one and noticed the I2C connected
> touchpad had only very basic mouse function. I debugged around a bit
> and manually modprobing hid-multitouch appears to bind this to the
> hid-multitouch for grearly enhanced functionatliy. Now I could
>
>
> Hmm, if the module is compiled in and you are using udev, there should
> be no need to manually modprobe the driver.
> Which distribution are you using? and are you running the stock kernel
> for that distribution
>
>
> T2
>
> probably just add hid-multitouch to some init script, but I wanted to
> get it to auto-load liek for my Surface Typecover. I added the ID,
> Synaptics, 0x7A13 to the hid-quirks for a test, but this is not yet
>
>
> Is this ID for the Surface TypeCover or the XPS 15?
>
>
> XPS 15
>
> enough to auto-load. Before I continue adding the ID all over the
> place, including the hid-multitouch.c, could someone shortly comment
> about the best, intended place for this - there are so many IDs all
> over the place and it is not obvious where it is necessary and where
> not.
>
>
> Short answer nowhere :)
> udev should load it for you. At least if udev loads hid-generic, there
> is no reasons it doesn't load hid-multitouch.
>
>
> udev loads it on my Surface Pro Typecover, or other laptops, I guess the last was some ThinkPad.
> But not this Dell. I also heard back from a Ubuntu users that they gave up trying to configure the touchpad and send the device back, ..
>
>        { HID_USB_DEVICE(USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD), HID_QUIRK_BADPAD },
>
>        { HID_USB_DEVICE(USB_VENDOR_ID_TOUCHPACK, USB_DEVICE_ID_TOUCHPACK_RTS), HID_QUIRK_MULTI_INPUT },
>        { HID_USB_DEVICE(USB_VENDOR_ID_TPV, USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN_8882), HID_QUIRK_NOGET },
> @@ -507,6 +508,7 @@
> #endif
> #if IS_ENABLED(CONFIG_HID_MULTITOUCH)
>        { HID_USB_DEVICE(USB_VENDOR_ID_LG, USB_DEVICE_ID_LG_MELFAS_MT) },
> +       { HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, 0x7A13) },
>
>
> You are just preventing hid-generic you bind on your device, which
> might be worse than what you want.
> If hid-multitouch is not loaded, then you don't even have basic mouse
> capabilities.
>
> So, if for a very unfortunate events udev can't load the device (which
> I strongly doubt given than modprobing the driver works), the only
> place that would have an effect is adding the ID in hid-multitouch.c.
>
> But again, if udev doesn't bind hid-multitouch without the id, there
> is a risk it won't bind the device even if you add the ID: there is
> something wrong at the udev level IMO.
>
>
> Well hid-generic is loaded and it gives a rudimentary pointer, but not hid-mutitouch.

So when you added the ID in the hid_have_special_driver[] list,
hid-generic was still loaded?

Can you do a hid-recording of your touchpad with hid-recorder found in
https://gitlab.freedesktop.org/libevdev/hid-tools [1]?

This way I'll be able to see and replay the issue locally.

Cheers,
Benjamin

[1] there is a C version at
https://gitlab.freedesktop.org/bentiss/hid-replay/ but the python one
also parses the input in a human readable format.

> However, hid-multitouch is loaded for other laptops when I boot them from the same external installed SSD.
>
> René
>
> --
>  ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin
>  DE Legal: Amtsgericht Berlin (Charlottenburg) HRB 105123B, Tax-ID#: DE251602478
>  Managing Director: René Rebe
>  http://exactcode.com | http://exactscan.com | http://ocrkit.com | http://t2-project.org | http://rene.rebe.de
>



[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