tast: parsing input devices fails on Kevin |
|||
Issue descriptionKevin R73-11485 is reporting the devices found in /proc/bus/input/devices using a slightly different format. Example of the touchscreen: I: Bus=0018 Vendor=0000 Product=0000 Version=0000 N: Name="Atmel maXTouch Touchscreen" P: Phys=i2c-3-004b/input0 S: Sysfs=/devices/platform/ff130000.i2c/i2c-3/3-004b/input/input3 U: Uniq= H: Handlers=event3 cpu-boost rockchip-psr B: PROP=0 B: EV=b B: KEY=400 0 0 0 0 0 0 0 0 0 0 B: ABS=e618000 1000003 And this is what is found on Nocturne: I: Bus=0018 Vendor=2d1f Product=486c Version=0100 N: Name="WCOM50C1:00 2D1F:486C" P: Phys=i2c-WCOM50C1:00 S: Sysfs=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-6/i2c-WCOM50C1:00/0018:2D1F:486C.0001/input/input2 U: Uniq= H: Handlers=event2 B: PROP=2 B: EV=1b B: KEY=400 0 0 0 0 0 B: ABS=6f3800001000003 B: MSC=20 Pay attention to KEY and ABS groups. Kevin splits them in 32-bit groups, while Nocturne (and Eve and Caroline) split them in 64-bit groups. And device.go fails to parse correctly the bits, and isKeyboard() fails (as well as isTouchscreen). Kevin kernel is the same as Nocture: Kevin: Linux localhost 4.4.169-15579-ga5cf7ecc0e83 #1 SMP PREEMPT Fri Dec 28 11:19:45 PST 2018 aarch64 ARMv8 Processor rev 4 (v8l) GNU/Linux Nocturne: Linux localhost 4.4.169-15579-ga5cf7ecc0e83 #1 SMP PREEMPT Fri Dec 28 11:32:14 PST 2018 x86_64 Intel(R) Celeron(R) CPU 3965Y @ 1.50GHz GenuineIntel GNU/Linux
,
Dec 29
Fails as well on Scarlet: I: Bus=0018 Vendor=0000 Product=0000 Version=0000 N: Name="Elan Touchscreen" P: Phys= S: Sysfs=/devices/platform/ff130000.i2c/i2c-3/3-0010/input/input3 U: Uniq= H: Handlers=event3 cpu-boost B: PROP=2 B: EV=b B: KEY=400 0 0 0 0 0 0 0 0 0 0 B: ABS=6618000 1000003 Linux version: Linux localhost 4.4.169-15579-ga5cf7ecc0e83 #1 SMP PREEMPT Thu Dec 27 19:30:11 PST 2018 aarch64 ARMv8 Processor rev 4 (v8l) GNU/Linux Kevin and Scarlet are ARM devices. The rest ones are Intel. Not sure whether this is the cause.
,
Dec 29
Presumably the size is based on whether userspace is 32-bit or 64-bit. Something like https://chromium-review.googlesource.com/c/chromiumos/platform/tast-tests/+/1392529 seems to help here.
,
Jan 8
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/dfd76b276c8a7b3b1fbd0c47c58d1c4d0df2d8e3 commit dfd76b276c8a7b3b1fbd0c47c58d1c4d0df2d8e3 Author: Daniel Erat <derat@chromium.org> Date: Tue Jan 08 03:40:45 2019 tast-tests: Make input package parse 32-bit bitfields. Make the input package properly parse bitfields in /proc/bus/input/devices on DUTs with a 32-bit userspace. The kernel apparently provides groups of 32-bit numbers rather than 64-bit numbers in this case. BUG= chromium:918213 TEST=example.Input finds the keyboard device on both lumpy (64-bit userspace) and kevin (32-bit userspace) devices Change-Id: I64d5503bc10dbe97beacb827ed24987e5caa12c9 Reviewed-on: https://chromium-review.googlesource.com/1392529 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Dan Erat <derat@chromium.org> Reviewed-by: Shuhei Takahashi <nya@chromium.org> Reviewed-by: Ricardo Quesada <ricardoq@chromium.org> [modify] https://crrev.com/dfd76b276c8a7b3b1fbd0c47c58d1c4d0df2d8e3/src/chromiumos/tast/local/input/device.go [modify] https://crrev.com/dfd76b276c8a7b3b1fbd0c47c58d1c4d0df2d8e3/src/chromiumos/tast/local/input/device_test.go
,
Jan 8
|
|||
►
Sign in to add a comment |
|||
Comment 1 by ricardoq@google.com
, Dec 29