Bug 1897823 - Elan touchscreen reports 1% battery left (even though it has no battery)
Summary: Elan touchscreen reports 1% battery left (even though it has no battery)
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 33
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-11-14 20:17 UTC by tiyicot958@testbnk.com
Modified: 2021-12-07 12:26 UTC (History)
19 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-11-30 18:02:28 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description tiyicot958@testbnk.com 2020-11-14 20:17:49 UTC
Description of problem:

I have an ASUS UX550VE laptop, and recently i noticed that I received a notification with something along the lines of "keyboard only has 1% battery left". Upon further inspection, i noticed that it's the Elan touchscreen that reports 1% battery left. I found this bug report (https://github.com/linuxwacom/input-wacom/issues/37) to be very similar to what I experience, but I don't know if it's related (since i don't believe my laptop has a wacom touchscreen, but an Elan one)

Version-Release number of selected component (if applicable):


How reproducible:

This is a reliable way i found:

Steps to Reproduce:

1. Log out of the session

Actual results:

Notification (keyboard only has 1% battery left) will appear.

Expected results:

This notification won't appear.

Additional info:

Maybe i got the affected component wrong, but I'm not sure what other component could be responsible. Sorry in advance.

Comment 1 Peter Hutterer 2020-11-16 01:38:26 UTC
Most probably a device/kernel issue, libinput doesn't do anything with battery (and the libinput driver even less so). Can you attach a hid-recorder output for this device please? 
See the README here, easiest is to pip install it: https://gitlab.freedesktop.org/libevdev/hid-tools/

Comment 2 tiyicot958@testbnk.com 2020-11-19 07:25:09 UTC
It seems that the issue has dissapeared for now. In the meantime I updated to kernel 5.9.8, so maybe it is fixed (although it stopped happening before the kernel update). I will post here if i see it happening again.

Comment 3 tiyicot958@testbnk.com 2020-11-21 14:16:30 UTC
Ok, so the issue appeared again. It happens after the device resumes from suspend (such as when closing the lid, then opening it after a while) - but not always though. Logging out doesn't seem to be a reliable way to trigger that notification, except when it *already* appeared once (typically after resuming from suspend). Here is the hid-recorder output (hopefully i did it right): https://bin.privacytools.io/?6290b0b6b1d769fd#xCCfZEZybus9/L+cbPrAMuZzet+ms1JjlZUPbbylzP0=

Comment 4 tiyicot958@testbnk.com 2020-11-21 14:24:04 UTC
I forgot to mention that i installed and started hid-recorder after that notification appeared

Comment 5 Peter Hutterer 2021-02-03 05:36:22 UTC
please **attach** the hid-recorder output here. Linking to outside pastebins just ensures that when we do get to look at the data, that data is not available.

Comment 6 tiyicot958@testbnk.com 2021-02-06 16:22:27 UTC
# ELAN Touchscreen
# 0x05, 0x0d,                    // Usage Page (Digitizers)             0
# 0x09, 0x02,                    // Usage (Pen)                         2
# 0xa1, 0x01,                    // Collection (Application)            4
# 0x85, 0x07,                    //  Report ID (7)                      6
# 0x35, 0x00,                    //  Physical Minimum (0)               8
# 0x09, 0x20,                    //  Usage (Stylus)                     10
# 0xa1, 0x00,                    //  Collection (Physical)              12
# 0x09, 0x32,                    //   Usage (In Range)                  14
# 0x09, 0x42,                    //   Usage (Tip Switch)                16
# 0x09, 0x44,                    //   Usage (Barrel Switch)             18
# 0x09, 0x3c,                    //   Usage (Invert)                    20
# 0x09, 0x45,                    //   Usage (Eraser)                    22
# 0x15, 0x00,                    //   Logical Minimum (0)               24
# 0x25, 0x01,                    //   Logical Maximum (1)               26
# 0x75, 0x01,                    //   Report Size (1)                   28
# 0x95, 0x05,                    //   Report Count (5)                  30
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              32
# 0x95, 0x03,                    //   Report Count (3)                  34
# 0x81, 0x03,                    //   Input (Cnst,Var,Abs)              36
# 0x05, 0x01,                    //   Usage Page (Generic Desktop)      38
# 0x09, 0x30,                    //   Usage (X)                         40
# 0x75, 0x10,                    //   Report Size (16)                  42
# 0x95, 0x01,                    //   Report Count (1)                  44
# 0xa4,                          //   Push                              46
# 0x55, 0x0f,                    //   Unit Exponent (-1)                47
# 0x65, 0x11,                    //   Unit (Centimeter,SILinear)        49
# 0x46, 0x58, 0x01,              //   Physical Maximum (344)            51
# 0x26, 0x4c, 0x54,              //   Logical Maximum (21580)           54
# 0x81, 0x42,                    //   Input (Data,Var,Abs,Null)         57
# 0x09, 0x31,                    //   Usage (Y)                         59
# 0x46, 0xc2, 0x00,              //   Physical Maximum (194)            61
# 0x26, 0xbc, 0x2f,              //   Logical Maximum (12220)           64
# 0x81, 0x42,                    //   Input (Data,Var,Abs,Null)         67
# 0xb4,                          //   Pop                               69
# 0x05, 0x0d,                    //   Usage Page (Digitizers)           70
# 0x09, 0x30,                    //   Usage (Tip Pressure)              72
# 0x26, 0x00, 0x01,              //   Logical Maximum (256)             74
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              77
# 0x09, 0x3b,                    //   Usage (Battery Strength)          79
# 0x75, 0x08,                    //   Report Size (8)                   81
# 0x25, 0x64,                    //   Logical Maximum (100)             83
# 0x81, 0x42,                    //   Input (Data,Var,Abs,Null)         85
# 0x06, 0x00, 0xff,              //   Usage Page (Vendor Defined Page 1) 87
# 0x95, 0x17,                    //   Report Count (23)                 90
# 0x09, 0x80,                    //   Usage (Vendor Usage 0x80)         92
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              94
# 0xc0,                          //  End Collection                     96
# 0xc0,                          // End Collection                      97
# 0x05, 0x0d,                    // Usage Page (Digitizers)             98
# 0x09, 0x04,                    // Usage (Touch Screen)                100
# 0xa1, 0x01,                    // Collection (Application)            102
# 0x85, 0x01,                    //  Report ID (1)                      104
# 0x09, 0x22,                    //  Usage (Finger)                     106
# 0xa1, 0x02,                    //  Collection (Logical)               108
# 0x09, 0x42,                    //   Usage (Tip Switch)                110
# 0x15, 0x00,                    //   Logical Minimum (0)               112
# 0x25, 0x01,                    //   Logical Maximum (1)               114
# 0x75, 0x01,                    //   Report Size (1)                   116
# 0x95, 0x01,                    //   Report Count (1)                  118
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              120
# 0x75, 0x01,                    //   Report Size (1)                   122
# 0x81, 0x03,                    //   Input (Cnst,Var,Abs)              124
# 0x75, 0x06,                    //   Report Size (6)                   126
# 0x09, 0x51,                    //   Usage (Contact Id)                128
# 0x25, 0x3f,                    //   Logical Maximum (63)              130
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              132
# 0x26, 0xff, 0x00,              //   Logical Maximum (255)             134
# 0x75, 0x08,                    //   Report Size (8)                   137
# 0x09, 0x48,                    //   Usage (Width)                     139
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              141
# 0x09, 0x49,                    //   Usage (Height)                    143
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              145
# 0x95, 0x01,                    //   Report Count (1)                  147
# 0x05, 0x01,                    //   Usage Page (Generic Desktop)      149
# 0xa4,                          //   Push                              151
# 0x26, 0x90, 0x0f,              //   Logical Maximum (3984)            152
# 0x75, 0x10,                    //   Report Size (16)                  155
# 0x55, 0x0f,                    //   Unit Exponent (-1)                157
# 0x65, 0x11,                    //   Unit (Centimeter,SILinear)        159
# 0x09, 0x30,                    //   Usage (X)                         161
# 0x35, 0x00,                    //   Physical Minimum (0)              163
# 0x46, 0x58, 0x01,              //   Physical Maximum (344)            165
# 0x95, 0x02,                    //   Report Count (2)                  168
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              170
# 0x26, 0xd0, 0x08,              //   Logical Maximum (2256)            172
# 0x46, 0xc2, 0x00,              //   Physical Maximum (194)            175
# 0x09, 0x31,                    //   Usage (Y)                         178
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              180
# 0xb4,                          //   Pop                               182
# 0xc0,                          //  End Collection                     183
# 0x05, 0x0d,                    //  Usage Page (Digitizers)            184
# 0x09, 0x22,                    //  Usage (Finger)                     186
# 0xa1, 0x02,                    //  Collection (Logical)               188
# 0x05, 0x0d,                    //   Usage Page (Digitizers)           190
# 0x09, 0x42,                    //   Usage (Tip Switch)                192
# 0x15, 0x00,                    //   Logical Minimum (0)               194
# 0x25, 0x01,                    //   Logical Maximum (1)               196
# 0x75, 0x01,                    //   Report Size (1)                   198
# 0x95, 0x01,                    //   Report Count (1)                  200
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              202
# 0x75, 0x01,                    //   Report Size (1)                   204
# 0x81, 0x03,                    //   Input (Cnst,Var,Abs)              206
# 0x75, 0x06,                    //   Report Size (6)                   208
# 0x09, 0x51,                    //   Usage (Contact Id)                210
# 0x25, 0x3f,                    //   Logical Maximum (63)              212
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              214
# 0x26, 0xff, 0x00,              //   Logical Maximum (255)             216
# 0x75, 0x08,                    //   Report Size (8)                   219
# 0x09, 0x48,                    //   Usage (Width)                     221
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              223
# 0x09, 0x49,                    //   Usage (Height)                    225
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              227
# 0x95, 0x01,                    //   Report Count (1)                  229
# 0x05, 0x01,                    //   Usage Page (Generic Desktop)      231
# 0xa4,                          //   Push                              233
# 0x26, 0x90, 0x0f,              //   Logical Maximum (3984)            234
# 0x75, 0x10,                    //   Report Size (16)                  237
# 0x55, 0x0f,                    //   Unit Exponent (-1)                239
# 0x65, 0x11,                    //   Unit (Centimeter,SILinear)        241
# 0x09, 0x30,                    //   Usage (X)                         243
# 0x35, 0x00,                    //   Physical Minimum (0)              245
# 0x46, 0x58, 0x01,              //   Physical Maximum (344)            247
# 0x95, 0x02,                    //   Report Count (2)                  250
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              252
# 0x26, 0xd0, 0x08,              //   Logical Maximum (2256)            254
# 0x46, 0xc2, 0x00,              //   Physical Maximum (194)            257
# 0x09, 0x31,                    //   Usage (Y)                         260
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              262
# 0xb4,                          //   Pop                               264
# 0xc0,                          //  End Collection                     265
# 0x05, 0x0d,                    //  Usage Page (Digitizers)            266
# 0x09, 0x22,                    //  Usage (Finger)                     268
# 0xa1, 0x02,                    //  Collection (Logical)               270
# 0x05, 0x0d,                    //   Usage Page (Digitizers)           272
# 0x09, 0x42,                    //   Usage (Tip Switch)                274
# 0x15, 0x00,                    //   Logical Minimum (0)               276
# 0x25, 0x01,                    //   Logical Maximum (1)               278
# 0x75, 0x01,                    //   Report Size (1)                   280
# 0x95, 0x01,                    //   Report Count (1)                  282
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              284
# 0x75, 0x01,                    //   Report Size (1)                   286
# 0x81, 0x03,                    //   Input (Cnst,Var,Abs)              288
# 0x75, 0x06,                    //   Report Size (6)                   290
# 0x09, 0x51,                    //   Usage (Contact Id)                292
# 0x25, 0x3f,                    //   Logical Maximum (63)              294
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              296
# 0x26, 0xff, 0x00,              //   Logical Maximum (255)             298
# 0x75, 0x08,                    //   Report Size (8)                   301
# 0x09, 0x48,                    //   Usage (Width)                     303
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              305
# 0x09, 0x49,                    //   Usage (Height)                    307
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              309
# 0x95, 0x01,                    //   Report Count (1)                  311
# 0x05, 0x01,                    //   Usage Page (Generic Desktop)      313
# 0xa4,                          //   Push                              315
# 0x26, 0x90, 0x0f,              //   Logical Maximum (3984)            316
# 0x75, 0x10,                    //   Report Size (16)                  319
# 0x55, 0x0f,                    //   Unit Exponent (-1)                321
# 0x65, 0x11,                    //   Unit (Centimeter,SILinear)        323
# 0x09, 0x30,                    //   Usage (X)                         325
# 0x35, 0x00,                    //   Physical Minimum (0)              327
# 0x46, 0x58, 0x01,              //   Physical Maximum (344)            329
# 0x95, 0x02,                    //   Report Count (2)                  332
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              334
# 0x26, 0xd0, 0x08,              //   Logical Maximum (2256)            336
# 0x46, 0xc2, 0x00,              //   Physical Maximum (194)            339
# 0x09, 0x31,                    //   Usage (Y)                         342
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              344
# 0xb4,                          //   Pop                               346
# 0xc0,                          //  End Collection                     347
# 0x05, 0x0d,                    //  Usage Page (Digitizers)            348
# 0x09, 0x22,                    //  Usage (Finger)                     350
# 0xa1, 0x02,                    //  Collection (Logical)               352
# 0x05, 0x0d,                    //   Usage Page (Digitizers)           354
# 0x09, 0x42,                    //   Usage (Tip Switch)                356
# 0x15, 0x00,                    //   Logical Minimum (0)               358
# 0x25, 0x01,                    //   Logical Maximum (1)               360
# 0x75, 0x01,                    //   Report Size (1)                   362
# 0x95, 0x01,                    //   Report Count (1)                  364
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              366
# 0x75, 0x01,                    //   Report Size (1)                   368
# 0x81, 0x03,                    //   Input (Cnst,Var,Abs)              370
# 0x75, 0x06,                    //   Report Size (6)                   372
# 0x09, 0x51,                    //   Usage (Contact Id)                374
# 0x25, 0x3f,                    //   Logical Maximum (63)              376
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              378
# 0x26, 0xff, 0x00,              //   Logical Maximum (255)             380
# 0x75, 0x08,                    //   Report Size (8)                   383
# 0x09, 0x48,                    //   Usage (Width)                     385
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              387
# 0x09, 0x49,                    //   Usage (Height)                    389
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              391
# 0x95, 0x01,                    //   Report Count (1)                  393
# 0x05, 0x01,                    //   Usage Page (Generic Desktop)      395
# 0xa4,                          //   Push                              397
# 0x26, 0x90, 0x0f,              //   Logical Maximum (3984)            398
# 0x75, 0x10,                    //   Report Size (16)                  401
# 0x55, 0x0f,                    //   Unit Exponent (-1)                403
# 0x65, 0x11,                    //   Unit (Centimeter,SILinear)        405
# 0x09, 0x30,                    //   Usage (X)                         407
# 0x35, 0x00,                    //   Physical Minimum (0)              409
# 0x46, 0x58, 0x01,              //   Physical Maximum (344)            411
# 0x95, 0x02,                    //   Report Count (2)                  414
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              416
# 0x26, 0xd0, 0x08,              //   Logical Maximum (2256)            418
# 0x46, 0xc2, 0x00,              //   Physical Maximum (194)            421
# 0x09, 0x31,                    //   Usage (Y)                         424
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              426
# 0xb4,                          //   Pop                               428
# 0xc0,                          //  End Collection                     429
# 0x05, 0x0d,                    //  Usage Page (Digitizers)            430
# 0x09, 0x22,                    //  Usage (Finger)                     432
# 0xa1, 0x02,                    //  Collection (Logical)               434
# 0x05, 0x0d,                    //   Usage Page (Digitizers)           436
# 0x09, 0x42,                    //   Usage (Tip Switch)                438
# 0x15, 0x00,                    //   Logical Minimum (0)               440
# 0x25, 0x01,                    //   Logical Maximum (1)               442
# 0x75, 0x01,                    //   Report Size (1)                   444
# 0x95, 0x01,                    //   Report Count (1)                  446
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              448
# 0x75, 0x01,                    //   Report Size (1)                   450
# 0x81, 0x03,                    //   Input (Cnst,Var,Abs)              452
# 0x75, 0x06,                    //   Report Size (6)                   454
# 0x09, 0x51,                    //   Usage (Contact Id)                456
# 0x25, 0x3f,                    //   Logical Maximum (63)              458
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              460
# 0x26, 0xff, 0x00,              //   Logical Maximum (255)             462
# 0x75, 0x08,                    //   Report Size (8)                   465
# 0x09, 0x48,                    //   Usage (Width)                     467
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              469
# 0x09, 0x49,                    //   Usage (Height)                    471
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              473
# 0x95, 0x01,                    //   Report Count (1)                  475
# 0x05, 0x01,                    //   Usage Page (Generic Desktop)      477
# 0xa4,                          //   Push                              479
# 0x26, 0x90, 0x0f,              //   Logical Maximum (3984)            480
# 0x75, 0x10,                    //   Report Size (16)                  483
# 0x55, 0x0f,                    //   Unit Exponent (-1)                485
# 0x65, 0x11,                    //   Unit (Centimeter,SILinear)        487
# 0x09, 0x30,                    //   Usage (X)                         489
# 0x35, 0x00,                    //   Physical Minimum (0)              491
# 0x46, 0x58, 0x01,              //   Physical Maximum (344)            493
# 0x95, 0x02,                    //   Report Count (2)                  496
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              498
# 0x26, 0xd0, 0x08,              //   Logical Maximum (2256)            500
# 0x46, 0xc2, 0x00,              //   Physical Maximum (194)            503
# 0x09, 0x31,                    //   Usage (Y)                         506
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              508
# 0xb4,                          //   Pop                               510
# 0xc0,                          //  End Collection                     511
# 0x05, 0x0d,                    //  Usage Page (Digitizers)            512
# 0x09, 0x22,                    //  Usage (Finger)                     514
# 0xa1, 0x02,                    //  Collection (Logical)               516
# 0x05, 0x0d,                    //   Usage Page (Digitizers)           518
# 0x09, 0x42,                    //   Usage (Tip Switch)                520
# 0x15, 0x00,                    //   Logical Minimum (0)               522
# 0x25, 0x01,                    //   Logical Maximum (1)               524
# 0x75, 0x01,                    //   Report Size (1)                   526
# 0x95, 0x01,                    //   Report Count (1)                  528
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              530
# 0x75, 0x01,                    //   Report Size (1)                   532
# 0x81, 0x03,                    //   Input (Cnst,Var,Abs)              534
# 0x75, 0x06,                    //   Report Size (6)                   536
# 0x09, 0x51,                    //   Usage (Contact Id)                538
# 0x25, 0x3f,                    //   Logical Maximum (63)              540
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              542
# 0x26, 0xff, 0x00,              //   Logical Maximum (255)             544
# 0x75, 0x08,                    //   Report Size (8)                   547
# 0x09, 0x48,                    //   Usage (Width)                     549
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              551
# 0x09, 0x49,                    //   Usage (Height)                    553
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              555
# 0x95, 0x01,                    //   Report Count (1)                  557
# 0x05, 0x01,                    //   Usage Page (Generic Desktop)      559
# 0xa4,                          //   Push                              561
# 0x26, 0x90, 0x0f,              //   Logical Maximum (3984)            562
# 0x75, 0x10,                    //   Report Size (16)                  565
# 0x55, 0x0f,                    //   Unit Exponent (-1)                567
# 0x65, 0x11,                    //   Unit (Centimeter,SILinear)        569
# 0x09, 0x30,                    //   Usage (X)                         571
# 0x35, 0x00,                    //   Physical Minimum (0)              573
# 0x46, 0x58, 0x01,              //   Physical Maximum (344)            575
# 0x95, 0x02,                    //   Report Count (2)                  578
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              580
# 0x26, 0xd0, 0x08,              //   Logical Maximum (2256)            582
# 0x46, 0xc2, 0x00,              //   Physical Maximum (194)            585
# 0x09, 0x31,                    //   Usage (Y)                         588
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              590
# 0xb4,                          //   Pop                               592
# 0xc0,                          //  End Collection                     593
# 0x05, 0x0d,                    //  Usage Page (Digitizers)            594
# 0x09, 0x22,                    //  Usage (Finger)                     596
# 0xa1, 0x02,                    //  Collection (Logical)               598
# 0x05, 0x0d,                    //   Usage Page (Digitizers)           600
# 0x09, 0x42,                    //   Usage (Tip Switch)                602
# 0x15, 0x00,                    //   Logical Minimum (0)               604
# 0x25, 0x01,                    //   Logical Maximum (1)               606
# 0x75, 0x01,                    //   Report Size (1)                   608
# 0x95, 0x01,                    //   Report Count (1)                  610
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              612
# 0x75, 0x01,                    //   Report Size (1)                   614
# 0x81, 0x03,                    //   Input (Cnst,Var,Abs)              616
# 0x75, 0x06,                    //   Report Size (6)                   618
# 0x09, 0x51,                    //   Usage (Contact Id)                620
# 0x25, 0x3f,                    //   Logical Maximum (63)              622
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              624
# 0x26, 0xff, 0x00,              //   Logical Maximum (255)             626
# 0x75, 0x08,                    //   Report Size (8)                   629
# 0x09, 0x48,                    //   Usage (Width)                     631
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              633
# 0x09, 0x49,                    //   Usage (Height)                    635
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              637
# 0x95, 0x01,                    //   Report Count (1)                  639
# 0x05, 0x01,                    //   Usage Page (Generic Desktop)      641
# 0xa4,                          //   Push                              643
# 0x26, 0x90, 0x0f,              //   Logical Maximum (3984)            644
# 0x75, 0x10,                    //   Report Size (16)                  647
# 0x55, 0x0f,                    //   Unit Exponent (-1)                649
# 0x65, 0x11,                    //   Unit (Centimeter,SILinear)        651
# 0x09, 0x30,                    //   Usage (X)                         653
# 0x35, 0x00,                    //   Physical Minimum (0)              655
# 0x46, 0x58, 0x01,              //   Physical Maximum (344)            657
# 0x95, 0x02,                    //   Report Count (2)                  660
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              662
# 0x26, 0xd0, 0x08,              //   Logical Maximum (2256)            664
# 0x46, 0xc2, 0x00,              //   Physical Maximum (194)            667
# 0x09, 0x31,                    //   Usage (Y)                         670
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              672
# 0xb4,                          //   Pop                               674
# 0xc0,                          //  End Collection                     675
# 0x05, 0x0d,                    //  Usage Page (Digitizers)            676
# 0x09, 0x22,                    //  Usage (Finger)                     678
# 0xa1, 0x02,                    //  Collection (Logical)               680
# 0x05, 0x0d,                    //   Usage Page (Digitizers)           682
# 0x09, 0x42,                    //   Usage (Tip Switch)                684
# 0x15, 0x00,                    //   Logical Minimum (0)               686
# 0x25, 0x01,                    //   Logical Maximum (1)               688
# 0x75, 0x01,                    //   Report Size (1)                   690
# 0x95, 0x01,                    //   Report Count (1)                  692
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              694
# 0x75, 0x01,                    //   Report Size (1)                   696
# 0x81, 0x03,                    //   Input (Cnst,Var,Abs)              698
# 0x75, 0x06,                    //   Report Size (6)                   700
# 0x09, 0x51,                    //   Usage (Contact Id)                702
# 0x25, 0x3f,                    //   Logical Maximum (63)              704
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              706
# 0x26, 0xff, 0x00,              //   Logical Maximum (255)             708
# 0x75, 0x08,                    //   Report Size (8)                   711
# 0x09, 0x48,                    //   Usage (Width)                     713
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              715
# 0x09, 0x49,                    //   Usage (Height)                    717
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              719
# 0x95, 0x01,                    //   Report Count (1)                  721
# 0x05, 0x01,                    //   Usage Page (Generic Desktop)      723
# 0xa4,                          //   Push                              725
# 0x26, 0x90, 0x0f,              //   Logical Maximum (3984)            726
# 0x75, 0x10,                    //   Report Size (16)                  729
# 0x55, 0x0f,                    //   Unit Exponent (-1)                731
# 0x65, 0x11,                    //   Unit (Centimeter,SILinear)        733
# 0x09, 0x30,                    //   Usage (X)                         735
# 0x35, 0x00,                    //   Physical Minimum (0)              737
# 0x46, 0x58, 0x01,              //   Physical Maximum (344)            739
# 0x95, 0x02,                    //   Report Count (2)                  742
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              744
# 0x26, 0xd0, 0x08,              //   Logical Maximum (2256)            746
# 0x46, 0xc2, 0x00,              //   Physical Maximum (194)            749
# 0x09, 0x31,                    //   Usage (Y)                         752
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              754
# 0xb4,                          //   Pop                               756
# 0xc0,                          //  End Collection                     757
# 0x05, 0x0d,                    //  Usage Page (Digitizers)            758
# 0x09, 0x22,                    //  Usage (Finger)                     760
# 0xa1, 0x02,                    //  Collection (Logical)               762
# 0x05, 0x0d,                    //   Usage Page (Digitizers)           764
# 0x09, 0x42,                    //   Usage (Tip Switch)                766
# 0x15, 0x00,                    //   Logical Minimum (0)               768
# 0x25, 0x01,                    //   Logical Maximum (1)               770
# 0x75, 0x01,                    //   Report Size (1)                   772
# 0x95, 0x01,                    //   Report Count (1)                  774
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              776
# 0x75, 0x01,                    //   Report Size (1)                   778
# 0x81, 0x03,                    //   Input (Cnst,Var,Abs)              780
# 0x75, 0x06,                    //   Report Size (6)                   782
# 0x09, 0x51,                    //   Usage (Contact Id)                784
# 0x25, 0x3f,                    //   Logical Maximum (63)              786
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              788
# 0x26, 0xff, 0x00,              //   Logical Maximum (255)             790
# 0x75, 0x08,                    //   Report Size (8)                   793
# 0x09, 0x48,                    //   Usage (Width)                     795
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              797
# 0x09, 0x49,                    //   Usage (Height)                    799
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              801
# 0x95, 0x01,                    //   Report Count (1)                  803
# 0x05, 0x01,                    //   Usage Page (Generic Desktop)      805
# 0xa4,                          //   Push                              807
# 0x26, 0x90, 0x0f,              //   Logical Maximum (3984)            808
# 0x75, 0x10,                    //   Report Size (16)                  811
# 0x55, 0x0f,                    //   Unit Exponent (-1)                813
# 0x65, 0x11,                    //   Unit (Centimeter,SILinear)        815
# 0x09, 0x30,                    //   Usage (X)                         817
# 0x35, 0x00,                    //   Physical Minimum (0)              819
# 0x46, 0x58, 0x01,              //   Physical Maximum (344)            821
# 0x95, 0x02,                    //   Report Count (2)                  824
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              826
# 0x26, 0xd0, 0x08,              //   Logical Maximum (2256)            828
# 0x46, 0xc2, 0x00,              //   Physical Maximum (194)            831
# 0x09, 0x31,                    //   Usage (Y)                         834
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              836
# 0xb4,                          //   Pop                               838
# 0xc0,                          //  End Collection                     839
# 0x05, 0x0d,                    //  Usage Page (Digitizers)            840
# 0x09, 0x22,                    //  Usage (Finger)                     842
# 0xa1, 0x02,                    //  Collection (Logical)               844
# 0x05, 0x0d,                    //   Usage Page (Digitizers)           846
# 0x09, 0x42,                    //   Usage (Tip Switch)                848
# 0x15, 0x00,                    //   Logical Minimum (0)               850
# 0x25, 0x01,                    //   Logical Maximum (1)               852
# 0x75, 0x01,                    //   Report Size (1)                   854
# 0x95, 0x01,                    //   Report Count (1)                  856
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              858
# 0x75, 0x01,                    //   Report Size (1)                   860
# 0x81, 0x03,                    //   Input (Cnst,Var,Abs)              862
# 0x75, 0x06,                    //   Report Size (6)                   864
# 0x09, 0x51,                    //   Usage (Contact Id)                866
# 0x25, 0x3f,                    //   Logical Maximum (63)              868
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              870
# 0x26, 0xff, 0x00,              //   Logical Maximum (255)             872
# 0x75, 0x08,                    //   Report Size (8)                   875
# 0x09, 0x48,                    //   Usage (Width)                     877
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              879
# 0x09, 0x49,                    //   Usage (Height)                    881
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              883
# 0x95, 0x01,                    //   Report Count (1)                  885
# 0x05, 0x01,                    //   Usage Page (Generic Desktop)      887
# 0xa4,                          //   Push                              889
# 0x26, 0x90, 0x0f,              //   Logical Maximum (3984)            890
# 0x75, 0x10,                    //   Report Size (16)                  893
# 0x55, 0x0f,                    //   Unit Exponent (-1)                895
# 0x65, 0x11,                    //   Unit (Centimeter,SILinear)        897
# 0x09, 0x30,                    //   Usage (X)                         899
# 0x35, 0x00,                    //   Physical Minimum (0)              901
# 0x46, 0x58, 0x01,              //   Physical Maximum (344)            903
# 0x95, 0x02,                    //   Report Count (2)                  906
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              908
# 0x26, 0xd0, 0x08,              //   Logical Maximum (2256)            910
# 0x46, 0xc2, 0x00,              //   Physical Maximum (194)            913
# 0x09, 0x31,                    //   Usage (Y)                         916
# 0x81, 0x02,                    //   Input (Data,Var,Abs)              918
# 0xb4,                          //   Pop                               920
# 0xc0,                          //  End Collection                     921
# 0x05, 0x0d,                    //  Usage Page (Digitizers)            922
# 0x09, 0x56,                    //  Usage (Scan Time)                  924
# 0x55, 0x00,                    //  Unit Exponent (0)                  926
# 0x65, 0x00,                    //  Unit (None)                        928
# 0x27, 0xff, 0xff, 0xff, 0x7f,  //  Logical Maximum (2147483647)       930
# 0x95, 0x01,                    //  Report Count (1)                   935
# 0x75, 0x20,                    //  Report Size (32)                   937
# 0x81, 0x02,                    //  Input (Data,Var,Abs)               939
# 0x09, 0x54,                    //  Usage (Contact Count)              941
# 0x25, 0x7f,                    //  Logical Maximum (127)              943
# 0x95, 0x01,                    //  Report Count (1)                   945
# 0x75, 0x08,                    //  Report Size (8)                    947
# 0x81, 0x02,                    //  Input (Data,Var,Abs)               949
# 0x85, 0x0a,                    //  Report ID (10)                     951
# 0x09, 0x55,                    //  Usage (Contact Max)                953
# 0x25, 0x0a,                    //  Logical Maximum (10)               955
# 0xb1, 0x02,                    //  Feature (Data,Var,Abs)             957
# 0x85, 0x44,                    //  Report ID (68)                     959
# 0x06, 0x00, 0xff,              //  Usage Page (Vendor Defined Page 1) 961
# 0x09, 0xc5,                    //  Usage (Vendor Usage 0xc5)          964
# 0x15, 0x00,                    //  Logical Minimum (0)                966
# 0x26, 0xff, 0x00,              //  Logical Maximum (255)              968
# 0x75, 0x08,                    //  Report Size (8)                    971
# 0x96, 0x00, 0x01,              //  Report Count (256)                 973
# 0xb1, 0x02,                    //  Feature (Data,Var,Abs)             976
# 0xc0,                          // End Collection                      978
# 0x06, 0xff, 0x01,              // Usage Page (Vendor Usage Page 0x1ff) 979
# 0x09, 0x01,                    // Usage (Vendor Usage 0x01)           982
# 0xa1, 0x01,                    // Collection (Application)            984
# 0x85, 0x02,                    //  Report ID (2)                      986
# 0x15, 0x00,                    //  Logical Minimum (0)                988
# 0x26, 0xff, 0x00,              //  Logical Maximum (255)              990
# 0x75, 0x08,                    //  Report Size (8)                    993
# 0x95, 0x40,                    //  Report Count (64)                  995
# 0x09, 0x00,                    //  Usage (Vendor Usage 0x00)          997
# 0x81, 0x02,                    //  Input (Data,Var,Abs)               999
# 0xc0,                          // End Collection                      1001
# 0x06, 0x00, 0xff,              // Usage Page (Vendor Defined Page 1)  1002
# 0x09, 0x01,                    // Usage (Vendor Usage 1)              1005
# 0xa1, 0x01,                    // Collection (Application)            1007
# 0x85, 0x03,                    //  Report ID (3)                      1009
# 0x75, 0x08,                    //  Report Size (8)                    1011
# 0x95, 0x3f,                    //  Report Count (63)                  1013
# 0x09, 0x01,                    //  Usage (Vendor Usage 1)             1015
# 0x91, 0x02,                    //  Output (Data,Var,Abs)              1017
# 0xc0,                          // End Collection                      1019
# 0x06, 0x01, 0xff,              // Usage Page (Vendor Usage Page 0xff01) 1020
# 0x09, 0x01,                    // Usage (Vendor Usage 0x01)           1023
# 0xa1, 0x01,                    // Collection (Application)            1025
# 0x85, 0x04,                    //  Report ID (4)                      1027
# 0x15, 0x00,                    //  Logical Minimum (0)                1029
# 0x26, 0xff, 0x00,              //  Logical Maximum (255)              1031
# 0x75, 0x08,                    //  Report Size (8)                    1034
# 0x95, 0x13,                    //  Report Count (19)                  1036
# 0x09, 0x00,                    //  Usage (Vendor Usage 0x00)          1038
# 0x81, 0x02,                    //  Input (Data,Var,Abs)               1040
# 0xc0,                          // End Collection                      1042
# 
R: 1043 05 0d 09 02 a1 01 85 07 35 00 09 20 a1 00 09 32 09 42 09 44 09 3c 09 45 15 00 25 01 75 01 95 05 81 02 95 03 81 03 05 01 09 30 75 10 95 01 a4 55 0f 65 11 46 58 01 26 4c 54 81 42 09 31 46 c2 00 26 bc 2f 81 42 b4 05 0d 09 30 26 00 01 81 02 09 3b 75 08 25 64 81 42 06 00 ff 95 17 09 80 81 02 c0 c0 05 0d 09 04 a1 01 85 01 09 22 a1 02 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f 81 02 26 ff 00 75 08 09 48 81 02 09 49 81 02 95 01 05 01 a4 26 90 0f 75 10 55 0f 65 11 09 30 35 00 46 58 01 95 02 81 02 26 d0 08 46 c2 00 09 31 81 02 b4 c0 05 0d 09 22 a1 02 05 0d 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f 81 02 26 ff 00 75 08 09 48 81 02 09 49 81 02 95 01 05 01 a4 26 90 0f 75 10 55 0f 65 11 09 30 35 00 46 58 01 95 02 81 02 26 d0 08 46 c2 00 09 31 81 02 b4 c0 05 0d 09 22 a1 02 05 0d 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f 81 02 26 ff 00 75 08 09 48 81 02 09 49 81 02 95 01 05 01 a4 26 90 0f 75 10 55 0f 65 11 09 30 35 00 46 58 01 95 02 81 02 26 d0 08 46 c2 00 09 31 81 02 b4 c0 05 0d 09 22 a1 02 05 0d 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f 81 02 26 ff 00 75 08 09 48 81 02 09 49 81 02 95 01 05 01 a4 26 90 0f 75 10 55 0f 65 11 09 30 35 00 46 58 01 95 02 81 02 26 d0 08 46 c2 00 09 31 81 02 b4 c0 05 0d 09 22 a1 02 05 0d 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f 81 02 26 ff 00 75 08 09 48 81 02 09 49 81 02 95 01 05 01 a4 26 90 0f 75 10 55 0f 65 11 09 30 35 00 46 58 01 95 02 81 02 26 d0 08 46 c2 00 09 31 81 02 b4 c0 05 0d 09 22 a1 02 05 0d 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f 81 02 26 ff 00 75 08 09 48 81 02 09 49 81 02 95 01 05 01 a4 26 90 0f 75 10 55 0f 65 11 09 30 35 00 46 58 01 95 02 81 02 26 d0 08 46 c2 00 09 31 81 02 b4 c0 05 0d 09 22 a1 02 05 0d 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f 81 02 26 ff 00 75 08 09 48 81 02 09 49 81 02 95 01 05 01 a4 26 90 0f 75 10 55 0f 65 11 09 30 35 00 46 58 01 95 02 81 02 26 d0 08 46 c2 00 09 31 81 02 b4 c0 05 0d 09 22 a1 02 05 0d 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f 81 02 26 ff 00 75 08 09 48 81 02 09 49 81 02 95 01 05 01 a4 26 90 0f 75 10 55 0f 65 11 09 30 35 00 46 58 01 95 02 81 02 26 d0 08 46 c2 00 09 31 81 02 b4 c0 05 0d 09 22 a1 02 05 0d 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f 81 02 26 ff 00 75 08 09 48 81 02 09 49 81 02 95 01 05 01 a4 26 90 0f 75 10 55 0f 65 11 09 30 35 00 46 58 01 95 02 81 02 26 d0 08 46 c2 00 09 31 81 02 b4 c0 05 0d 09 22 a1 02 05 0d 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f 81 02 26 ff 00 75 08 09 48 81 02 09 49 81 02 95 01 05 01 a4 26 90 0f 75 10 55 0f 65 11 09 30 35 00 46 58 01 95 02 81 02 26 d0 08 46 c2 00 09 31 81 02 b4 c0 05 0d 09 56 55 00 65 00 27 ff ff ff 7f 95 01 75 20 81 02 09 54 25 7f 95 01 75 08 81 02 85 0a 09 55 25 0a b1 02 85 44 06 00 ff 09 c5 15 00 26 ff 00 75 08 96 00 01 b1 02 c0 06 ff 01 09 01 a1 01 85 02 15 00 26 ff 00 75 08 95 40 09 00 81 02 c0 06 00 ff 09 01 a1 01 85 03 75 08 95 3f 09 01 91 02 c0 06 01 ff 09 01 a1 01 85 04 15 00 26 ff 00 75 08 95 13 09 00 81 02 c0
N: ELAN Touchscreen
I: 3 04f3 2544

Comment 7 Peter Hutterer 2021-02-18 00:55:27 UTC
Yeah, the device itself is reporting battery, see this Usage:

# 0x09, 0x3b,                    //   Usage (Battery Strength)          79

This will be automatically handled by the kernel drivers and userspace picks up the exported values.


I'm punting this to the kernel in case there's a quirk to disable exporting this, not sure there is though.

Comment 8 Ben Cotton 2021-11-04 16:03:46 UTC
This message is a reminder that Fedora 33 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '33'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 33 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 9 Ben Cotton 2021-11-30 18:02:28 UTC
Fedora 33 changed to end-of-life (EOL) status on 2021-11-30. Fedora 33 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 10 Hans de Goede 2021-12-07 12:26:53 UTC
I noticed this bug report when all kernel bugs where closed because F33 is now EOL.

The kernel does have a quirk mechanism to disable battery reporting on touchscreens which falsely report a battery level over HID.

I've submitted a patch upstream which adds such a quirk for the 04f3:2544 touchscreen from the Asus UX550VE:
https://lore.kernel.org/linux-input/20211207121053.136906-1-hdegoede@redhat.com/

This should get automatically backported to the 5.15.y stable kernels once it has been merged upstream, resolving this.


Note You need to log in before you can comment on or make changes to this bug.