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
  • #1644
Closed
Open
Issue created Jun 29, 2022 by Administrator@rootContributor

Logitech Craft, assertion failed on `solaar show`

Created by: domschl

Information

  • Solaar version (solaar --version or git describe --tags if cloned from this repository):
  • Distribution:
  • Kernel version (ex. uname -srmo): KERNEL VERSION HERE
  • Output of solaar show:

Version 1.1.4rc1 Arch linux Linux 5.18.7-arch1-1 x86_64 GNU/Linux

Solaar version 1.1.4rc1

Unifying Empfänger
  Device path  : /dev/hidraw0
  USB id       : 046d:C52B
  Serial       : B8AF9FCD
    Firmware   : 12.11.B0032
    Bootloader : 04.16
    Other      : AA.AA
  Has 2 paired device(s) out of a maximum of 6.
  Notifications: wireless, software present (0x000900)
  Device activity counters: 1=159, 2=12

  1: Craft Advanced Keyboard
     Device path  : /dev/hidraw2
     WPID         : 4066
     Codename     : Craft
     Kind         : keyboard
     Protocol     : HID++ 4.5
     Polling rate : 12 ms (83Hz)
     Serial number: 9691EB9D
     Model ID:      B35040660000
     Unit ID:       364AAB0D
        Bootloader: BOT 41.00.B0014
          Firmware: MPK 07.02.B0021
             Other: 
             Other: 
     The power switch is located on the edge of top right corner.
     Supports 38 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
            Firmware: Bootloader BOT 41.00.B0014 000012B69E92
            Firmware: Firmware MPK 07.02.B0021 4066F5471FE1
            Firmware: Other   
            Firmware: Other   
            Unit ID: 364AAB0D  Model ID: B35040660000  Transport IDs: {'btleid': 'B350', 'wpid': '4066'}
         3: DEVICE NAME            {0005}   
            Name: Craft Advanced Keyboard
            Kind: keyboard
         4: WIRELESS DEVICE STATUS {1D4B}   
         5: RESET                  {0020}   
         6: DEVICE FRIENDLY NAME   {0007}   
            Friendly Name: Keyboard Craft
         7: BATTERY STATUS         {1000}   
            Battery: N/A, full, next level 0%.
         8: CHANGE HOST            {1814}   
            Anderen Empfänger wählen        : 2:nineveh
         9: HOSTS INFO             {1815}   
            Host 0 (paired): m1mini
            Host 1 (paired): nineveh
            Host 2 (paired): Dominik’s Mac mini
        10: BACKLIGHT2             {1982}   
            Hintergrundbeleuchtung (saved): True
            Hintergrundbeleuchtung        : True
        11: REPROG CONTROLS V4     {1B04}   
            Taste/Maustaste umleiten (saved): {Calculator:Normal, Show Desktop:Normal, Lock PC:Normal, Screen Capture/Print Screen:Normal, Brightness Down:Normal, Brightness Up:Normal, Host Switch Channel 1:Normal, Host Switch Channel 2:Normal, Host Switch Channel 3:Normal, Mission Control/Task View:Normal, Backlight Down:Normal, Backlight Up:Normal, Previous Fn:Normal, Play/Pause Fn:Normal, Next Fn:Normal, Mute Fn:Normal, Volume Down Fn:Normal, Volume Up Fn:Normal, App Contextual Menu/Right Click:Normal, Right Arrow:Normal, Left Arrow:Normal, Multiplatform App Switch/Show Dashboard:Normal}
            Taste/Maustaste umleiten        : {Calculator:Normal, Show Desktop:Normal, Lock PC:Normal, Screen Capture/Print Screen:Normal, Brightness Down:Normal, Brightness Up:Normal, Host Switch Channel 1:Normal, Host Switch Channel 2:Normal, Host Switch Channel 3:Normal, Mission Control/Task View:Normal, Backlight Down:Normal, Backlight Up:Normal, Previous Fn:Normal, Play/Pause Fn:Normal, Next Fn:Normal, Mute Fn:Normal, Volume Down Fn:Normal, Volume Up Fn:Normal, App Contextual Menu/Right Click:Normal, Right Arrow:Normal, Left Arrow:Normal, Multiplatform App Switch/Show Dashboard:Normal}
        12: PERSISTENT REMAPPABLE ACTION {1C00}   
solaar: assertion failed: /usr/lib/python3.10/site-packages/logitech_receiver/settings.py line 1099
  • Contents of ~/.config/solaar/config.yaml (or ~/.config/solaar/config.json if ~/.config/solaar/config.yaml not present):
cat ~/.config/solaar/config.yaml
- 1.1.4rc1
- _NAME: Craft Advanced Keyboard
  _absent: [hi-res-scroll, lowres-scroll-mode, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, smart-shift, thumb-scroll-mode, thumb-scroll-invert,
    onboard_profiles, report_rate, pointer_speed, dpi, dpi-sliding, speed-change, mouse-gestures, backlight-timed, reprogrammable-keys, divert-gkeys, m-key-leds,
    mr-key-led, gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer]
  _modelId: B35040660000
  _sensitive: {backlight: true, crown-smooth: false, disable-keyboard-keys: true, divert-crown: true, fn-swap: false, multiplatform: false, persistent-remappable-keys: false}
  _serial: 9691EB9D
  _unitId: 364AAB0D
  _wpid: '4066'
  backlight: true
  change-host: null
  crown-smooth: true
  disable-keyboard-keys: {1: false, 2: false, 4: false, 8: false, 16: false}
  divert-crown: false
  divert-keys: {10: 0, 110: 0, 111: 0, 191: 0, 199: 0, 200: 0, 209: 0, 210: 0, 211: 0, 224: 0, 226: 0, 227: 0, 228: 0, 229: 0, 230: 0, 231: 0, 232: 0, 233: 0,
    234: 0, 235: 0, 236: 0, 255: 0}
  fn-swap: true
  multiplatform: 1
  persistent-remappable-keys: null
- _NAME: MX Master 3 Wireless Mouse
  _absent: [hi-res-scroll, lowres-scroll-mode, onboard_profiles, report_rate, pointer_speed, speed-change, backlight, backlight-timed, fn-swap, persistent-remappable-keys,
    disable-keyboard-keys, divert-crown, crown-smooth, divert-gkeys, m-key-leds, mr-key-led, multiplatform, gesture2-gestures, gesture2-divert, gesture2-params,
    sidetone, equalizer]
  _modelId: B02340820000
  _sensitive: {hires-smooth-invert: true, hires-smooth-resolution: false, thumb-scroll-invert: false}
  _serial: EE1951FB
  _unitId: EE1951FB
  _wpid: '4082'
  change-host: null
  divert-keys: {82: 0, 83: 0, 86: 0, 195: 0, 196: 0}
  dpi: 1000
  dpi-sliding: 0
  hires-scroll-mode: false
  hires-smooth-invert: true
  hires-smooth-resolution: true
  mouse-gestures: 0
  reprogrammable-keys: {80: 80, 81: 81, 82: 82, 83: 83, 86: 86, 195: 195, 196: 196}
  smart-shift: 0
  thumb-scroll-invert: false
  thumb-scroll-mode: false
  • Errors or warrnings from Solaar:

Crash-log:

solaar -dd
10:03:49,902     INFO [MainThread] root: language en_US (UTF-8), translations path /usr/share/locale

(solaar:221766): Gtk-WARNING **: 10:03:49.993: Locale not supported by C library.
        Using the fallback 'C' locale.
10:03:50,085     INFO [MainThread] logitech_receiver.diversion: GDK Keymap set up
10:03:50,085  WARNING [MainThread] logitech_receiver.diversion: rules cannot access active process or modifier keys in Wayland
10:03:50,187     INFO [MainThread] logitech_receiver.diversion: uinput device set up
10:03:50,205     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
10:03:50,227     INFO [MainThread] solaar.ui.notify: starting desktop notifications
10:03:50,267     INFO [MainThread] solaar.listener: starting receiver listening threads
10:03:50,272     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw0', vendor_id='046D', product_id='C52B', serial='', release=None, manufacturer=None, product=None, interface=2, driver='logitech-djreceiver', bus_id=3, isDevice=None)
10:03:50,272     INFO [MainThread] logitech_receiver.base: New lock 16
10:03:50,376     INFO [ReceiverListener:hidraw0] logitech_receiver.listener: started with <UnifyingEmpfänger(/dev/hidraw0,16)> (16)
10:03:50,376     INFO [ReceiverListener:hidraw0] solaar.listener: <UnifyingEmpfänger(/dev/hidraw0,16)>: notifications listener has started (16)
10:03:50,376     INFO [ReceiverListener:hidraw0] logitech_receiver.base: New lock <_ThreadedHandle(/dev/hidraw0)>
10:03:50,380     INFO [ReceiverListener:hidraw0] logitech_receiver.receiver: <UnifyingEmpfänger(/dev/hidraw0,16)>: receiver notifications enabled => ('wireless', 'software present')
10:03:50,386     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <UnifyingEmpfänger(/dev/hidraw0,16)>: present, Keine gekoppelten Geräte. (0) 
10:03:50,393     INFO [ReceiverListener:hidraw0] logitech_receiver.receiver: <UnifyingEmpfänger(/dev/hidraw0,16)>: found new device 1 (4066)
10:03:50,393     INFO [ReceiverListener:hidraw0] solaar.listener: connection Notification(10,1,41,04,316640) for <Device(1,4066,Craft Advanced Keyboard,9691EB9D)> (keyboard)
10:03:50,396     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <UnifyingEmpfänger(/dev/hidraw0,16)>: present, 1 gekoppeltes Gerät. (0) 
10:03:50,396     INFO [ReceiverListener:hidraw0] logitech_receiver.base: New lock 19
10:03:50,494     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <Device(1,4066,Craft Advanced Keyboard,9691EB9D)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': NamedInt(90, 'full'), 'BATTERY STATUS': NamedInt(3, 'full'), 'BATTERY NEXT LEVEL': 0, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': True, 'ERROR': None} (0) 
10:03:50,542     INFO [ReceiverListener:hidraw0] logitech_receiver.device: <Device(1,4066,Craft Advanced Keyboard,9691EB9D)>: unitId 364AAB0D does not match serial 9691EB9D
10:03:52,646     INFO [ReceiverListener:hidraw0] logitech_receiver.status: <Device(1,4066,Craft Advanced Keyboard,9691EB9D)> pushing device settings [<Setting([Feature:toggle] Craft:backlight=None)>, <Setting([Feature:toggle] Craft:fn-swap=None)>, <Setting([Feature:map choice] Craft:persistent-remappable-keys=None)>, <Setting([Feature:map choice] Craft:divert-keys=None)>, <Setting([Feature:multiple toggle] Craft:disable-keyboard-keys=None)>, <Setting([Feature:toggle] Craft:crown-smooth=None)>, <Setting([Feature:toggle] Craft:divert-crown=None)>, <Setting([Feature:choice] Craft:multiplatform=None)>, <Setting([Feature:choice] Craft:change-host=None)>]
10:03:52,694    ERROR [ReceiverListener:hidraw0] logitech_receiver.listener: processing Notification(10,1,41,04,316640)
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/logitech_receiver/listener.py", line 188, in run
    self._notifications_callback(n)
  File "/usr/lib/python3.10/site-packages/solaar/listener.py", line 264, in _notifications_handler
    _notifications.process(dev, n)
  File "/usr/lib/python3.10/site-packages/logitech_receiver/notifications.py", line 60, in process
    return _process_device_notification(device, status, notification)
  File "/usr/lib/python3.10/site-packages/logitech_receiver/notifications.py", line 178, in _process_device_notification
    return _process_hidpp10_notification(device, status, n)
  File "/usr/lib/python3.10/site-packages/logitech_receiver/notifications.py", line 288, in _process_hidpp10_notification
    status.changed(active=link_established)
  File "/usr/lib/python3.10/site-packages/logitech_receiver/status.py", line 311, in changed
    _settings.apply_all_settings(d)
  File "/usr/lib/python3.10/site-packages/logitech_receiver/settings.py", line 1423, in apply_all_settings
    s.apply()
  File "/usr/lib/python3.10/site-packages/logitech_receiver/settings.py", line 336, in apply
    value = self.read(self.persist)  # Don't use persisted value if setting doesn't persist
  File "/usr/lib/python3.10/site-packages/logitech_receiver/settings.py", line 374, in read
    reply_map[int(key)] = self._validator.validate_read(reply, key)
  File "/usr/lib/python3.10/site-packages/logitech_receiver/settings.py", line 1099, in validate_read
    assert reply_value in self.choices[
AssertionError: validator_class: failed to validate read value 2000200
10:03:52,700     INFO [ReceiverListener:hidraw0] logitech_receiver.receiver: <UnifyingEmpfänger(/dev/hidraw0,16)>: found new device 2 (4082)
10:03:52,700     INFO [ReceiverListener:hidraw0] solaar.listener: connection Notification(10,2,41,04,328240) for <Device(2,4082,MX Master 3 Wireless Mouse,EE1951FB)> (mouse)
10:03:52,702     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <UnifyingEmpfänger(/dev/hidraw0,16)>: present, 2 gekoppelte Geräte. (0) 
10:03:52,702     INFO [ReceiverListener:hidraw0] logitech_receiver.base: New lock 20
10:03:52,792     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <Device(2,4082,MX Master 3 Wireless Mouse,EE1951FB)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 100, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': 50, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
10:03:53,214     INFO [ReceiverListener:hidraw0] logitech_receiver.status: <Device(2,4082,MX Master 3 Wireless Mouse,EE1951FB)> pushing device settings [<Setting([Feature:toggle] MX Master 3:hires-smooth-invert=None)>, <Setting([Feature:toggle] MX Master 3:hires-smooth-resolution=None)>, <Setting([Feature:toggle] MX Master 3:hires-scroll-mode=None)>, <Setting([Feature:range] MX Master 3:smart-shift=None)>, <Setting([Feature:toggle] MX Master 3:thumb-scroll-invert=None)>, <Setting([Feature:toggle] MX Master 3:thumb-scroll-mode=None)>, <Setting([Feature:choice] MX Master 3:dpi=None)>, <Setting([Feature:choice] MX Master 3:dpi-sliding=None)>, <Setting([Feature:choice] MX Master 3:mouse-gestures=None)>, <Setting([Feature:map choice] MX Master 3:reprogrammable-keys=None)>, <Setting([Feature:map choice] MX Master 3:divert-keys=None)>, <Setting([Feature:choice] MX Master 3:change-host=None)>]
10:03:53,662     INFO [ReceiverListener:hidraw0] solaar.listener: status_changed <Device(2,4082,MX Master 3 Wireless Mouse,EE1951FB)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 100, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': 50, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
10:03:53,663     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(1,4066,Craft Advanced Keyboard,9691EB9D)>: spurious BATTERY status Notification(11,1,07,10,0404C0050A0000000000000000000000)
10:03:53,663     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(2,4082,MX Master 3 Wireless Mouse,EE1951FB)>: spurious BATTERY status Notification(11,2,08,10,0404C078050000000000000000000000)
10:03:53,663     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(2,4082,MX Master 3 Wireless Mouse,EE1951FB)>: unknown WHEEL Notification(11,2,0E,20,02000000000000000000000000000000)
10:03:53,663     INFO [ReceiverListener:hidraw0] logitech_receiver.notifications: <Device(2,4082,MX Master 3 Wireless Mouse,EE1951FB)>: WHEEL: res: 0 periods: 15 delta V:7192

Describe the bug

  • solaar throws assertion. (see logs)
  • MX Master 3 mouse settings (scroll direction) is forgotten after a few minutes (no sleep involved, settings simply revert from 'natural scroll' to 'standard scroll' without user interaction or power-state change

To Reproduce Steps to reproduce the behavior:

Screenshots If applicable, add screenshots to help explain your problem.

Additional context Add any other context about the problem here.

Assignee
Assign to
Time tracking