Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • S Solaar
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 10
    • Issues 10
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • pwr-Solaar
  • Solaar
  • Issues
  • #544
Closed
Open
Issue created Jul 30, 2019 by Administrator@rootContributor

Logitech MX Ergo not visible in GUI

Created by: BlackDex

Version: 1.0.1 OS: Arch Linux

I have a Logitech MX Ergo which is not visible within the Solaar GUI.

If i start the in the GUI mode with -d i get the following errors

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/logitech_receiver/listener.py", line 185, in run
    self._notifications_callback(n)
  File "/usr/lib/python3.7/site-packages/solaar/listener.py", line 219, in _notifications_handler
    assert dev.status is not None
AttributeError: 'PairedDevice' object has no attribute 'status'
12:29:52,561    DEBUG [ReceiverListener:hidraw0] logitech_receiver.base: (14) => r[20 02 0200 0000200000000000000000]
12:29:52,561    ERROR [ReceiverListener:hidraw0] logitech_receiver.listener: processing Notification(2,02,00,0000200000000000000000)
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/logitech_receiver/listener.py", line 185, in run
    self._notifications_callback(n)
  File "/usr/lib/python3.7/site-packages/solaar/listener.py", line 219, in _notifications_handler
    assert dev.status is not None
AttributeError: 'PairedDevice' object has no attribute 'status'
12:29:55,731    DEBUG [ReceiverListener:hidraw0] logitech_receiver.base: (14) => r[20 02 0201 0000000000000000000000]
12:29:55,877    DEBUG [ReceiverListener:hidraw0] logitech_receiver.base: (14) => r[20 02 0200 0000000000000000000000]
12:29:55,877    ERROR [ReceiverListener:hidraw0] logitech_receiver.listener: processing Notification(2,02,00,0000000000000000000000)

When showing it via the cli it seems to work. Below is an output of the solaar show command.

Unifying Receiver
  Device path  : /dev/hidraw0
  USB id       : 046d:c52b
  Serial       : 02DE983A
    Firmware   : 12.08.B0030
    Bootloader : 02.15
    Other      : AA.AA
  Has 2 paired device(s) out of a maximum of 6.
  Notifications: wireless, software present (0x000900)
  Device activity counters: 1=193, 2=147

  1: Wireless Keyboard K360
     Codename     : K360
     ....

  2: MX Ergo Multi-Device Trackball 
     Codename     : MX Ergo
     Kind         : trackball
     Wireless PID : 406F
     Protocol     : HID++ 4.5
     Polling rate : 8 ms (125Hz)
     Serial number: 6B89CCB3
        Bootloader: BOT 49.00.B0001
          Firmware: MPM 06.03.B0022
             Other: 
     The power switch is located on the base.
     Supports 36 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
         3: DEVICE NAME            {0005}   
         4: WIRELESS DEVICE STATUS {1D4B}   
         5: unknown:0007           {0007}   
         6: RESET                  {0020}   
         7: unknown:0021           {0021}   
         8: BATTERY STATUS         {1000}   
         9: LED CONTROL            {1300}   
        10: REPROG CONTROLS V4     {1B04}   
        11: unknown:1C00           {1C00}   
        12: unknown:2006           {2006}   
        13: POINTER SPEED          {2205}   
            Pointer Speed: 1.0
        14: VERTICAL SCROLLING     {2100}   
            Roller type: standard
            Ratchet per turn: 18
            Scroll lines: 0
        15: unknown:00C2           {00C2}   
        16: unknown:1802           {1802}   internal, hidden
        17: unknown:1803           {1803}   internal, hidden
        18: unknown:1806           {1806}   internal, hidden
        19: unknown:1805           {1805}   internal, hidden
        20: unknown:1813           {1813}   internal, hidden
        21: CHANGE HOST            {1814}   
        22: unknown:1815           {1815}   
        23: unknown:1830           {1830}   internal, hidden
        24: unknown:1861           {1861}   internal, hidden
        25: unknown:1890           {1890}   internal, hidden
        26: unknown:1891           {1891}   internal, hidden
        27: unknown:18A1           {18A1}   internal, hidden
        28: unknown:1DF3           {1DF3}   internal, hidden
        29: unknown:1E00           {1E00}   hidden
        30: unknown:1EB0           {1EB0}   internal, hidden
        31: unknown:18B1           {18B1}   internal, hidden
        32: unknown:1850           {1850}   internal, hidden
        33: unknown:1F03           {1F03}   internal, hidden
        34: unknown:18C0           {18C0}   internal, hidden
        35: LOWRES WHEEL           {2130}   
            Wheel Reports: HID
     Has 9 reprogrammable keys:
         0: LEFT CLICK                , default: LeftClick                   => LEFT CLICK                
             mse, reprogrammable, pos:0, group:1, gmask:1
         1: RIGHT CLICK               , default: RightClick                  => RIGHT CLICK               
             mse, reprogrammable, pos:0, group:1, gmask:1
         2: MIDDLE BUTTON             , default: MiddleMouseButton           => MIDDLE BUTTON             
             mse, reprogrammable, divertable, persistently divertable, pos:0, group:2, gmask:3
         3: BACK AS BUTTON 4          , default: BackEx                      => BACK AS BUTTON 4          
             mse, reprogrammable, divertable, persistently divertable, pos:0, group:2, gmask:3
         4: FORWARD AS BUTTON 5       , default: BrowserForwardEx            => FORWARD AS BUTTON 5       
             mse, reprogrammable, divertable, persistently divertable, pos:0, group:2, gmask:3
         5: unknown:00ED              , default: unknown:00C4                => unknown:00ED              
             mse, reprogrammable, divertable, persistently divertable, pos:0, group:2, gmask:3
         6: LEFT SCROLL AS AC PAN     , default: HorzScrollLeftSet           => LEFT SCROLL AS AC PAN     
             mse, reprogrammable, divertable, persistently divertable, pos:0, group:2, gmask:3
         7: RIGHT SCROLL AS AC PAN    , default: HorzScrollRightSet          => RIGHT SCROLL AS AC PAN    
             mse, reprogrammable, divertable, persistently divertable, pos:0, group:2, gmask:3
         8: unknown:00D7              , default: unknown:00B4                => unknown:00D7              
             divertable, virtual, pos:0, group:3, gmask:0
     Battery: 50%, discharging.

Assignee
Assign to
Time tracking