All of lore.kernel.org
 help / color / mirror / Atom feed
* ELAN i2c touchpad fail on warm reboot
@ 2016-05-24 22:20 João Paulo Rechi Vita
  0 siblings, 0 replies; only message in thread
From: João Paulo Rechi Vita @ 2016-05-24 22:20 UTC (permalink / raw)
  To: Duson Lin, Dmitry Torokhov
  Cc: linux-input, chiu, João Paulo Rechi Vita, linux

ELAN touchpads connected via i2c do not work correctly on a warm
reboot from a system that does not fully support them into linux
mainline. This is a somewhat esoteric bug, but it affects factory
production lines where a machine first boots some kind of flashing
tool / installer (which does not have proper support for this
touchpad) and then reboots into the installed system to run a factory
test procedure.

To reproduce it one needs a modified kernel where the touchpad is
driven by i2c_hid, so removing the ACPI HW id from
drivers/input/mouse/elan_i2c_core.c and removing the
USB_VENDOR_ID_ELAN entries from hid_ignore_list[] in
drivers/hid/hid-core.c should be enough. Then doing a warm reboot from
this modified kernel into mainline prevents the touchpad from working
at all, and dmesg gets flooded with these messages:

elan_i2c i2c-ELAN1000:00: invalid report id data (1)

Any ideas are welcome, and I can provide more data / run tests if needed.

This has been seen on the Asus E202SA, N552VW and X456UF.

Thanks and regards,

--
João Paulo Rechi Vita
http://about.me/jprvita
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-05-24 22:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-24 22:20 ELAN i2c touchpad fail on warm reboot João Paulo Rechi Vita

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.