Bug 317400

Summary: mouse/keyboard battery not recognized [PATCH included]
Product: [Frameworks and Libraries] solid Reporter: Arkadiusz Miskiewicz <arekm>
Component: libsolid-upowerAssignee: Lukáš Tinkl <lukas>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 4.10.1   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 4.10.2

Description Arkadiusz Miskiewicz 2013-03-26 19:16:39 UTC
Current upower (0.9.20+ git fixes) is capable of monitoring logitech wireless devices like keyboard, mouse, trackball.

Example:
Device: /org/freedesktop/UPower/devices/mouse_0003o046DoC52Bx00BC
  native-path:          /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.2/0003:046D:C52B.00BB/0003:046D:C52B.00BC
  vendor:               Logitech, Inc.
  model:                M570
  power supply:         no
  updated:              Tue Mar 26 20:09:55 2013 (12 seconds ago)
  has history:          yes
  has statistics:       no
  mouse
    present:             yes
    rechargeable:        yes
    state:               discharging
    percentage:          50%



Unfortunately solid doesn't recognize such devices as devices with battery.


Reproducible: Always




Simple patch for kdelibs makes device recognizable:

--- solid/solid/backends/upower/upowerdevice.cpp        2013-03-01 07:26:14.555774261 +0100
+++ solid/solid/backends/upower/upowerdevice.cpp  2013-03-26 20:13:35.925180209 +0100
@@ -83,7 +83,7 @@
         case Solid::DeviceInterface::GenericInterface:
             return true;
         case Solid::DeviceInterface::Battery:
-            return (uptype == 2 || uptype == 3);
+            return (uptype == 2 || uptype == 3 || uptype == 5 || uptype == 6);
         case Solid::DeviceInterface::AcAdapter:
             return (uptype == 1);
         default:

[arekm@t400 ~]$ solid-hardware details '/org/freedesktop/UPower/devices/mouse_0003o046DoC52Bx00BC'
udi = '/org/freedesktop/UPower/devices/mouse_0003o046DoC52Bx00BC'
  parent = '/org/freedesktop/UPower'  (string)
  vendor = 'Logitech, Inc.'  (string)
  product = 'M570'  (string)
  description = 'Unknown Battery'  (string)
  Battery.plugged = true  (bool)
  Battery.type = 'MouseBattery'  (0x4)  (enum)
  Battery.chargePercent = 50  (0x32)  (int)
  Battery.rechargeable = true  (bool)
  Battery.chargeState = 'Discharging'  (0x2)  (enum)
Comment 1 Lukáš Tinkl 2013-03-26 19:22:36 UTC
Git commit 4741bdcc78477e98193adf9b9c3c6f42958610c4 by Lukáš Tinkl.
Committed on 26/03/2013 at 20:21.
Pushed by lukas into branch 'KDE/4.10'.

recognize additional battery types
FIXED-IN: 4.10.2

M  +1    -1    solid/solid/backends/upower/upowerdevice.cpp

http://commits.kde.org/kdelibs/4741bdcc78477e98193adf9b9c3c6f42958610c4