Comment 94 for bug 1949394

Revision history for this message
In , mat.jonczyk (mat.jonczyk-linux-kernel-bugs) wrote :

(In reply to Benjamin Tissoires from comment #92)
> I went through all the comments of this bug, and I don't think that the
> touchpad is using i2c-hid.
Thank You for Your work.
> The DSDT apparently shows a lot of i2c-hid
> devices, and so does the /sys dir, but that does not means that all the
> declared devices are used/included in the laptop. I have already seen this
> in an Asus laptop. The OEM just add all of the available touchpads in the
> market in their DSDT table, so that they do not have to edit the table when
> using various touchpads/touchscreens.
Yep, in the DSDT there are 3 entries for Elantech, entries for Cypress, for Synaptics, etc.
>
> Anyway, the various
> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/INT33C3:00/*/status files
> should return 0 for all of the touchpads whether or not the physical
> touchpad is working. If one returns 1, i2c-hid should pick it, so I doubt
> this is the case.
>
> I am trying to understand why the touchpad does not initialize correctly
> when we poke him, but IMO, the root of the problem lies in the PS/2 code.

We could probably reset (send 0xd4 0xff) the device before trying to identify it.

http://www.win.tue.nl/~aeb/linux/kbd/scancodes-13.html - here is some identification protocol described, it tells to reset the device before identification.