[regression] Touchscreen stop working on LG L90 Dual
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Confirmed
|
Undecided
|
Unassigned | ||
Mir |
Invalid
|
Undecided
|
Unassigned | ||
udev |
Confirmed
|
Undecided
|
Andreas Pokorny | ||
systemd (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
I ports Ubuntu touch to LG L90 Dual. When I upgraded my device from 20151218.1 to 20151221 (channel rc-proposed), the touchscreen stopped working. A discussion in IRC with @anpok_ suggesting that it may come from changing input system to udev/libevdev/
The following udevadm output is most likely from the Touch Screen:
$ udevadm test-builtin input_id /devices/
calling: test-builtin
=== trie on-disk ===
tool version: 219
file size: 6711498 bytes
header size 80 bytes
strings 1721914 bytes
nodes 4989504 bytes
Load module index
Network interface NamePolicy= disabled on kernel command line, ignoring.
timestamp of '/etc/systemd/
timestamp of '/usr/lib/
Parsed configuration file /lib/systemd/
Parsed configuration file /etc/systemd/
Created link configuration context.
ID_INPUT=1
capabilities/ev raw kernel attribute: b
capabilities/ev decoded bit map:
bit 0: 0000000B
capabilities/abs raw kernel attribute: 6718000 0
capabilities/abs decoded bit map:
bit 0: 00000000
bit 32: 06718000
capabilities/rel raw kernel attribute: 0
capabilities/rel decoded bit map:
capabilities/key raw kernel attribute: 400 0 0 2000000 0 1000 40000800 100000 0 10000000 0
capabilities/key decoded bit map:
bit 0: 00000000
bit 32: 10000000
bit 64: 00000000
bit 96: 00100000
bit 128: 40000800
bit 160: 00001000
bit 192: 00000000
bit 224: 02000000
bit 256: 00000000
bit 288: 00000000
bit 320: 00000400
properties raw kernel attribute: 0
properties decoded bit map:
test_key: checking bit block 0 for any keys; found=0
test_key: checking bit block 32 for any keys; found=1
test_key: checking bit block 64 for any keys; found=1
test_key: checking bit block 96 for any keys; found=1
test_key: checking bit block 128 for any keys; found=1
test_key: checking bit block 160 for any keys; found=1
test_key: checking bit block 192 for any keys; found=1
test_key: checking bit block 224 for any keys; found=1
ID_INPUT_KEY=1
Unload module index
Unloaded link configuration context.
The driver claims that is provides the multi touch axis touch major, touch minor, tracking id, x, y, tool type and slot id. So apart from missing properties like DIRECT it seems to be a normal touch screen, but udev clearly does not detect it properly.
-------
The other devices are probably not the touchscreen...
$ udevadm test-builtin input_id /devices/
calling: test-builtin
=== trie on-disk ===
tool version: 219
file size: 6711498 bytes
header size 80 bytes
strings 1721914 bytes
nodes 4989504 bytes
Load module index
Network interface NamePolicy= disabled on kernel command line, ignoring.
timestamp of '/etc/systemd/
timestamp of '/usr/lib/
Parsed configuration file /lib/systemd/
Parsed configuration file /etc/systemd/
Created link configuration context.
ID_INPUT=1
capabilities/ev raw kernel attribute: 3
capabilities/ev decoded bit map:
bit 0: 00000003
capabilities/abs raw kernel attribute: 0
capabilities/abs decoded bit map:
capabilities/rel raw kernel attribute: 0
capabilities/rel decoded bit map:
capabilities/key raw kernel attribute: 4000000 0 0 0 c0040 0 0 0
capabilities/key decoded bit map:
bit 0: 00000000
bit 32: 00000000
bit 64: 00000000
bit 96: 000C0040
bit 128: 00000000
bit 160: 00000000
bit 192: 00000000
bit 224: 04000000
properties raw kernel attribute: 0
properties decoded bit map:
test_key: checking bit block 0 for any keys; found=0
test_key: checking bit block 32 for any keys; found=0
test_key: checking bit block 64 for any keys; found=0
test_key: checking bit block 96 for any keys; found=1
test_key: checking bit block 128 for any keys; found=1
test_key: checking bit block 160 for any keys; found=1
test_key: checking bit block 192 for any keys; found=1
test_key: checking bit block 224 for any keys; found=1
ID_INPUT_KEY=1
Unload module index
Unloaded link configuration context.
$ udevadm test-builtin input_id /devices/
calling: test-builtin
=== trie on-disk ===
tool version: 219
file size: 6711498 bytes
header size 80 bytes
strings 1721914 bytes
nodes 4989504 bytes
Load module index
Network interface NamePolicy= disabled on kernel command line, ignoring.
timestamp of '/etc/systemd/
timestamp of '/usr/lib/
Parsed configuration file /lib/systemd/
Parsed configuration file /etc/systemd/
Created link configuration context.
ID_INPUT=1
capabilities/ev raw kernel attribute: 3
capabilities/ev decoded bit map:
bit 0: 00000003
capabilities/abs raw kernel attribute: 0
capabilities/abs decoded bit map:
capabilities/rel raw kernel attribute: 0
capabilities/rel decoded bit map:
capabilities/key raw kernel attribute: 100000 0 0 0
capabilities/key decoded bit map:
bit 0: 00000000
bit 32: 00000000
bit 64: 00000000
bit 96: 00100000
properties raw kernel attribute: 10
properties decoded bit map:
bit 0: 00000010
test_key: checking bit block 0 for any keys; found=0
test_key: checking bit block 32 for any keys; found=0
test_key: checking bit block 64 for any keys; found=0
test_key: checking bit block 96 for any keys; found=1
test_key: checking bit block 128 for any keys; found=1
test_key: checking bit block 160 for any keys; found=1
test_key: checking bit block 192 for any keys; found=1
test_key: checking bit block 224 for any keys; found=1
ID_INPUT_KEY=1
Unload module index
Unloaded link configuration context.
$ udevadm test-builtin input_id /devices/
calling: test-builtin
=== trie on-disk ===
tool version: 219
file size: 6711498 bytes
header size 80 bytes
strings 1721914 bytes
nodes 4989504 bytes
Load module index
Network interface NamePolicy= disabled on kernel command line, ignoring.
timestamp of '/etc/systemd/
timestamp of '/usr/lib/
Parsed configuration file /lib/systemd/
Parsed configuration file /etc/systemd/
Created link configuration context.
ID_INPUT=1
capabilities/ev raw kernel attribute: 3
capabilities/ev decoded bit map:
bit 0: 00000003
capabilities/abs raw kernel attribute: 0
capabilities/abs decoded bit map:
capabilities/rel raw kernel attribute: 0
capabilities/rel decoded bit map:
capabilities/key raw kernel attribute: 7a 4 0 0 0 c0000 0 0 0
capabilities/key decoded bit map:
bit 0: 00000000
bit 32: 00000000
bit 64: 00000000
bit 96: 000C0000
bit 128: 00000000
bit 160: 00000000
bit 192: 00000000
bit 224: 00000004
bit 256: 0000007A
properties raw kernel attribute: 0
properties decoded bit map:
test_key: checking bit block 0 for any keys; found=0
test_key: checking bit block 32 for any keys; found=0
test_key: checking bit block 64 for any keys; found=0
test_key: checking bit block 96 for any keys; found=1
test_key: checking bit block 128 for any keys; found=1
test_key: checking bit block 160 for any keys; found=1
test_key: checking bit block 192 for any keys; found=1
test_key: checking bit block 224 for any keys; found=1
ID_INPUT_KEY=1
Unload module index
Unloaded link configuration context.
$ udevadm test-builtin input_id /devices/
calling: test-builtin
=== trie on-disk ===
tool version: 219
file size: 6711498 bytes
header size 80 bytes
strings 1721914 bytes
nodes 4989504 bytes
Load module index
Network interface NamePolicy= disabled on kernel command line, ignoring.
timestamp of '/etc/systemd/
timestamp of '/usr/lib/
Parsed configuration file /lib/systemd/
Parsed configuration file /etc/systemd/
Created link configuration context.
ID_INPUT=1
capabilities/ev raw kernel attribute: 21
capabilities/ev decoded bit map:
bit 0: 00000021
capabilities/abs raw kernel attribute: 0
capabilities/abs decoded bit map:
capabilities/rel raw kernel attribute: 0
capabilities/rel decoded bit map:
capabilities/key raw kernel attribute: 0
capabilities/key decoded bit map:
properties raw kernel attribute: 0
properties decoded bit map:
test_key: no EV_KEY capability
Unload module index
Unloaded link configuration context.
description: | updated |
Changed in canonical-devices-system-image: | |
status: | New → Confirmed |
Changed in udev: | |
status: | New → Confirmed |
summary: |
- Touchscreen stop working on LG L90 Dual + [regression] Touchscreen stop working on LG L90 Dual |
tags: | added: regression |
If you manage to identify the device in a udev rule you could try to attach ID_INPUT_ TOUCHSCREEN= 1 to extend the result of udevs own checks with the right result. Meanwhile I will look how to extend the detection logic inside systemd/udev to get this fixed.
I believe the problem here is not limited to this device. Looking through the exposed keys it also sends BTN_TOUCH which should be enough for udev to detect it..