New issue
Advanced search Search tips

Issue 918213 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 8
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

tast: parsing input devices fails on Kevin

Project Member Reported by ricardoq@google.com, Dec 28

Issue description

Kevin 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


 
Owner: derat@chromium.org
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.
Components: -Tests
Labels: OS-Chrome
Status: Started (was: Untriaged)
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.
Project Member

Comment 4 by bugdroid1@chromium.org, 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

Status: Fixed (was: Started)

Sign in to add a comment