Repository: pwr-Solaar/Solaar

Issue:
Logitech G Pro X Superlight 2 support
This issue doesn't really need too many details, but I'd like to get involved with adding support for the Superlight 2 mouse, which I've recently purchased. It's showing up like this:
Wired:
![image](https://github.com/pwr-Solaar/Solaar/assets/61827628/c663daa8-f2a6-4226-b5d6-516efcf2c5dc)
Lightspeed receiver:
![image](https://github.com/pwr-Solaar/Solaar/assets/61827628/fa15265f-b152-4f6c-9981-c38c3879b7ce)
Solaar is actually lying in the second screenshot, the polling rate reported by `evhz` is 1000 Hz, which isn't the full potential of the mouse but is also perfectly usable for gaming.

The mouse doesn't have many features, but 2000 Hz report rate on Linux and being able to toggle their hybrid switches would be great.


Discussion:
Solaar is reporting the polling rate that the mouse is reporting via the normal methods.  It may be that the mouse uses onboard profiles for polling rate instead.

Please provide the output of `solaar show`, which should provide information on the HID++ features that the mouse has.  

Solaar doesn't currently support onboard profiles but you are welcome to work on supporting this feature.  It is a complex feature, perhaps with several variations.  You will probably have to sign an NDA with Logitech to get enough information on the feature.  Let me know if you want to proceed.
>  You will probably have to sign an NDA with Logitech to get enough information on the feature. Let me know if you want to proceed.

Who do you think I am? I'm not a Logitech employee or anything, just letting you know. 😅

Anyway, the output of `solaar show` is this:

<details>

```
solaar version 1.1.10

Receiver
  Device path  : /dev/hidraw3
  USB id       : 046d:C54D
  Serial       : 8FF3BF7B
    Firmware   : 07.00.B0008
    Bootloader : 00.08
    Other      : C1.53
  Has 1 paired device(s) out of a maximum of 2.
  Notifications: (none)
  Device activity counters: 1=51

  1: PRO X 2
     Device path  : None
     WPID         : 40A9
     Codename     : PRO X 2
     Kind         : mouse
     Protocol     : HID++ 4.2
     Polling rate : 8 ms (125Hz)
     Serial number: <nope>
     Model ID:      40A9C09B0000
     Unit ID:       <nope>
        Bootloader: BL1 71.00.B0012
          Firmware: MPM 32.00.B0012
     Supports 32 HID++ 2.0 features:
         0: ROOT                   {0000} V0     
         1: FEATURE SET            {0001} V0     
         2: DEVICE FW VERSION      {0003} V4     
            Firmware: Bootloader BL1 71.00.B0012 AB1CDBC0A7D9
            Firmware: Firmware MPM 32.00.B0012 40A9DBC0A7D9
            Unit ID: <nope>  Model ID: 40A9C09B0000  Transport IDs: {'wpid': '40A9', 'usbid': 'C09B'}
         3: DEVICE NAME            {0005} V2     
            Name: PRO X 2
            Kind: mouse
         4: WIRELESS DEVICE STATUS {1D4B} V0     
         5: CONFIG CHANGE          {0020} V0     
         6: UNIFIED BATTERY        {1004} V3     
            Battery: 96%, discharging.
         7: XY STATS               {2250} V1     
         8: WHEEL STATS            {2251} V0     
         9: unknown:2202           {2202} V0     
        10: MODE STATUS            {8090} V2     
        11: unknown:8061           {8061} V0     
        12: ONBOARD PROFILES       {8100} V0     
            Device Mode: On-Board
            Onboard Profiles (saved): Enable
            Onboard Profiles        : Enable
        13: MOUSE BUTTON SPY       {8110} V0     
        14: unknown:1500           {1500} V0     
        15: unknown:1801           {1801} V0    internal, hidden, unknown:000010 
        16: DEVICE RESET           {1802} V0    internal, hidden, unknown:000010 
        17: unknown:1803           {1803} V0    internal, hidden, unknown:000010 
        18: CONFIG DEVICE PROPS    {1806} V8    internal, hidden, unknown:000010 
        19: unknown:1817           {1817} V0    internal, hidden, unknown:000010 
        20: OOBSTATE               {1805} V0    internal, hidden 
        21: unknown:1830           {1830} V0    internal, hidden, unknown:000010 
        22: unknown:1875           {1875} V0    internal, hidden, unknown:000010 
        23: unknown:1861           {1861} V1    internal, hidden, unknown:000010 
        24: unknown:1890           {1890} V9    internal, hidden, unknown:000008 
        25: unknown:18A1           {18A1} V0    internal, hidden, unknown:000010 
        26: unknown:1E00           {1E00} V0    hidden 
        27: unknown:1E02           {1E02} V0    internal, hidden 
        28: unknown:1E22           {1E22} V1    internal, hidden, unknown:000010 
        29: unknown:1602           {1602} V0     
        30: unknown:1EB0           {1EB0} V0    internal, hidden, unknown:000010 
        31: unknown:18B1           {18B1} V0    internal, hidden, unknown:000010 
     Battery: 96%, discharging.

```

</details>
Thanks.  It does look as if most of the device programmability uses onboard profiles, which Solaar does not support.  But there are some other features that Solaar does not even have a name for, and might be useful.  I've asked my contact at Logitech for information on these features.

As far as the onboard profiles feature goes, it is possible to get information about it from Logitech but you have to sign a simple NDA saying that you won't distribute the information further.  You are allowed to implement support for the feature in Solaar though.   Some of the settings in Solaar have been implemented this way.
Could I get some further information on this? I'd be interested.
Contact me directly at pfpschneider@gmail.com
I have information on a couple of the new features of the mouse - polling rate and adjustable dpi.   It should be fairly easy to have Solaar have correct polling rate for the mouse.
I'm not sure what toggling the hybrid switches would involve.  Can you tell me more about this part of the mouse?
PR #2229 adds support for the report rate for this mouse.  Please give it a try - there is considerable untested code in the PR, so expect bugs.   Run `bin/solaar show` and `bin/solaar` and try to change the report rate (after setting Onboard Profiles to Disable).  If either produce errors or incorrect results run with `-ddd` as the first argument and report back the result.


To clone and use Solar from its GitHub repository
```
git clone https://github.com/pwr-Solaar/Solaar.git
cd Solaar
```
Run Solaar as bin/solaar from this directory.


To run PR #2229, first clone Solaar if you have not already done so and cd to the clone directory.  The first time you download the pull request, fetch it into a new branch and checkout that branch, as in:
```
git fetch origin pull/2229/head:pull_2229
git checkout pull_2229
```
To download a new version of the pull request, fetch it and then set your pull branch to the new fetch, as in:
```
git checkout pull_2229
git fetch origin pull/2229/head
git reset --hard FETCH_HEAD
```


hello, i am testing this out as i just picked up the mouse.

i do not see any option to change dpi or report rate

![image](https://github.com/pwr-Solaar/Solaar/assets/85457501/d9466c87-7957-4b81-874e-43c6a6c5dcd4)

The following is whats in my config.yaml
```
- 1.1.10-30-g81f7d9d
- _NAME: PRO X 2
  _absent: [hi-res-scroll, lowres-scroll-mode, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, scroll-ratchet, smart-shift, thumb-scroll-invert,
    thumb-scroll-mode, report_rate, report_rate_extended, pointer_speed, dpi, speed-change, backlight, backlight-timed, fn-swap, reprogrammable-keys, persistent-remappable-keys,
    divert-keys, disable-keyboard-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, multiplatform, change-host, gesture2-gestures,
    gesture2-divert, gesture2-params, sidetone, equalizer, adc_power_management]
  _battery: 4100
  _modelId: 40A9C09B0000
  _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore, onboard_profiles: true}
  _serial: D70BBDD1
  _unitId: D70BBDD1
  _wpid: 40A9
  onboard_profiles: 2
  ```
  
  and the following is the output from running with -ddd

<details>
  
  ```
  2024-01-27 22:30:06,563,563     INFO [MainThread] root: version 1.1.10-30-g81f7d9d, language en_US (UTF-8)
2024-01-27 22:30:06,673,673     INFO [MainThread] logitech_receiver.diversion: GDK Keymap set up
2024-01-27 22:30:06,682,682    DEBUG [MainThread] solaar.ui.tray: using AppIndicator3
2024-01-27 22:30:06,685,685     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
2024-01-27 22:30:06,706,706    DEBUG [MainThread] solaar.ui: startup registered=True, remote=False
2024-01-27 22:30:06,707,707    DEBUG [AsyncUI] solaar.tasks: started
2024-01-27 22:30:06,707,707     INFO [MainThread] solaar.ui.notify: starting desktop notifications
2024-01-27 22:30:06,709,709    DEBUG [MainThread] solaar.ui.icons: icon theme paths: ['/home/kane/.local/share/icons', '/home/kane/.icons', '/home/kane/.local/share/flatpak/exports/share/icons', '/var/lib/flatpak/exports/share/icons', '/usr/local/share/icons', '/usr/share/icons', '/home/kane/.local/share/flatpak/exports/share/pixmaps', '/var/lib/flatpak/exports/share/pixmaps', '/usr/local/share/pixmaps', '/usr/share/pixmaps']
2024-01-27 22:30:06,714,714  WARNING [MainThread] solaar.ui.icons: failed to detect icons
2024-01-27 22:30:06,737,737     INFO [MainThread] solaar.listener: starting receiver listening threads
2024-01-27 22:30:06,743,743  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw6 BID 0005 VID 0000054C PID 00000268: No module named 'hid_parser'
2024-01-27 22:30:06,743,743  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw8 BID 0003 VID 00001B3F PID 00002008: No module named 'hid_parser'
2024-01-27 22:30:06,744,744  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw0 BID 0003 VID 0000046D PID 00000AAF: No module named 'hid_parser'
2024-01-27 22:30:06,744,744  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw1 BID 0003 VID 0000046D PID 0000C54D: No module named 'hid_parser'
2024-01-27 22:30:06,745,745     INFO [MainThread] hidapi.udev: Found device /dev/hidraw1 BID 0003 VID 0000046D PID 0000C54D HID++ None None USB 0 None
2024-01-27 22:30:06,745,745     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw1', bus_id=3, vendor_id='046D', product_id='C54D', interface=0, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=None, hidpp_long=None)
2024-01-27 22:30:06,745,745     INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw1
2024-01-27 22:30:06,745,745  WARNING [MainThread] logitech_receiver.receiver: Unknown receiver type: C54D
2024-01-27 22:30:06,745,745     INFO [MainThread] logitech_receiver.base: New lock 14
2024-01-27 22:30:06,745,745    DEBUG [MainThread] logitech_receiver.base: (14) <= w[10 FF 83B5 030000]
2024-01-27 22:30:07,046,046    ERROR [MainThread] logitech_receiver.base: write failed, assuming handle 14 no longer available
2024-01-27 22:30:07,046,046    ERROR [MainThread] logitech_receiver.receiver: open DeviceInfo(path='/dev/hidraw1', bus_id=3, vendor_id='046D', product_id='C54D', interface=0, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=None, hidpp_long=None)
Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 221, in write
    _hid.write(int(handle), wdata)
  File "/home/kane/Downloads/Solaar/lib/hidapi/udev.py", line 387, in write
    raise OSError(_errno.EIO, 'written %d bytes out of expected %d' % (bytes_written, len(data)))
OSError: [Errno 5] written 0 bytes out of expected 7

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 393, in open
    return Receiver(handle, device_info.path, device_info.product_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 70, in __init__
    serial_reply = self.read_register(_R.receiver_info, _IR.receiver_information)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/hidpp10.py", line 191, in read_register
    return device.request(request_id, *params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 286, in request
    return _base.request(self.handle, 0xFF, request_id, *params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 428, in request
    write(ihandle, devnumber, request_data, long_message)
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 225, in write
    raise NoReceiver(reason=reason)
logitech_receiver.base.NoReceiver: {'reason': OSError(5, 'written 0 bytes out of expected 7')}
Exception ignored in: <function Receiver.__del__ at 0x7fba85389300>
Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 101, in __del__
    self.close()
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 94, in close
    for _n, d in self._devices.items():
                 ^^^^^^^^^^^^^
AttributeError: 'Receiver' object has no attribute '_devices'
2024-01-27 22:30:07,048,048  WARNING [MainThread] solaar.listener: failed to open DeviceInfo(path='/dev/hidraw1', bus_id=3, vendor_id='046D', product_id='C54D', interface=0, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=None, hidpp_long=None)
2024-01-27 22:30:07,049,049  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw2 BID 0003 VID 0000046D PID 0000C54D: No module named 'hid_parser'
2024-01-27 22:30:07,049,049     INFO [MainThread] hidapi.udev: Found device /dev/hidraw2 BID 0003 VID 0000046D PID 0000C54D HID++ None None USB 1 None
2024-01-27 22:30:07,049,049     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw2', bus_id=3, vendor_id='046D', product_id='C54D', interface=1, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=None, hidpp_long=None)
2024-01-27 22:30:07,049,049     INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw2
2024-01-27 22:30:07,049,049  WARNING [MainThread] logitech_receiver.receiver: Unknown receiver type: C54D
2024-01-27 22:30:07,049,049    DEBUG [MainThread] logitech_receiver.base: (14) <= w[10 FF 83B5 030000]
2024-01-27 22:30:07,350,350    ERROR [MainThread] logitech_receiver.base: write failed, assuming handle 14 no longer available
2024-01-27 22:30:07,351,351    ERROR [MainThread] logitech_receiver.receiver: open DeviceInfo(path='/dev/hidraw2', bus_id=3, vendor_id='046D', product_id='C54D', interface=1, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=None, hidpp_long=None)
Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 221, in write
    _hid.write(int(handle), wdata)
  File "/home/kane/Downloads/Solaar/lib/hidapi/udev.py", line 387, in write
    raise OSError(_errno.EIO, 'written %d bytes out of expected %d' % (bytes_written, len(data)))
OSError: [Errno 5] written 0 bytes out of expected 7

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 393, in open
    return Receiver(handle, device_info.path, device_info.product_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 70, in __init__
    serial_reply = self.read_register(_R.receiver_info, _IR.receiver_information)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/hidpp10.py", line 191, in read_register
    return device.request(request_id, *params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 286, in request
    return _base.request(self.handle, 0xFF, request_id, *params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 428, in request
    write(ihandle, devnumber, request_data, long_message)
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 225, in write
    raise NoReceiver(reason=reason)
logitech_receiver.base.NoReceiver: {'reason': OSError(5, 'written 0 bytes out of expected 7')}
Exception ignored in: <function Receiver.__del__ at 0x7fba85389300>
Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 101, in __del__
    self.close()
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 94, in close
    for _n, d in self._devices.items():
                 ^^^^^^^^^^^^^
AttributeError: 'Receiver' object has no attribute '_devices'
2024-01-27 22:30:07,352,352  WARNING [MainThread] solaar.listener: failed to open DeviceInfo(path='/dev/hidraw2', bus_id=3, vendor_id='046D', product_id='C54D', interface=1, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=None, hidpp_long=None)
2024-01-27 22:30:07,353,353  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw3 BID 0003 VID 0000046D PID 0000C54D: No module named 'hid_parser'
2024-01-27 22:30:07,353,353     INFO [MainThread] hidapi.udev: Found device /dev/hidraw3 BID 0003 VID 0000046D PID 0000C54D HID++ None None USB 2 None
2024-01-27 22:30:07,353,353     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw3', bus_id=3, vendor_id='046D', product_id='C54D', interface=2, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=None, hidpp_long=None)
2024-01-27 22:30:07,353,353     INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw3
2024-01-27 22:30:07,405,405  WARNING [MainThread] logitech_receiver.receiver: Unknown receiver type: C54D
2024-01-27 22:30:07,405,405    DEBUG [MainThread] logitech_receiver.base: (14) <= w[10 FF 83B5 030000]
2024-01-27 22:30:07,405,405    DEBUG [MainThread] logitech_receiver.base: (14) => r[11 FF 83B5 03D4CE5407010208FF00000000000000]
2024-01-27 22:30:07,405,405     INFO [ReceiverListener:hidraw3] logitech_receiver.listener: started with <Receiver(/dev/hidraw3,14)> (14)
2024-01-27 22:30:07,406,406     INFO [ReceiverListener:hidraw3] solaar.listener: <Receiver(/dev/hidraw3,14)>: notifications listener has started (14)
2024-01-27 22:30:07,406,406     INFO [ReceiverListener:hidraw3] logitech_receiver.base: New lock <_ThreadedHandle(/dev/hidraw3)>
2024-01-27 22:30:07,406,406    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8000 100900]
2024-01-27 22:30:07,406,406    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8000 000000]
2024-01-27 22:30:07,406,406    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8100 000000]
2024-01-27 22:30:07,407,407  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw4 BID 0003 VID 00000951 PID 000016BE: No module named 'hid_parser'
2024-01-27 22:30:07,407,407    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8100 000900]
2024-01-27 22:30:07,407,407     INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <Receiver(/dev/hidraw3,14)>: receiver notifications enabled => ('wireless', 'software present')
2024-01-27 22:30:07,407,407    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8002 020000]
2024-01-27 22:30:07,407,407  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw5 BID 0003 VID 00000951 PID 000016BE: No module named 'hid_parser'
2024-01-27 22:30:07,408,408    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 01 4111 32A940]
2024-01-27 22:30:07,408,408    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8002 000000]
2024-01-27 22:30:07,408,408     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed for unknown device
2024-01-27 22:30:07,408,408  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw7 BID 0003 VID 00000951 PID 000016BE: No module named 'hid_parser'
2024-01-27 22:30:07,409,409    DEBUG [MainThread] solaar.ui: activate
2024-01-27 22:30:07,410,410    DEBUG [MainThread] solaar.ui: status changed: <Receiver(/dev/hidraw3,14)> (NONE) None
2024-01-27 22:30:07,412,412    DEBUG [MainThread] solaar.ui.window: new receiver row ('/dev/hidraw3', 0, True, 'Receiver', None, None, None, <Receiver(/dev/hidraw3,14)>)
2024-01-27 22:30:08,414,414    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 83B5 400000]
2024-01-27 22:30:08,415,415    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 FF 83B5 400750524F2058203200000000000000]
2024-01-27 22:30:08,415,415     INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <Receiver(/dev/hidraw3,14)>: found new device 1 (40A9)
2024-01-27 22:30:08,415,415    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-27 22:30:08,415,415    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 01 001E 0000E2]
2024-01-27 22:30:08,418,418    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 001E 0402E200000000000000000000000000]
2024-01-27 22:30:08,418,418    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0009 00010000000000000000000000000000]
2024-01-27 22:30:08,420,420    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0009 01000200000000000000000000000000]
2024-01-27 22:30:08,420,420    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 010D 00000000000000000000000000000000]
2024-01-27 22:30:08,426,426    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 010D 1F000000000000000000000000000000]
2024-01-27 22:30:08,426,426    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000A 00050000000000000000000000000000]
2024-01-27 22:30:08,428,428    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000A 03000200000000000000000000000000]
2024-01-27 22:30:08,428,428    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 030F 00000000000000000000000000000000]
2024-01-27 22:30:08,436,436    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 030F 07000000000000000000000000000000]
2024-01-27 22:30:08,436,436    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 031C 00000000000000000000000000000000]
2024-01-27 22:30:08,445,445    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 031C 50524F20582032000000000000000000]
2024-01-27 22:30:08,445,445    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 83B5 300000]
2024-01-27 22:30:08,446,446    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 FF 83B5 30D70BBDD10E40A0000F000000000000]
2024-01-27 22:30:08,418,418     INFO [ReceiverListener:hidraw3] solaar.listener: connection Notification(10,1,41,11,32A940) for <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-27 22:30:08,446,446     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed for unknown device
2024-01-27 22:30:08,446,446    DEBUG [ReceiverListener:hidraw3] logitech_receiver.notifications: <Device(1,40A9,PRO X 2,D70BBDD1)>: protocol 17 connection notification: software=True, encrypted=True, link=True, payload=False
2024-01-27 22:30:08,446,446    DEBUG [MainThread] solaar.ui: status changed: <Receiver(/dev/hidraw3,14)> (NONE) None
2024-01-27 22:30:08,448,448    DEBUG [ReceiverListener:hidraw3] solaar.configuration: load => ['1.1.10-30-g81f7d9d', {'_NAME': 'PRO X 2', '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'report_rate_extended', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], '_battery': 4100, '_modelId': '40A9C09B0000', '_sensitive': {'hires-scroll-mode': 'ignore', 'hires-smooth-invert': 'ignore', 'hires-smooth-resolution': 'ignore', 'onboard_profiles': True}, '_serial': 'D70BBDD1', '_unitId': 'D70BBDD1', '_wpid': '40A9', 'onboard_profiles': 2}]
2024-01-27 22:30:08,448,448    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 00030000000000000000000000000000]
2024-01-27 22:30:08,452,452    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 02000400000000000000000000000000]
2024-01-27 22:30:08,452,452    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 020D 00000000000000000000000000000000]
2024-01-27 22:30:08,461,461    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 020D 02D70BBDD1000C40A9C09B0000010100]
2024-01-27 22:30:08,461,461    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0009 10040000000000000000000000000000]
2024-01-27 22:30:08,463,463    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0009 06000300000000000000000000000000]
2024-01-27 22:30:08,463,463    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 061A 00000000000000000000000000000000]
2024-01-27 22:30:08,466,466    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 061A 60080000000000000000000000000000]
2024-01-27 22:30:08,466,466    DEBUG [ReceiverListener:hidraw3] logitech_receiver.hidpp20: battery unified 96% charged, level 8, charging discharging
2024-01-27 22:30:08,466,466    DEBUG [ReceiverListener:hidraw3] logitech_receiver.status: <Device(1,40A9,PRO X 2,D70BBDD1)>: battery 96, discharging
2024-01-27 22:30:08,466,466    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-27 22:30:08,466,466    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 001E 00009F00000000000000000000000000]
2024-01-27 22:30:08,472,472    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 001E 04029F00000000000000000000000000]
2024-01-27 22:30:08,472,472     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <Device(1,40A9,PRO X 2,D70BBDD1)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
2024-01-27 22:30:08,472,472    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000B 81000000000000000000000000000000]
2024-01-27 22:30:08,472,472    DEBUG [MainThread] solaar.ui: status changed: <Device(1,40A9,PRO X 2,D70BBDD1)> (NONE) None
2024-01-27 22:30:08,473,473  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-27 22:30:08,473,473    DEBUG [MainThread] solaar.ui.tray: picked device with lowest battery: ('/dev/hidraw3', 1, 'PRO X 2', {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None})
2024-01-27 22:30:08,474,474    DEBUG [MainThread] solaar.ui.window: new device row ('/dev/hidraw3', 1, True, 'PRO X 2', 'input-mouse', None, None, <Device(1,40A9,PRO X 2,D70BBDD1)>) at index 0
2024-01-27 22:30:08,474,474  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-27 22:30:08,479,479    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000B 0C000000000000000000000000000000]
2024-01-27 22:30:08,479,479    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings_templates: check_feature onboard_profiles [ONBOARD PROFILES] detected <Setting([feature:choice] PRO X 2:onboard_profiles=None)>
2024-01-27 22:30:08,479,479     INFO [ReceiverListener:hidraw3] logitech_receiver.status: <Device(1,40A9,PRO X 2,D70BBDD1)> pushing device settings [<Setting([feature:choice] PRO X 2:onboard_profiles=None)>]
2024-01-27 22:30:08,479,479    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0009 21210000000000000000000000000000]
2024-01-27 22:30:08,482,482    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0009 00000000000000000000000000000000]
2024-01-27 22:30:08,482,482    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: apply (<Device(1,40A9,PRO X 2,D70BBDD1)>)
2024-01-27 22:30:08,482,482    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: cached value 2 on <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-27 22:30:08,482,482    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: write 2 to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-27 22:30:08,482,482    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: prepare write(2) => b'\x02'
2024-01-27 22:30:08,482,482    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0C19 02000000000000000000000000000000]
2024-01-27 22:30:08,484,484    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0C19 00000000000000000000000000000000]
2024-01-27 22:30:08,484,484    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-27 22:30:08,484,484    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0019 00001F00000000000000000000000000]
2024-01-27 22:30:08,488,488    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0019 04021F00000000000000000000000000]
2024-01-27 22:30:08,488,488     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <Device(1,40A9,PRO X 2,D70BBDD1)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
2024-01-27 22:30:08,488,488    DEBUG [MainThread] solaar.ui: status changed: <Device(1,40A9,PRO X 2,D70BBDD1)> (NONE) None
2024-01-27 22:30:08,488,488  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-27 22:30:08,489,489    DEBUG [MainThread] solaar.ui.tray: picked device with lowest battery: ('/dev/hidraw3', 1, 'PRO X 2', {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None})
2024-01-27 22:30:08,489,489  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-27 22:30:08,489,489  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-27 22:30:08,491,491    DEBUG [AsyncUI] logitech_receiver.settings: onboard_profiles: cached value 2 on <Device(1,40A9,PRO X 2,D70BBDD1)>
```
</details>
@kaneyumin Please provide output of `bin/solaar -ddd show`.  Then install the HID parser via  `pip install --user hid-parser` and rerun `bin/solaar -ddd show`.   Then remove your `~/.config/Solaar/config.yaml` file and rerun `bin/solaar -ddd show`.   Post the results.
first run of `bin/solaar -ddd show`

<details>

```
2024-01-28 03:58:17,260,260  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw6 BID 0005 VID 0000054C PID 00000268: No module named 'hid_parser'
2024-01-28 03:58:17,261,261  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw8 BID 0003 VID 00001B3F PID 00002008: No module named 'hid_parser'
2024-01-28 03:58:17,261,261  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw0 BID 0003 VID 0000046D PID 00000AAF: No module named 'hid_parser'
2024-01-28 03:58:17,262,262  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw1 BID 0003 VID 0000046D PID 0000C54D: No module named 'hid_parser'
2024-01-28 03:58:17,262,262     INFO [MainThread] hidapi.udev: Found device /dev/hidraw1 BID 0003 VID 0000046D PID 0000C54D HID++ None None USB 0 None
2024-01-28 03:58:17,262,262     INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw1
2024-01-28 03:58:17,263,263  WARNING [MainThread] logitech_receiver.receiver: Unknown receiver type: C54D
2024-01-28 03:58:17,263,263     INFO [MainThread] logitech_receiver.base: New lock 4
2024-01-28 03:58:17,263,263    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 030000]
2024-01-28 03:58:17,564,564    ERROR [MainThread] logitech_receiver.base: write failed, assuming handle 4 no longer available
2024-01-28 03:58:17,564,564    ERROR [MainThread] logitech_receiver.receiver: open DeviceInfo(path='/dev/hidraw1', bus_id=3, vendor_id='046D', product_id='C54D', interface=0, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=None, hidpp_long=None)
Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 221, in write
    _hid.write(int(handle), wdata)
  File "/home/kane/Downloads/Solaar/lib/hidapi/udev.py", line 387, in write
    raise OSError(_errno.EIO, 'written %d bytes out of expected %d' % (bytes_written, len(data)))
OSError: [Errno 5] written 0 bytes out of expected 7

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 393, in open
    return Receiver(handle, device_info.path, device_info.product_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 70, in __init__
    serial_reply = self.read_register(_R.receiver_info, _IR.receiver_information)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/hidpp10.py", line 191, in read_register
    return device.request(request_id, *params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 286, in request
    return _base.request(self.handle, 0xFF, request_id, *params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 428, in request
    write(ihandle, devnumber, request_data, long_message)
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 225, in write
    raise NoReceiver(reason=reason)
logitech_receiver.base.NoReceiver: {'reason': OSError(5, 'written 0 bytes out of expected 7')}
Exception ignored in: <function Receiver.__del__ at 0x7fef158120c0>
Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 101, in __del__
    self.close()
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 94, in close
    for _n, d in self._devices.items():
                 ^^^^^^^^^^^^^
AttributeError: 'Receiver' object has no attribute '_devices'
2024-01-28 03:58:17,567,567    DEBUG [MainThread] solaar.cli: [/dev/hidraw1] => None
2024-01-28 03:58:17,567,567  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw2 BID 0003 VID 0000046D PID 0000C54D: No module named 'hid_parser'
2024-01-28 03:58:17,568,568     INFO [MainThread] hidapi.udev: Found device /dev/hidraw2 BID 0003 VID 0000046D PID 0000C54D HID++ None None USB 1 None
2024-01-28 03:58:17,568,568     INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw2
2024-01-28 03:58:17,568,568  WARNING [MainThread] logitech_receiver.receiver: Unknown receiver type: C54D
2024-01-28 03:58:17,568,568    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 030000]
2024-01-28 03:58:17,869,869    ERROR [MainThread] logitech_receiver.base: write failed, assuming handle 4 no longer available
2024-01-28 03:58:17,869,869    ERROR [MainThread] logitech_receiver.receiver: open DeviceInfo(path='/dev/hidraw2', bus_id=3, vendor_id='046D', product_id='C54D', interface=1, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=None, hidpp_long=None)
Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 221, in write
    _hid.write(int(handle), wdata)
  File "/home/kane/Downloads/Solaar/lib/hidapi/udev.py", line 387, in write
    raise OSError(_errno.EIO, 'written %d bytes out of expected %d' % (bytes_written, len(data)))
OSError: [Errno 5] written 0 bytes out of expected 7

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 393, in open
    return Receiver(handle, device_info.path, device_info.product_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 70, in __init__
    serial_reply = self.read_register(_R.receiver_info, _IR.receiver_information)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/hidpp10.py", line 191, in read_register
    return device.request(request_id, *params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 286, in request
    return _base.request(self.handle, 0xFF, request_id, *params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 428, in request
    write(ihandle, devnumber, request_data, long_message)
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/base.py", line 225, in write
    raise NoReceiver(reason=reason)
logitech_receiver.base.NoReceiver: {'reason': OSError(5, 'written 0 bytes out of expected 7')}
Exception ignored in: <function Receiver.__del__ at 0x7fef158120c0>
Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 101, in __del__
    self.close()
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/receiver.py", line 94, in close
    for _n, d in self._devices.items():
                 ^^^^^^^^^^^^^
AttributeError: 'Receiver' object has no attribute '_devices'
2024-01-28 03:58:17,870,870    DEBUG [MainThread] solaar.cli: [/dev/hidraw2] => None
2024-01-28 03:58:17,871,871  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw3 BID 0003 VID 0000046D PID 0000C54D: No module named 'hid_parser'
2024-01-28 03:58:17,871,871     INFO [MainThread] hidapi.udev: Found device /dev/hidraw3 BID 0003 VID 0000046D PID 0000C54D HID++ None None USB 2 None
2024-01-28 03:58:17,871,871     INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw3
2024-01-28 03:58:17,924,924  WARNING [MainThread] logitech_receiver.receiver: Unknown receiver type: C54D
2024-01-28 03:58:17,924,924    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 030000]
2024-01-28 03:58:17,924,924    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 03D4CE5407010208FF00000000000000]
2024-01-28 03:58:17,924,924    DEBUG [MainThread] solaar.cli: [/dev/hidraw3] => <Receiver(/dev/hidraw3,4)>
2024-01-28 03:58:17,925,925  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw4 BID 0003 VID 00000951 PID 000016BE: No module named 'hid_parser'
2024-01-28 03:58:17,925,925  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw5 BID 0003 VID 00000951 PID 000016BE: No module named 'hid_parser'
2024-01-28 03:58:17,926,926  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw7 BID 0003 VID 00000951 PID 000016BE: No module named 'hid_parser'
solaar version 1.1.10-30-g81f7d9d

2024-01-28 03:58:17,926,926    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 03:58:17,927,927    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
Receiver
  Device path  : /dev/hidraw3
  USB id       : 046d:C54D
  Serial       : D4CE5407
2024-01-28 03:58:17,927,927    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 010000]
2024-01-28 03:58:17,927,927    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 010700]
2024-01-28 03:58:17,927,927    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 020000]
2024-01-28 03:58:17,928,928    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 020008]
2024-01-28 03:58:17,928,928    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 040000]
2024-01-28 03:58:17,928,928    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 040008]
2024-01-28 03:58:17,928,928    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 030000]
2024-01-28 03:58:17,929,929    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 0348EE]
    Firmware   : 07.00.B0008
    Bootloader : 00.08
    Other      : 48.EE
  Has 1 paired device(s) out of a maximum of 2.
2024-01-28 03:58:17,929,929    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 03:58:17,929,929    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
2024-01-28 03:58:17,929,929    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8100 000000]
2024-01-28 03:58:17,930,930    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8100 000900]
  Notifications: wireless, software present (0x000900)
2024-01-28 03:58:17,930,930    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B3 000000]
2024-01-28 03:58:17,930,930    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B3 0B000000000000000000000000000000]
  Device activity counters: 1=11
2024-01-28 03:58:17,930,930    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 03:58:17,931,931    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
2024-01-28 03:58:17,931,931    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 03:58:17,931,931    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
2024-01-28 03:58:18,937,937    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 200000]
2024-01-28 03:58:18,938,938    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 20080840A9110002B100000009240000]
2024-01-28 03:58:18,938,938    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 300000]
2024-01-28 03:58:18,938,938    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 30D70BBDD10E40A0000F000000000000]
2024-01-28 03:58:18,939,939    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 400000]
2024-01-28 03:58:18,939,939    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 400750524F2058203200000000000000]
2024-01-28 03:58:18,939,939     INFO [MainThread] logitech_receiver.receiver: <Receiver(/dev/hidraw3,4)>: found new device 1 (40A9)

2024-01-28 03:58:18,939,939    DEBUG [MainThread] logitech_receiver.base: (4) pinging device 1
2024-01-28 03:58:18,939,939    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 01 001D 000063]
2024-01-28 03:58:18,941,941    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 001D 04026300000000000000000000000000]
2024-01-28 03:58:18,941,941    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 00010000000000000000000000000000]
2024-01-28 03:58:18,942,942    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 01000200000000000000000000000000]
2024-01-28 03:58:18,942,942    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 010F 00000000000000000000000000000000]
2024-01-28 03:58:18,945,945    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 010F 1F000000000000000000000000000000]
2024-01-28 03:58:18,945,945    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 00050000000000000000000000000000]
2024-01-28 03:58:18,947,947    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 03000200000000000000000000000000]
2024-01-28 03:58:18,947,947    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 030A 00000000000000000000000000000000]
2024-01-28 03:58:18,948,948    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 030A 07000000000000000000000000000000]
2024-01-28 03:58:18,948,948    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 031D 00000000000000000000000000000000]
2024-01-28 03:58:18,951,951    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 031D 50524F20582032000000000000000000]
  1: PRO X 2
     Device path  : None
     WPID         : 40A9
     Codename     : PRO X 2
     Kind         : mouse
     Protocol     : HID++ 4.2
2024-01-28 03:58:18,951,951    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 80600000000000000000000000000000]
2024-01-28 03:58:18,953,953    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 03:58:18,953,953    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 80610000000000000000000000000000]
2024-01-28 03:58:18,955,955    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 0B000000000000000000000000000000]
2024-01-28 03:58:18,955,955    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B2B 00000000000000000000000000000000]
2024-01-28 03:58:18,957,957    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B2B 03000000000000000000000000000000]
2024-01-28 03:58:18,957,957    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B2E 00000000000000000000000000000000]
2024-01-28 03:58:18,959,959    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B2E 03000000000000000000000000000000]
     Polling rate : 1ms
     Serial number: D70BBDD1
2024-01-28 03:58:18,959,959    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 00030000000000000000000000000000]
2024-01-28 03:58:18,961,961    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 02000400000000000000000000000000]
2024-01-28 03:58:18,961,961    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 020B 00000000000000000000000000000000]
2024-01-28 03:58:18,963,963    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 020B 02D70BBDD1000C40A9C09B0000010100]
     Model ID:      40A9C09B0000
     Unit ID:       D70BBDD1
2024-01-28 03:58:18,963,963    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0208 00000000000000000000000000000000]
2024-01-28 03:58:18,964,964    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0208 02D70BBDD1000C40A9C09B0000010100]
2024-01-28 03:58:18,964,964    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021C 00000000000000000000000000000000]
2024-01-28 03:58:18,966,966    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021C 01424C317100001200AB1CDBC0A7D900]
2024-01-28 03:58:18,966,966    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021A 01000000000000000000000000000000]
2024-01-28 03:58:18,968,968    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021A 004D504D320000120140A9DBC0A7D900]
        Bootloader: BL1 71.00.B0012
          Firmware: MPM 32.00.B0012
2024-01-28 03:58:18,968,968    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 300000]
2024-01-28 03:58:18,969,969    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 30D70BBDD10E40A0000F000000000000]
     Supports 32 HID++ 2.0 features:
2024-01-28 03:58:18,971,971    DEBUG [MainThread] solaar.configuration: load => ['1.1.10-30-g81f7d9d', {'_NAME': 'PRO X 2', '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'report_rate_extended', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], '_battery': 4100, '_modelId': '40A9C09B0000', '_sensitive': {'hires-scroll-mode': 'ignore', 'hires-smooth-invert': 'ignore', 'hires-smooth-resolution': 'ignore', 'onboard_profiles': True}, '_serial': 'D70BBDD1', '_unitId': 'D70BBDD1', '_wpid': '40A9', 'onboard_profiles': 2}]
2024-01-28 03:58:18,971,971    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 81000000000000000000000000000000]
2024-01-28 03:58:18,973,973    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 0C000000000000000000000000000000]
2024-01-28 03:58:18,973,973    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature onboard_profiles [ONBOARD PROFILES] detected <Setting([feature:choice] PRO X 2:onboard_profiles=None)>
2024-01-28 03:58:18,973,973    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 00000000000000000000000000000000]
2024-01-28 03:58:18,975,975    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 00000200000000000000000000000000]
         0: ROOT                   {0000} V0     
2024-01-28 03:58:18,975,975    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 00010000000000000000000000000000]
2024-01-28 03:58:18,976,976    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 01000200000000000000000000000000]
         1: FEATURE SET            {0001} V0     
2024-01-28 03:58:18,976,976    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 00030000000000000000000000000000]
2024-01-28 03:58:18,978,978    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 02000400000000000000000000000000]
         2: DEVICE FW VERSION      {0003} V4     
2024-01-28 03:58:18,978,978    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0209 00000000000000000000000000000000]
2024-01-28 03:58:18,980,980    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0209 02D70BBDD1000C40A9C09B0000010100]
2024-01-28 03:58:18,980,980    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0219 00000000000000000000000000000000]
2024-01-28 03:58:18,981,981    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0219 01424C317100001200AB1CDBC0A7D900]
2024-01-28 03:58:18,981,981    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021C 01000000000000000000000000000000]
2024-01-28 03:58:18,983,983    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021C 004D504D320000120140A9DBC0A7D900]
            Firmware: Bootloader BL1 71.00.B0012 AB1CDBC0A7D9
            Firmware: Firmware MPM 32.00.B0012 40A9DBC0A7D9
2024-01-28 03:58:18,983,983    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 020F 00000000000000000000000000000000]
2024-01-28 03:58:18,984,984    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 020F 02D70BBDD1000C40A9C09B0000010100]
            Unit ID: D70BBDD1  Model ID: 40A9C09B0000  Transport IDs: {'wpid': '40A9', 'usbid': 'C09B'}
2024-01-28 03:58:18,984,984    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 00050000000000000000000000000000]
2024-01-28 03:58:18,986,986    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 03000200000000000000000000000000]
         3: DEVICE NAME            {0005} V2     
2024-01-28 03:58:18,986,986    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0308 00000000000000000000000000000000]
2024-01-28 03:58:18,988,988    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0308 07000000000000000000000000000000]
2024-01-28 03:58:18,988,988    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 031A 00000000000000000000000000000000]
2024-01-28 03:58:18,990,990    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 031A 50524F20582032000000000000000000]
            Name: PRO X 2
2024-01-28 03:58:18,990,990    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0329 00000000000000000000000000000000]
2024-01-28 03:58:18,991,991    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0329 03000000000000000000000000000000]
            Kind: mouse
2024-01-28 03:58:18,991,991    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 04000000000000000000000000000000]
2024-01-28 03:58:18,993,993    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 1D4B0000000000000000000000000000]
2024-01-28 03:58:18,993,993    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 1D4B0000000000000000000000000000]
2024-01-28 03:58:18,994,994    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 04000000000000000000000000000000]
         4: WIRELESS DEVICE STATUS {1D4B} V0     
2024-01-28 03:58:18,994,994    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 05000000000000000000000000000000]
2024-01-28 03:58:18,996,996    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 00200000000000000000000000000000]
2024-01-28 03:58:18,996,996    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 00200000000000000000000000000000]
2024-01-28 03:58:18,997,997    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 05000000000000000000000000000000]
         5: CONFIG CHANGE          {0020} V0     
2024-01-28 03:58:18,997,997    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 06000000000000000000000000000000]
2024-01-28 03:58:18,999,999    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 10040003000000000000000000000000]
2024-01-28 03:58:18,999,999    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 10040000000000000000000000000000]
2024-01-28 03:58:19,000,000    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 06000300000000000000000000000000]
         6: UNIFIED BATTERY        {1004} V3     
2024-01-28 03:58:19,000,000    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 061B 00000000000000000000000000000000]
2024-01-28 03:58:19,002,002    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 061B 61080000000000000000000000000000]
2024-01-28 03:58:19,002,002    DEBUG [MainThread] logitech_receiver.hidpp20: battery unified 97% charged, level 8, charging discharging
            Battery: 97%, discharging.
2024-01-28 03:58:19,002,002    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011D 07000000000000000000000000000000]
2024-01-28 03:58:19,004,004    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011D 22500001000000000000000000000000]
2024-01-28 03:58:19,004,004    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 22500000000000000000000000000000]
2024-01-28 03:58:19,005,005    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 07000100000000000000000000000000]
         7: XY STATS               {2250} V1     
2024-01-28 03:58:19,005,005    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0118 08000000000000000000000000000000]
2024-01-28 03:58:19,007,007    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0118 22510000000000000000000000000000]
2024-01-28 03:58:19,007,007    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 22510000000000000000000000000000]
2024-01-28 03:58:19,009,009    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 08000000000000000000000000000000]
         8: WHEEL STATS            {2251} V0     
2024-01-28 03:58:19,009,009    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 09000000000000000000000000000000]
2024-01-28 03:58:19,010,010    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 22020000000000000000000000000000]
2024-01-28 03:58:19,010,010    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 22020000000000000000000000000000]
2024-01-28 03:58:19,012,012    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 09000000000000000000000000000000]
         9: EXTENDED ADJUSTABLE DPI {2202} V0     
2024-01-28 03:58:19,012,012    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011B 0A000000000000000000000000000000]
2024-01-28 03:58:19,013,013    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011B 80900002000000000000000000000000]
2024-01-28 03:58:19,013,013    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 80900000000000000000000000000000]
2024-01-28 03:58:19,015,015    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 0A000200000000000000000000000000]
        10: MODE STATUS            {8090} V2     
2024-01-28 03:58:19,015,015    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 80610000000000000000000000000000]
2024-01-28 03:58:19,016,016    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 0B000000000000000000000000000000]
        11: EXTENDED ADJUSTABLE REPORT RATE {8061} V0     
2024-01-28 03:58:19,016,016    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B2E 00000000000000000000000000000000]
2024-01-28 03:58:19,018,018    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B2E 03000000000000000000000000000000]
            Polling Rate: 1ms
2024-01-28 03:58:19,018,018    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 81000000000000000000000000000000]
2024-01-28 03:58:19,019,019    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 0C000000000000000000000000000000]
        12: ONBOARD PROFILES       {8100} V0     
2024-01-28 03:58:19,020,020    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0C2D 00000000000000000000000000000000]
2024-01-28 03:58:19,021,021    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0C2D 02000000000000000000000000000000]
            Device Mode: Host
            Onboard Profiles (saved): Disable
2024-01-28 03:58:19,021,021    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0C2C 00000000000000000000000000000000]
2024-01-28 03:58:19,023,023    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0C2C 02000000000000000000000000000000]
2024-01-28 03:58:19,023,023    DEBUG [MainThread] logitech_receiver.settings: onboard_profiles: read value NamedInt(2, 'Disable') on <Device(1,40A9,PRO X 2,D70BBDD1)>
            Onboard Profiles        : Disable
2024-01-28 03:58:19,023,023    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 0D000000000000000000000000000000]
2024-01-28 03:58:19,026,026    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 81100000000000000000000000000000]
2024-01-28 03:58:19,026,026    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 81100000000000000000000000000000]
2024-01-28 03:58:19,028,028    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 0D000000000000000000000000000000]
        13: MOUSE BUTTON SPY       {8110} V0     
2024-01-28 03:58:19,028,028    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 0E000000000000000000000000000000]
2024-01-28 03:58:19,029,029    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 15000000000000000000000000000000]
2024-01-28 03:58:19,029,029    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 15000000000000000000000000000000]
2024-01-28 03:58:19,032,032    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 0E000000000000000000000000000000]
        14: FORCE PAIRING          {1500} V0     
2024-01-28 03:58:19,032,032    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 0F000000000000000000000000000000]
2024-01-28 03:58:19,034,034    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 18017000000000000000000000000000]
2024-01-28 03:58:19,034,034    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 18010000000000000000000000000000]
2024-01-28 03:58:19,036,036    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 0F700000000000000000000000000000]
        15: unknown:1801           {1801} V0    internal, hidden, unknown:000010 
2024-01-28 03:58:19,036,036    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 10000000000000000000000000000000]
2024-01-28 03:58:19,038,038    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 18027000000000000000000000000000]
2024-01-28 03:58:19,038,038    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 18020000000000000000000000000000]
2024-01-28 03:58:19,039,039    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 10700000000000000000000000000000]
        16: DEVICE RESET           {1802} V0    internal, hidden, unknown:000010 
2024-01-28 03:58:19,039,039    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011D 11000000000000000000000000000000]
2024-01-28 03:58:19,041,041    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011D 18037000000000000000000000000000]
2024-01-28 03:58:19,041,041    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 18030000000000000000000000000000]
2024-01-28 03:58:19,042,042    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 11700000000000000000000000000000]
        17: unknown:1803           {1803} V0    internal, hidden, unknown:000010 
2024-01-28 03:58:19,042,042    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 12000000000000000000000000000000]
2024-01-28 03:58:19,044,044    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 18067008000000000000000000000000]
2024-01-28 03:58:19,044,044    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 18060000000000000000000000000000]
2024-01-28 03:58:19,046,046    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 12700800000000000000000000000000]
        18: CONFIG DEVICE PROPS    {1806} V8    internal, hidden, unknown:000010 
2024-01-28 03:58:19,046,046    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 13000000000000000000000000000000]
2024-01-28 03:58:19,048,048    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 18177000000000000000000000000000]
2024-01-28 03:58:19,048,048    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 18170000000000000000000000000000]
2024-01-28 03:58:19,049,049    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 13700000000000000000000000000000]
        19: unknown:1817           {1817} V0    internal, hidden, unknown:000010 
2024-01-28 03:58:19,049,049    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 14000000000000000000000000000000]
2024-01-28 03:58:19,052,052    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 18056000000000000000000000000000]
2024-01-28 03:58:19,052,052    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 18050000000000000000000000000000]
2024-01-28 03:58:19,054,054    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 14600000000000000000000000000000]
        20: OOBSTATE               {1805} V0    internal, hidden 
2024-01-28 03:58:19,054,054    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 15000000000000000000000000000000]
2024-01-28 03:58:19,055,055    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 18307000000000000000000000000000]
2024-01-28 03:58:19,055,055    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 18300000000000000000000000000000]
2024-01-28 03:58:19,057,057    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 15700000000000000000000000000000]
        21: unknown:1830           {1830} V0    internal, hidden, unknown:000010 
2024-01-28 03:58:19,057,057    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011B 16000000000000000000000000000000]
2024-01-28 03:58:19,059,059    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011B 18757000000000000000000000000000]
2024-01-28 03:58:19,059,059    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 18750000000000000000000000000000]
2024-01-28 03:58:19,061,061    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 16700000000000000000000000000000]
        22: unknown:1875           {1875} V0    internal, hidden, unknown:000010 
2024-01-28 03:58:19,061,061    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 17000000000000000000000000000000]
2024-01-28 03:58:19,063,063    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 18617001000000000000000000000000]
2024-01-28 03:58:19,063,063    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 18610000000000000000000000000000]
2024-01-28 03:58:19,064,064    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 17700100000000000000000000000000]
        23: unknown:1861           {1861} V1    internal, hidden, unknown:000010 
2024-01-28 03:58:19,064,064    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 18000000000000000000000000000000]
2024-01-28 03:58:19,066,066    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 18906809000000000000000000000000]
2024-01-28 03:58:19,066,066    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 18900000000000000000000000000000]
2024-01-28 03:58:19,068,068    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 18680900000000000000000000000000]
        24: unknown:1890           {1890} V9    internal, hidden, unknown:000008 
2024-01-28 03:58:19,068,068    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 19000000000000000000000000000000]
2024-01-28 03:58:19,070,070    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 18A17000000000000000000000000000]
2024-01-28 03:58:19,070,070    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 18A10000000000000000000000000000]
2024-01-28 03:58:19,072,072    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 19700000000000000000000000000000]
        25: unknown:18A1           {18A1} V0    internal, hidden, unknown:000010 
2024-01-28 03:58:19,072,072    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 1A000000000000000000000000000000]
2024-01-28 03:58:19,075,075    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 1E004000000000000000000000000000]
2024-01-28 03:58:19,075,075    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 1E000000000000000000000000000000]
2024-01-28 03:58:19,077,077    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 1A400000000000000000000000000000]
        26: unknown:1E00           {1E00} V0    hidden 
2024-01-28 03:58:19,077,077    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 1B000000000000000000000000000000]
2024-01-28 03:58:19,080,080    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 1E026000000000000000000000000000]
2024-01-28 03:58:19,080,080    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 1E020000000000000000000000000000]
2024-01-28 03:58:19,084,084    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 1B600000000000000000000000000000]
        27: unknown:1E02           {1E02} V0    internal, hidden 
2024-01-28 03:58:19,084,084    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 1C000000000000000000000000000000]
2024-01-28 03:58:19,086,086    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 1E227001000000000000000000000000]
2024-01-28 03:58:19,086,086    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 1E220000000000000000000000000000]
2024-01-28 03:58:19,089,089    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 1C700100000000000000000000000000]
        28: unknown:1E22           {1E22} V1    internal, hidden, unknown:000010 
2024-01-28 03:58:19,089,089    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 1D000000000000000000000000000000]
2024-01-28 03:58:19,097,097    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 16020000000000000000000000000000]
2024-01-28 03:58:19,097,097    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 16020000000000000000000000000000]
2024-01-28 03:58:19,104,104    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 1D000000000000000000000000000000]
        29: unknown:1602           {1602} V0     
2024-01-28 03:58:19,104,104    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 1E000000000000000000000000000000]
2024-01-28 03:58:19,113,113    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 1EB07000000000000000000000000000]
2024-01-28 03:58:19,113,113    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 1EB00000000000000000000000000000]
2024-01-28 03:58:19,121,121    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 1E700000000000000000000000000000]
        30: unknown:1EB0           {1EB0} V0    internal, hidden, unknown:000010 
2024-01-28 03:58:19,121,121    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 1F000000000000000000000000000000]
2024-01-28 03:58:19,138,138    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 18B17000000000000000000000000000]
2024-01-28 03:58:19,138,138    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 18B10000000000000000000000000000]
2024-01-28 03:58:19,146,146    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 1F700000000000000000000000000000]
        31: unknown:18B1           {18B1} V0    internal, hidden, unknown:000010 
2024-01-28 03:58:19,146,146    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 1B010000000000000000000000000000]
2024-01-28 03:58:19,155,155    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 03:58:19,155,155    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 1B040000000000000000000000000000]
2024-01-28 03:58:19,163,163    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 03:58:19,163,163    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 1C000000000000000000000000000000]
2024-01-28 03:58:19,172,172    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 03:58:19,172,172    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 65010000000000000000000000000000]
2024-01-28 03:58:19,177,177    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 00000000000000000000000000000000]
2024-01-28 03:58:19,177,177    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 061A 00000000000000000000000000000000]
2024-01-28 03:58:19,180,180    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 061A 61080000000000000000000000000000]
2024-01-28 03:58:19,180,180    DEBUG [MainThread] logitech_receiver.hidpp20: battery unified 97% charged, level 8, charging discharging
     Battery: 97%, discharging.

```
</details>


after `pip install --user hid-parser`

<details>

```
2024-01-28 03:59:29,060,060  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw6 BID 0005 VID 0000054C PID 00000268: Expecting 39 usages but got 1
2024-01-28 03:59:29,063,063  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw0 BID 0003 VID 0000046D PID 00000AAF: Expecting 63 usages but got 2
2024-01-28 03:59:29,070,070     INFO [MainThread] hidapi.udev: Found device /dev/hidraw3 BID 0003 VID 0000046D PID 0000C54D HID++ True True USB 2 None
2024-01-28 03:59:29,070,070     INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw3
2024-01-28 03:59:29,122,122  WARNING [MainThread] logitech_receiver.receiver: Unknown receiver type: C54D
2024-01-28 03:59:29,122,122     INFO [MainThread] logitech_receiver.base: New lock 4
2024-01-28 03:59:29,122,122    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 030000]
2024-01-28 03:59:29,122,122    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 03D4CE5407010208FF00000000000000]
2024-01-28 03:59:29,122,122    DEBUG [MainThread] solaar.cli: [/dev/hidraw3] => <Receiver(/dev/hidraw3,4)>
2024-01-28 03:59:29,133,133  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw7 BID 0003 VID 00000951 PID 000016BE: Expecting 3 usages but got 1
solaar version 1.1.10-30-g81f7d9d

2024-01-28 03:59:29,134,134    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 03:59:29,134,134    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
Receiver
  Device path  : /dev/hidraw3
  USB id       : 046d:C54D
  Serial       : D4CE5407
2024-01-28 03:59:29,134,134    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 010000]
2024-01-28 03:59:29,134,134    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 010700]
2024-01-28 03:59:29,135,135    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 020000]
2024-01-28 03:59:29,135,135    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 020008]
2024-01-28 03:59:29,135,135    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 040000]
2024-01-28 03:59:29,135,135    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 040008]
2024-01-28 03:59:29,136,136    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 030000]
2024-01-28 03:59:29,136,136    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 0348EE]
    Firmware   : 07.00.B0008
    Bootloader : 00.08
    Other      : 48.EE
  Has 1 paired device(s) out of a maximum of 2.
2024-01-28 03:59:29,136,136    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 03:59:29,136,136    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
2024-01-28 03:59:29,137,137    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8100 000000]
2024-01-28 03:59:29,137,137    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8100 000900]
  Notifications: wireless, software present (0x000900)
2024-01-28 03:59:29,137,137    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B3 000000]
2024-01-28 03:59:29,138,138    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B3 77000000000000000000000000000000]
  Device activity counters: 1=119
2024-01-28 03:59:29,138,138    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 03:59:29,138,138    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
2024-01-28 03:59:29,138,138    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 03:59:29,138,138    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
2024-01-28 03:59:30,144,144    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 200000]
2024-01-28 03:59:30,145,145    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 20080840A9110002B100000009240000]
2024-01-28 03:59:30,145,145    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 300000]
2024-01-28 03:59:30,145,145    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 30D70BBDD10E40A0000F000000000000]
2024-01-28 03:59:30,145,145    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 400000]
2024-01-28 03:59:30,146,146    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 400750524F2058203200000000000000]
2024-01-28 03:59:30,146,146     INFO [MainThread] logitech_receiver.receiver: <Receiver(/dev/hidraw3,4)>: found new device 1 (40A9)

2024-01-28 03:59:30,146,146    DEBUG [MainThread] logitech_receiver.base: (4) pinging device 1
2024-01-28 03:59:30,146,146    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 01 0019 00009D]
2024-01-28 03:59:30,149,149    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0019 04029D00000000000000000000000000]
2024-01-28 03:59:30,149,149    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 00010000000000000000000000000000]
2024-01-28 03:59:30,151,151    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 01000200000000000000000000000000]
2024-01-28 03:59:30,151,151    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 010D 00000000000000000000000000000000]
2024-01-28 03:59:30,153,153    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 010D 1F000000000000000000000000000000]
2024-01-28 03:59:30,153,153    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 00050000000000000000000000000000]
2024-01-28 03:59:30,156,156    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 03000200000000000000000000000000]
2024-01-28 03:59:30,156,156    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 030C 00000000000000000000000000000000]
2024-01-28 03:59:30,158,158    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 030C 07000000000000000000000000000000]
2024-01-28 03:59:30,158,158    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0319 00000000000000000000000000000000]
2024-01-28 03:59:30,161,161    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0319 50524F20582032000000000000000000]
  1: PRO X 2
     Device path  : None
     WPID         : 40A9
     Codename     : PRO X 2
     Kind         : mouse
     Protocol     : HID++ 4.2
2024-01-28 03:59:30,161,161    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 80600000000000000000000000000000]
2024-01-28 03:59:30,162,162    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 03:59:30,162,162    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 80610000000000000000000000000000]
2024-01-28 03:59:30,164,164    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 0B000000000000000000000000000000]
2024-01-28 03:59:30,164,164    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B2D 00000000000000000000000000000000]
2024-01-28 03:59:30,167,167    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B2D 03000000000000000000000000000000]
2024-01-28 03:59:30,167,167    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B2A 00000000000000000000000000000000]
2024-01-28 03:59:30,169,169    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B2A 03000000000000000000000000000000]
     Polling rate : 1ms
     Serial number: D70BBDD1
2024-01-28 03:59:30,169,169    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 00030000000000000000000000000000]
2024-01-28 03:59:30,171,171    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 02000400000000000000000000000000]
2024-01-28 03:59:30,171,171    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0209 00000000000000000000000000000000]
2024-01-28 03:59:30,172,172    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0209 02D70BBDD1000C40A9C09B0000010100]
     Model ID:      40A9C09B0000
     Unit ID:       D70BBDD1
2024-01-28 03:59:30,172,172    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 020C 00000000000000000000000000000000]
2024-01-28 03:59:30,174,174    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 020C 02D70BBDD1000C40A9C09B0000010100]
2024-01-28 03:59:30,174,174    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021D 00000000000000000000000000000000]
2024-01-28 03:59:30,175,175    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021D 01424C317100001200AB1CDBC0A7D900]
2024-01-28 03:59:30,175,175    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0219 01000000000000000000000000000000]
2024-01-28 03:59:30,177,177    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0219 004D504D320000120140A9DBC0A7D900]
        Bootloader: BL1 71.00.B0012
          Firmware: MPM 32.00.B0012
2024-01-28 03:59:30,177,177    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 300000]
2024-01-28 03:59:30,177,177    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 30D70BBDD10E40A0000F000000000000]
     Supports 32 HID++ 2.0 features:
2024-01-28 03:59:30,180,180    DEBUG [MainThread] solaar.configuration: load => ['1.1.10-30-g81f7d9d', {'_NAME': 'PRO X 2', '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'report_rate_extended', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], '_battery': 4100, '_modelId': '40A9C09B0000', '_sensitive': {'hires-scroll-mode': 'ignore', 'hires-smooth-invert': 'ignore', 'hires-smooth-resolution': 'ignore', 'onboard_profiles': True}, '_serial': 'D70BBDD1', '_unitId': 'D70BBDD1', '_wpid': '40A9', 'onboard_profiles': 2}]
2024-01-28 03:59:30,180,180    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 81000000000000000000000000000000]
2024-01-28 03:59:30,181,181    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 0C000000000000000000000000000000]
2024-01-28 03:59:30,181,181    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature onboard_profiles [ONBOARD PROFILES] detected <Setting([feature:choice] PRO X 2:onboard_profiles=None)>
2024-01-28 03:59:30,181,181    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 00000000000000000000000000000000]
2024-01-28 03:59:30,184,184    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 00000200000000000000000000000000]
         0: ROOT                   {0000} V0     
2024-01-28 03:59:30,184,184    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 00010000000000000000000000000000]
2024-01-28 03:59:30,186,186    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 01000200000000000000000000000000]
         1: FEATURE SET            {0001} V0     
2024-01-28 03:59:30,186,186    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 00030000000000000000000000000000]
2024-01-28 03:59:30,188,188    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 02000400000000000000000000000000]
         2: DEVICE FW VERSION      {0003} V4     
2024-01-28 03:59:30,188,188    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 020E 00000000000000000000000000000000]
2024-01-28 03:59:30,189,189    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 020E 02D70BBDD1000C40A9C09B0000010100]
2024-01-28 03:59:30,189,189    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021E 00000000000000000000000000000000]
2024-01-28 03:59:30,191,191    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021E 01424C317100001200AB1CDBC0A7D900]
2024-01-28 03:59:30,191,191    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021A 01000000000000000000000000000000]
2024-01-28 03:59:30,192,192    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021A 004D504D320000120140A9DBC0A7D900]
            Firmware: Bootloader BL1 71.00.B0012 AB1CDBC0A7D9
            Firmware: Firmware MPM 32.00.B0012 40A9DBC0A7D9
2024-01-28 03:59:30,192,192    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 020C 00000000000000000000000000000000]
2024-01-28 03:59:30,194,194    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 020C 02D70BBDD1000C40A9C09B0000010100]
            Unit ID: D70BBDD1  Model ID: 40A9C09B0000  Transport IDs: {'wpid': '40A9', 'usbid': 'C09B'}
2024-01-28 03:59:30,194,194    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 00050000000000000000000000000000]
2024-01-28 03:59:30,195,195    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 03000200000000000000000000000000]
         3: DEVICE NAME            {0005} V2     
2024-01-28 03:59:30,195,195    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 030D 00000000000000000000000000000000]
2024-01-28 03:59:30,197,197    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 030D 07000000000000000000000000000000]
2024-01-28 03:59:30,197,197    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 031A 00000000000000000000000000000000]
2024-01-28 03:59:30,199,199    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 031A 50524F20582032000000000000000000]
            Name: PRO X 2
2024-01-28 03:59:30,199,199    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 032F 00000000000000000000000000000000]
2024-01-28 03:59:30,201,201    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 032F 03000000000000000000000000000000]
            Kind: mouse
2024-01-28 03:59:30,201,201    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 04000000000000000000000000000000]
2024-01-28 03:59:30,203,203    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 1D4B0000000000000000000000000000]
2024-01-28 03:59:30,203,203    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 1D4B0000000000000000000000000000]
2024-01-28 03:59:30,205,205    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 04000000000000000000000000000000]
         4: WIRELESS DEVICE STATUS {1D4B} V0     
2024-01-28 03:59:30,205,205    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 05000000000000000000000000000000]
2024-01-28 03:59:30,207,207    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 00200000000000000000000000000000]
2024-01-28 03:59:30,207,207    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 00200000000000000000000000000000]
2024-01-28 03:59:30,210,210    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 05000000000000000000000000000000]
         5: CONFIG CHANGE          {0020} V0     
2024-01-28 03:59:30,210,210    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011B 06000000000000000000000000000000]
2024-01-28 03:59:30,214,214    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011B 10040003000000000000000000000000]
2024-01-28 03:59:30,214,214    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 10040000000000000000000000000000]
2024-01-28 03:59:30,221,221    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 06000300000000000000000000000000]
         6: UNIFIED BATTERY        {1004} V3     
2024-01-28 03:59:30,221,221    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0619 00000000000000000000000000000000]
2024-01-28 03:59:30,229,229    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0619 61080000000000000000000000000000]
2024-01-28 03:59:30,229,229    DEBUG [MainThread] logitech_receiver.hidpp20: battery unified 97% charged, level 8, charging discharging
            Battery: 97%, discharging.
2024-01-28 03:59:30,229,229    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0118 07000000000000000000000000000000]
2024-01-28 03:59:30,238,238    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0118 22500001000000000000000000000000]
2024-01-28 03:59:30,238,238    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 22500000000000000000000000000000]
2024-01-28 03:59:30,246,246    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 07000100000000000000000000000000]
         7: XY STATS               {2250} V1     
2024-01-28 03:59:30,246,246    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 08000000000000000000000000000000]
2024-01-28 03:59:30,255,255    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 22510000000000000000000000000000]
2024-01-28 03:59:30,255,255    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 22510000000000000000000000000000]
2024-01-28 03:59:30,263,263    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 08000000000000000000000000000000]
         8: WHEEL STATS            {2251} V0     
2024-01-28 03:59:30,263,263    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011D 09000000000000000000000000000000]
2024-01-28 03:59:30,280,280    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011D 22020000000000000000000000000000]
2024-01-28 03:59:30,280,280    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 22020000000000000000000000000000]
2024-01-28 03:59:30,288,288    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 09000000000000000000000000000000]
         9: EXTENDED ADJUSTABLE DPI {2202} V0     
2024-01-28 03:59:30,288,288    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011D 0A000000000000000000000000000000]
2024-01-28 03:59:30,297,297    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011D 80900002000000000000000000000000]
2024-01-28 03:59:30,297,297    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 80900000000000000000000000000000]
2024-01-28 03:59:30,305,305    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 0A000200000000000000000000000000]
        10: MODE STATUS            {8090} V2     
2024-01-28 03:59:30,305,305    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 80610000000000000000000000000000]
2024-01-28 03:59:30,314,314    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 0B000000000000000000000000000000]
        11: EXTENDED ADJUSTABLE REPORT RATE {8061} V0     
2024-01-28 03:59:30,314,314    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B2E 00000000000000000000000000000000]
2024-01-28 03:59:30,322,322    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B2E 03000000000000000000000000000000]
            Polling Rate: 1ms
2024-01-28 03:59:30,322,322    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 81000000000000000000000000000000]
2024-01-28 03:59:30,331,331    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 0C000000000000000000000000000000]
        12: ONBOARD PROFILES       {8100} V0     
2024-01-28 03:59:30,331,331    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0C2E 00000000000000000000000000000000]
2024-01-28 03:59:30,339,339    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0C2E 02000000000000000000000000000000]
            Device Mode: Host
            Onboard Profiles (saved): Disable
2024-01-28 03:59:30,339,339    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0C2B 00000000000000000000000000000000]
2024-01-28 03:59:30,348,348    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0C2B 02000000000000000000000000000000]
2024-01-28 03:59:30,348,348    DEBUG [MainThread] logitech_receiver.settings: onboard_profiles: read value NamedInt(2, 'Disable') on <Device(1,40A9,PRO X 2,D70BBDD1)>
            Onboard Profiles        : Disable
2024-01-28 03:59:30,348,348    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011B 0D000000000000000000000000000000]
2024-01-28 03:59:30,356,356    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011B 81100000000000000000000000000000]
2024-01-28 03:59:30,356,356    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 81100000000000000000000000000000]
2024-01-28 03:59:30,365,365    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 0D000000000000000000000000000000]
        13: MOUSE BUTTON SPY       {8110} V0     
2024-01-28 03:59:30,365,365    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011B 0E000000000000000000000000000000]
2024-01-28 03:59:30,373,373    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011B 15000000000000000000000000000000]
2024-01-28 03:59:30,373,373    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 15000000000000000000000000000000]
2024-01-28 03:59:30,382,382    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 0E000000000000000000000000000000]
        14: FORCE PAIRING          {1500} V0     
2024-01-28 03:59:30,382,382    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011B 0F000000000000000000000000000000]
2024-01-28 03:59:30,390,390    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011B 18017000000000000000000000000000]
2024-01-28 03:59:30,390,390    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 18010000000000000000000000000000]
2024-01-28 03:59:30,399,399    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 0F700000000000000000000000000000]
        15: unknown:1801           {1801} V0    internal, hidden, unknown:000010 
2024-01-28 03:59:30,399,399    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 10000000000000000000000000000000]
2024-01-28 03:59:30,407,407    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 18027000000000000000000000000000]
2024-01-28 03:59:30,407,407    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 18020000000000000000000000000000]
2024-01-28 03:59:30,416,416    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 10700000000000000000000000000000]
        16: DEVICE RESET           {1802} V0    internal, hidden, unknown:000010 
2024-01-28 03:59:30,416,416    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0118 11000000000000000000000000000000]
2024-01-28 03:59:30,424,424    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0118 18037000000000000000000000000000]
2024-01-28 03:59:30,424,424    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 18030000000000000000000000000000]
2024-01-28 03:59:30,433,433    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 11700000000000000000000000000000]
        17: unknown:1803           {1803} V0    internal, hidden, unknown:000010 
2024-01-28 03:59:30,433,433    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 12000000000000000000000000000000]
2024-01-28 03:59:30,441,441    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 18067008000000000000000000000000]
2024-01-28 03:59:30,442,442    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 18060000000000000000000000000000]
2024-01-28 03:59:30,450,450    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 12700800000000000000000000000000]
        18: CONFIG DEVICE PROPS    {1806} V8    internal, hidden, unknown:000010 
2024-01-28 03:59:30,450,450    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 13000000000000000000000000000000]
2024-01-28 03:59:30,458,458    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 18177000000000000000000000000000]
2024-01-28 03:59:30,459,459    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 18170000000000000000000000000000]
2024-01-28 03:59:30,467,467    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 13700000000000000000000000000000]
        19: unknown:1817           {1817} V0    internal, hidden, unknown:000010 
2024-01-28 03:59:30,467,467    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 14000000000000000000000000000000]
2024-01-28 03:59:30,475,475    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 18056000000000000000000000000000]
2024-01-28 03:59:30,475,475    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 18050000000000000000000000000000]
2024-01-28 03:59:30,484,484    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 14600000000000000000000000000000]
        20: OOBSTATE               {1805} V0    internal, hidden 
2024-01-28 03:59:30,484,484    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 15000000000000000000000000000000]
2024-01-28 03:59:30,492,492    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 18307000000000000000000000000000]
2024-01-28 03:59:30,492,492    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 18300000000000000000000000000000]
2024-01-28 03:59:30,501,501    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 15700000000000000000000000000000]
        21: unknown:1830           {1830} V0    internal, hidden, unknown:000010 
2024-01-28 03:59:30,501,501    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011D 16000000000000000000000000000000]
2024-01-28 03:59:30,509,509    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011D 18757000000000000000000000000000]
2024-01-28 03:59:30,509,509    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 18750000000000000000000000000000]
2024-01-28 03:59:30,518,518    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 16700000000000000000000000000000]
        22: unknown:1875           {1875} V0    internal, hidden, unknown:000010 
2024-01-28 03:59:30,518,518    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 17000000000000000000000000000000]
2024-01-28 03:59:30,526,526    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 18617001000000000000000000000000]
2024-01-28 03:59:30,526,526    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 18610000000000000000000000000000]
2024-01-28 03:59:30,535,535    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 17700100000000000000000000000000]
        23: unknown:1861           {1861} V1    internal, hidden, unknown:000010 
2024-01-28 03:59:30,535,535    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011B 18000000000000000000000000000000]
2024-01-28 03:59:30,543,543    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011B 18906809000000000000000000000000]
2024-01-28 03:59:30,543,543    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 18900000000000000000000000000000]
2024-01-28 03:59:30,552,552    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 18680900000000000000000000000000]
        24: unknown:1890           {1890} V9    internal, hidden, unknown:000008 
2024-01-28 03:59:30,552,552    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 19000000000000000000000000000000]
2024-01-28 03:59:30,560,560    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 18A17000000000000000000000000000]
2024-01-28 03:59:30,560,560    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 18A10000000000000000000000000000]
2024-01-28 03:59:30,569,569    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 19700000000000000000000000000000]
        25: unknown:18A1           {18A1} V0    internal, hidden, unknown:000010 
2024-01-28 03:59:30,569,569    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 1A000000000000000000000000000000]
2024-01-28 03:59:30,577,577    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 1E004000000000000000000000000000]
2024-01-28 03:59:30,577,577    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 1E000000000000000000000000000000]
2024-01-28 03:59:30,586,586    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 1A400000000000000000000000000000]
        26: unknown:1E00           {1E00} V0    hidden 
2024-01-28 03:59:30,586,586    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 1B000000000000000000000000000000]
2024-01-28 03:59:30,594,594    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 1E026000000000000000000000000000]
2024-01-28 03:59:30,594,594    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 1E020000000000000000000000000000]
2024-01-28 03:59:30,603,603    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 1B600000000000000000000000000000]
        27: unknown:1E02           {1E02} V0    internal, hidden 
2024-01-28 03:59:30,603,603    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0118 1C000000000000000000000000000000]
2024-01-28 03:59:30,611,611    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0118 1E227001000000000000000000000000]
2024-01-28 03:59:30,611,611    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 1E220000000000000000000000000000]
2024-01-28 03:59:30,620,620    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 1C700100000000000000000000000000]
        28: unknown:1E22           {1E22} V1    internal, hidden, unknown:000010 
2024-01-28 03:59:30,620,620    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 1D000000000000000000000000000000]
2024-01-28 03:59:30,628,628    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 16020000000000000000000000000000]
2024-01-28 03:59:30,628,628    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 16020000000000000000000000000000]
2024-01-28 03:59:30,637,637    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 1D000000000000000000000000000000]
        29: unknown:1602           {1602} V0     
2024-01-28 03:59:30,637,637    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 1E000000000000000000000000000000]
2024-01-28 03:59:30,645,645    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 1EB07000000000000000000000000000]
2024-01-28 03:59:30,645,645    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 1EB00000000000000000000000000000]
2024-01-28 03:59:30,654,654    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 1E700000000000000000000000000000]
        30: unknown:1EB0           {1EB0} V0    internal, hidden, unknown:000010 
2024-01-28 03:59:30,654,654    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 1F000000000000000000000000000000]
2024-01-28 03:59:30,662,662    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 18B17000000000000000000000000000]
2024-01-28 03:59:30,662,662    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 18B10000000000000000000000000000]
2024-01-28 03:59:30,671,671    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 1F700000000000000000000000000000]
        31: unknown:18B1           {18B1} V0    internal, hidden, unknown:000010 
2024-01-28 03:59:30,671,671    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 1B010000000000000000000000000000]
2024-01-28 03:59:30,679,679    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 03:59:30,679,679    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 1B040000000000000000000000000000]
2024-01-28 03:59:30,688,688    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 03:59:30,688,688    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 1C000000000000000000000000000000]
2024-01-28 03:59:30,696,696    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 03:59:30,696,696    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 65010000000000000000000000000000]
2024-01-28 03:59:30,705,705    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 00000000000000000000000000000000]
2024-01-28 03:59:30,705,705    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0619 00000000000000000000000000000000]
2024-01-28 03:59:30,713,713    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0619 61080000000000000000000000000000]
2024-01-28 03:59:30,713,713    DEBUG [MainThread] logitech_receiver.hidpp20: battery unified 97% charged, level 8, charging discharging
     Battery: 97%, discharging.

```
</details>

after removing config.yaml

<details>

```
2024-01-28 04:00:20,018,018  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw6 BID 0005 VID 0000054C PID 00000268: Expecting 39 usages but got 1
2024-01-28 04:00:20,020,020  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw0 BID 0003 VID 0000046D PID 00000AAF: Expecting 63 usages but got 2
2024-01-28 04:00:20,029,029     INFO [MainThread] hidapi.udev: Found device /dev/hidraw3 BID 0003 VID 0000046D PID 0000C54D HID++ True True USB 2 None
2024-01-28 04:00:20,029,029     INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw3
2024-01-28 04:00:20,083,083  WARNING [MainThread] logitech_receiver.receiver: Unknown receiver type: C54D
2024-01-28 04:00:20,083,083     INFO [MainThread] logitech_receiver.base: New lock 4
2024-01-28 04:00:20,083,083    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 030000]
2024-01-28 04:00:20,083,083    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 03D4CE5407010208FF00000000000000]
2024-01-28 04:00:20,083,083    DEBUG [MainThread] solaar.cli: [/dev/hidraw3] => <Receiver(/dev/hidraw3,4)>
2024-01-28 04:00:20,094,094  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw7 BID 0003 VID 00000951 PID 000016BE: Expecting 3 usages but got 1
solaar version 1.1.10-30-g81f7d9d

2024-01-28 04:00:20,095,095    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 04:00:20,096,096    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
Receiver
  Device path  : /dev/hidraw3
  USB id       : 046d:C54D
  Serial       : D4CE5407
2024-01-28 04:00:20,096,096    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 010000]
2024-01-28 04:00:20,096,096    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 010700]
2024-01-28 04:00:20,096,096    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 020000]
2024-01-28 04:00:20,097,097    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 020008]
2024-01-28 04:00:20,097,097    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 040000]
2024-01-28 04:00:20,097,097    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 040008]
2024-01-28 04:00:20,097,097    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 81F1 030000]
2024-01-28 04:00:20,098,098    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 81F1 0348EE]
    Firmware   : 07.00.B0008
    Bootloader : 00.08
    Other      : 48.EE
  Has 1 paired device(s) out of a maximum of 2.
2024-01-28 04:00:20,098,098    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 04:00:20,098,098    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
2024-01-28 04:00:20,098,098    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8100 000000]
2024-01-28 04:00:20,099,099    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8100 000900]
  Notifications: wireless, software present (0x000900)
2024-01-28 04:00:20,099,099    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B3 000000]
2024-01-28 04:00:20,099,099    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B3 D2000000000000000000000000000000]
  Device activity counters: 1=210
2024-01-28 04:00:20,099,099    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 04:00:20,100,100    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
2024-01-28 04:00:20,100,100    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 8102 000000]
2024-01-28 04:00:20,100,100    DEBUG [MainThread] logitech_receiver.base: (4) => r[10 FF 8102 000100]
2024-01-28 04:00:21,107,107    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 200000]
2024-01-28 04:00:21,107,107    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 20080840A9110002B100000009240000]
2024-01-28 04:00:21,107,107    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 300000]
2024-01-28 04:00:21,108,108    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 30D70BBDD10E40A0000F000000000000]
2024-01-28 04:00:21,108,108    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 400000]
2024-01-28 04:00:21,108,108    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 400750524F2058203200000000000000]
2024-01-28 04:00:21,108,108     INFO [MainThread] logitech_receiver.receiver: <Receiver(/dev/hidraw3,4)>: found new device 1 (40A9)

2024-01-28 04:00:21,108,108    DEBUG [MainThread] logitech_receiver.base: (4) pinging device 1
2024-01-28 04:00:21,108,108    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 01 001E 0000F2]
2024-01-28 04:00:21,116,116    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 001E 0402F200000000000000000000000000]
2024-01-28 04:00:21,116,116    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 00010000000000000000000000000000]
2024-01-28 04:00:21,125,125    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 01000200000000000000000000000000]
2024-01-28 04:00:21,125,125    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 010D 00000000000000000000000000000000]
2024-01-28 04:00:21,133,133    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 010D 1F000000000000000000000000000000]
2024-01-28 04:00:21,134,134    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 00050000000000000000000000000000]
2024-01-28 04:00:21,142,142    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 03000200000000000000000000000000]
2024-01-28 04:00:21,142,142    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0308 00000000000000000000000000000000]
2024-01-28 04:00:21,150,150    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0308 07000000000000000000000000000000]
2024-01-28 04:00:21,150,150    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 031D 00000000000000000000000000000000]
2024-01-28 04:00:21,159,159    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 031D 50524F20582032000000000000000000]
  1: PRO X 2
     Device path  : None
     WPID         : 40A9
     Codename     : PRO X 2
     Kind         : mouse
     Protocol     : HID++ 4.2
2024-01-28 04:00:21,159,159    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 80600000000000000000000000000000]
2024-01-28 04:00:21,167,167    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:00:21,168,168    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 80610000000000000000000000000000]
2024-01-28 04:00:21,176,176    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 0B000000000000000000000000000000]
2024-01-28 04:00:21,176,176    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B28 00000000000000000000000000000000]
2024-01-28 04:00:21,184,184    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B28 03000000000000000000000000000000]
2024-01-28 04:00:21,185,185    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B2A 00000000000000000000000000000000]
2024-01-28 04:00:21,193,193    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B2A 03000000000000000000000000000000]
     Polling rate : 1ms
     Serial number: D70BBDD1
2024-01-28 04:00:21,193,193    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 00030000000000000000000000000000]
2024-01-28 04:00:21,201,201    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 02000400000000000000000000000000]
2024-01-28 04:00:21,201,201    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 020F 00000000000000000000000000000000]
2024-01-28 04:00:21,210,210    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 020F 02D70BBDD1000C40A9C09B0000010100]
     Model ID:      40A9C09B0000
     Unit ID:       D70BBDD1
2024-01-28 04:00:21,210,210    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 020B 00000000000000000000000000000000]
2024-01-28 04:00:21,218,218    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 020B 02D70BBDD1000C40A9C09B0000010100]
2024-01-28 04:00:21,219,219    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0219 00000000000000000000000000000000]
2024-01-28 04:00:21,227,227    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0219 01424C317100001200AB1CDBC0A7D900]
2024-01-28 04:00:21,227,227    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021E 01000000000000000000000000000000]
2024-01-28 04:00:21,235,235    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021E 004D504D320000120140A9DBC0A7D900]
        Bootloader: BL1 71.00.B0012
          Firmware: MPM 32.00.B0012
2024-01-28 04:00:21,236,236    DEBUG [MainThread] logitech_receiver.base: (4) <= w[10 FF 83B5 300000]
2024-01-28 04:00:21,236,236    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 83B5 30D70BBDD10E40A0000F000000000000]
     Supports 32 HID++ 2.0 features:
2024-01-28 04:00:21,236,236    DEBUG [MainThread] solaar.configuration: load => []
2024-01-28 04:00:21,236,236     INFO [MainThread] solaar.configuration: setting up persister for device PRO X 2
2024-01-28 04:00:21,236,236    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 21200000000000000000000000000000]
2024-01-28 04:00:21,244,244    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 04:00:21,244,244    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 21300000000000000000000000000000]
2024-01-28 04:00:21,252,252    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 04:00:21,252,252    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 21210000000000000000000000000000]
2024-01-28 04:00:21,261,261    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 04:00:21,261,261    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 21100000000000000000000000000000]
2024-01-28 04:00:21,269,269    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 04:00:21,269,269    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 21110000000000000000000000000000]
2024-01-28 04:00:21,278,278    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 04:00:21,278,278    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 21500000000000000000000000000000]
2024-01-28 04:00:21,286,286    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 04:00:21,286,286    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 81000000000000000000000000000000]
2024-01-28 04:00:21,295,295    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 0C000000000000000000000000000000]
2024-01-28 04:00:21,295,295    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature onboard_profiles [ONBOARD PROFILES] detected <Setting([feature:choice] PRO X 2:onboard_profiles=None)>
2024-01-28 04:00:21,295,295    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B18 00000000000000000000000000000000]
2024-01-28 04:00:21,303,303    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B18 001F0000000000000000000000000000]
2024-01-28 04:00:21,303,303    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature report_rate_extended [EXTENDED ADJUSTABLE REPORT RATE] detected None
2024-01-28 04:00:21,303,303    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 22050000000000000000000000000000]
2024-01-28 04:00:21,312,312    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:00:21,312,312    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 22010000000000000000000000000000]
2024-01-28 04:00:21,320,320    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 04:00:21,320,320    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 19820000000000000000000000000000]
2024-01-28 04:00:21,329,329    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 00000000000000000000000000000000]
2024-01-28 04:00:21,329,329    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 19830000000000000000000000000000]
2024-01-28 04:00:21,337,337    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 04:00:21,337,337    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 40A00000000000000000000000000000]
2024-01-28 04:00:21,346,346    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 04:00:21,346,346    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 40A20000000000000000000000000000]
2024-01-28 04:00:21,354,354    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 00000000000000000000000000000000]
2024-01-28 04:00:21,354,354    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 40A30000000000000000000000000000]
2024-01-28 04:00:21,363,363    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 04:00:21,363,363    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 1B040000000000000000000000000000]
2024-01-28 04:00:21,371,371    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 04:00:21,371,371    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 1C000000000000000000000000000000]
2024-01-28 04:00:21,380,380    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 00000000000000000000000000000000]
2024-01-28 04:00:21,380,380    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 45210000000000000000000000000000]
2024-01-28 04:00:21,388,388    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:00:21,388,388    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 46000000000000000000000000000000]
2024-01-28 04:00:21,397,397    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:00:21,397,397    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 80100000000000000000000000000000]
2024-01-28 04:00:21,405,405    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 00000000000000000000000000000000]
2024-01-28 04:00:21,405,405    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 80200000000000000000000000000000]
2024-01-28 04:00:21,414,414    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 04:00:21,414,414    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 80300000000000000000000000000000]
2024-01-28 04:00:21,422,422    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 04:00:21,422,422    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 45310000000000000000000000000000]
2024-01-28 04:00:21,431,431    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 04:00:21,431,431    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 45300000000000000000000000000000]
2024-01-28 04:00:21,439,439    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:00:21,439,439    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 18140000000000000000000000000000]
2024-01-28 04:00:21,448,448    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 00000000000000000000000000000000]
2024-01-28 04:00:21,448,448    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 65010000000000000000000000000000]
2024-01-28 04:00:21,456,456    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 00000000000000000000000000000000]
2024-01-28 04:00:21,456,456    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 83000000000000000000000000000000]
2024-01-28 04:00:21,465,465    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 04:00:21,465,465    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 83100000000000000000000000000000]
2024-01-28 04:00:21,473,473    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 00000000000000000000000000000000]
2024-01-28 04:00:21,473,473    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 1F200000000000000000000000000000]
2024-01-28 04:00:21,482,482    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 00000000000000000000000000000000]
2024-01-28 04:00:21,483,483     INFO [MainThread] solaar.configuration: saved ['1.1.10-30-g81f7d9d', {'_NAME': 'PRO X 2', '_wpid': '40A9', '_serial': 'D70BBDD1', '_modelId': '40A9C09B0000', '_unitId': 'D70BBDD1', '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'report_rate_extended', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management']}] to /home/kane/.config/solaar/config.yaml
2024-01-28 04:00:21,483,483    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 00000000000000000000000000000000]
2024-01-28 04:00:21,490,490    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 00000200000000000000000000000000]
         0: ROOT                   {0000} V0     
2024-01-28 04:00:21,490,490    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 00010000000000000000000000000000]
2024-01-28 04:00:21,499,499    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 01000200000000000000000000000000]
         1: FEATURE SET            {0001} V0     
2024-01-28 04:00:21,499,499    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 00030000000000000000000000000000]
2024-01-28 04:00:21,507,507    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 02000400000000000000000000000000]
         2: DEVICE FW VERSION      {0003} V4     
2024-01-28 04:00:21,507,507    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 020E 00000000000000000000000000000000]
2024-01-28 04:00:21,516,516    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 020E 02D70BBDD1000C40A9C09B0000010100]
2024-01-28 04:00:21,516,516    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021D 00000000000000000000000000000000]
2024-01-28 04:00:21,524,524    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021D 01424C317100001200AB1CDBC0A7D900]
2024-01-28 04:00:21,524,524    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 021B 01000000000000000000000000000000]
2024-01-28 04:00:21,533,533    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 021B 004D504D320000120140A9DBC0A7D900]
            Firmware: Bootloader BL1 71.00.B0012 AB1CDBC0A7D9
            Firmware: Firmware MPM 32.00.B0012 40A9DBC0A7D9
2024-01-28 04:00:21,533,533    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0208 00000000000000000000000000000000]
2024-01-28 04:00:21,541,541    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0208 02D70BBDD1000C40A9C09B0000010100]
            Unit ID: D70BBDD1  Model ID: 40A9C09B0000  Transport IDs: {'wpid': '40A9', 'usbid': 'C09B'}
2024-01-28 04:00:21,542,542    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 00050000000000000000000000000000]
2024-01-28 04:00:21,550,550    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 03000200000000000000000000000000]
         3: DEVICE NAME            {0005} V2     
2024-01-28 04:00:21,550,550    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 030B 00000000000000000000000000000000]
2024-01-28 04:00:21,558,558    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 030B 07000000000000000000000000000000]
2024-01-28 04:00:21,559,559    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 031C 00000000000000000000000000000000]
2024-01-28 04:00:21,567,567    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 031C 50524F20582032000000000000000000]
            Name: PRO X 2
2024-01-28 04:00:21,567,567    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 032B 00000000000000000000000000000000]
2024-01-28 04:00:21,575,575    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 032B 03000000000000000000000000000000]
            Kind: mouse
2024-01-28 04:00:21,576,576    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 04000000000000000000000000000000]
2024-01-28 04:00:21,584,584    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 1D4B0000000000000000000000000000]
2024-01-28 04:00:21,584,584    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 1D4B0000000000000000000000000000]
2024-01-28 04:00:21,592,592    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 04000000000000000000000000000000]
         4: WIRELESS DEVICE STATUS {1D4B} V0     
2024-01-28 04:00:21,593,593    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 05000000000000000000000000000000]
2024-01-28 04:00:21,601,601    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 00200000000000000000000000000000]
2024-01-28 04:00:21,601,601    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 00200000000000000000000000000000]
2024-01-28 04:00:21,609,609    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 05000000000000000000000000000000]
         5: CONFIG CHANGE          {0020} V0     
2024-01-28 04:00:21,610,610    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0118 06000000000000000000000000000000]
2024-01-28 04:00:21,618,618    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0118 10040003000000000000000000000000]
2024-01-28 04:00:21,618,618    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 10040000000000000000000000000000]
2024-01-28 04:00:21,626,626    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 06000300000000000000000000000000]
         6: UNIFIED BATTERY        {1004} V3     
2024-01-28 04:00:21,627,627    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 10000000000000000000000000000000]
2024-01-28 04:00:21,635,635    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 04:00:21,635,635    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 10010000000000000000000000000000]
2024-01-28 04:00:21,643,643    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:00:21,643,643    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 061A 00000000000000000000000000000000]
2024-01-28 04:00:21,652,652    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 061A 61080000000000000000000000000000]
2024-01-28 04:00:21,652,652    DEBUG [MainThread] logitech_receiver.hidpp20: battery unified 97% charged, level 8, charging discharging
2024-01-28 04:00:21,653,653     INFO [MainThread] solaar.configuration: saved ['1.1.10-30-g81f7d9d', {'_NAME': 'PRO X 2', '_wpid': '40A9', '_serial': 'D70BBDD1', '_modelId': '40A9C09B0000', '_unitId': 'D70BBDD1', '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'report_rate_extended', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], '_battery': NamedInt(4100, 'UNIFIED BATTERY')}] to /home/kane/.config/solaar/config.yaml
            Battery: 97%, discharging.
2024-01-28 04:00:21,653,653    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011D 07000000000000000000000000000000]
2024-01-28 04:00:21,658,658    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011D 22500001000000000000000000000000]
2024-01-28 04:00:21,659,659    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 22500000000000000000000000000000]
2024-01-28 04:00:21,667,667    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 07000100000000000000000000000000]
         7: XY STATS               {2250} V1     
2024-01-28 04:00:21,667,667    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 08000000000000000000000000000000]
2024-01-28 04:00:21,675,675    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 22510000000000000000000000000000]
2024-01-28 04:00:21,676,676    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 22510000000000000000000000000000]
2024-01-28 04:00:21,680,680    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 08000000000000000000000000000000]
         8: WHEEL STATS            {2251} V0     
2024-01-28 04:00:21,680,680    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 09000000000000000000000000000000]
2024-01-28 04:00:21,689,689    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 22020000000000000000000000000000]
2024-01-28 04:00:21,689,689    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 22020000000000000000000000000000]
2024-01-28 04:00:21,697,697    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 09000000000000000000000000000000]
         9: EXTENDED ADJUSTABLE DPI {2202} V0     
2024-01-28 04:00:21,697,697    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 0A000000000000000000000000000000]
2024-01-28 04:00:21,706,706    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 80900002000000000000000000000000]
2024-01-28 04:00:21,706,706    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 80900000000000000000000000000000]
2024-01-28 04:00:21,714,714    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 0A000200000000000000000000000000]
        10: MODE STATUS            {8090} V2     
2024-01-28 04:00:21,714,714    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 80610000000000000000000000000000]
2024-01-28 04:00:21,723,723    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 0B000000000000000000000000000000]
        11: EXTENDED ADJUSTABLE REPORT RATE {8061} V0     
2024-01-28 04:00:21,723,723    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0B2A 00000000000000000000000000000000]
2024-01-28 04:00:21,731,731    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0B2A 03000000000000000000000000000000]
            Polling Rate: 1ms
2024-01-28 04:00:21,731,731    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 81000000000000000000000000000000]
2024-01-28 04:00:21,740,740    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 0C000000000000000000000000000000]
        12: ONBOARD PROFILES       {8100} V0     
2024-01-28 04:00:21,740,740    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0C2D 00000000000000000000000000000000]
2024-01-28 04:00:21,748,748    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0C2D 02000000000000000000000000000000]
            Device Mode: Host
2024-01-28 04:00:21,748,748    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0C29 00000000000000000000000000000000]
2024-01-28 04:00:21,757,757    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0C29 02000000000000000000000000000000]
2024-01-28 04:00:21,758,758     INFO [MainThread] solaar.configuration: saved ['1.1.10-30-g81f7d9d', {'_NAME': 'PRO X 2', '_wpid': '40A9', '_serial': 'D70BBDD1', '_modelId': '40A9C09B0000', '_unitId': 'D70BBDD1', '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'report_rate_extended', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], '_battery': NamedInt(4100, 'UNIFIED BATTERY'), 'onboard_profiles': NamedInt(2, 'Disable')}] to /home/kane/.config/solaar/config.yaml
2024-01-28 04:00:21,758,758    DEBUG [MainThread] logitech_receiver.settings: onboard_profiles: read value NamedInt(2, 'Disable') on <Device(1,40A9,PRO X 2,D70BBDD1)>
            Onboard Profiles        : Disable
2024-01-28 04:00:21,758,758    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 0D000000000000000000000000000000]
2024-01-28 04:00:21,765,765    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 81100000000000000000000000000000]
2024-01-28 04:00:21,766,766    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 81100000000000000000000000000000]
2024-01-28 04:00:21,774,774    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 0D000000000000000000000000000000]
        13: MOUSE BUTTON SPY       {8110} V0     
2024-01-28 04:00:21,774,774    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011A 0E000000000000000000000000000000]
2024-01-28 04:00:21,782,782    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011A 15000000000000000000000000000000]
2024-01-28 04:00:21,782,782    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 15000000000000000000000000000000]
2024-01-28 04:00:21,791,791    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 0E000000000000000000000000000000]
        14: FORCE PAIRING          {1500} V0     
2024-01-28 04:00:21,791,791    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 0F000000000000000000000000000000]
2024-01-28 04:00:21,799,799    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 18017000000000000000000000000000]
2024-01-28 04:00:21,799,799    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 18010000000000000000000000000000]
2024-01-28 04:00:21,808,808    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 0F700000000000000000000000000000]
        15: unknown:1801           {1801} V0    internal, hidden, unknown:000010 
2024-01-28 04:00:21,808,808    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 10000000000000000000000000000000]
2024-01-28 04:00:21,816,816    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 18027000000000000000000000000000]
2024-01-28 04:00:21,816,816    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 18020000000000000000000000000000]
2024-01-28 04:00:21,825,825    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 10700000000000000000000000000000]
        16: DEVICE RESET           {1802} V0    internal, hidden, unknown:000010 
2024-01-28 04:00:21,825,825    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 11000000000000000000000000000000]
2024-01-28 04:00:21,833,833    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 18037000000000000000000000000000]
2024-01-28 04:00:21,834,834    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 18030000000000000000000000000000]
2024-01-28 04:00:21,842,842    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 11700000000000000000000000000000]
        17: unknown:1803           {1803} V0    internal, hidden, unknown:000010 
2024-01-28 04:00:21,842,842    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011D 12000000000000000000000000000000]
2024-01-28 04:00:21,850,850    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011D 18067008000000000000000000000000]
2024-01-28 04:00:21,851,851    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0008 18060000000000000000000000000000]
2024-01-28 04:00:21,859,859    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0008 12700800000000000000000000000000]
        18: CONFIG DEVICE PROPS    {1806} V8    internal, hidden, unknown:000010 
2024-01-28 04:00:21,859,859    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011D 13000000000000000000000000000000]
2024-01-28 04:00:21,867,867    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011D 18177000000000000000000000000000]
2024-01-28 04:00:21,868,868    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 18170000000000000000000000000000]
2024-01-28 04:00:21,876,876    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 13700000000000000000000000000000]
        19: unknown:1817           {1817} V0    internal, hidden, unknown:000010 
2024-01-28 04:00:21,876,876    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011C 14000000000000000000000000000000]
2024-01-28 04:00:21,884,884    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011C 18056000000000000000000000000000]
2024-01-28 04:00:21,885,885    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 18050000000000000000000000000000]
2024-01-28 04:00:21,893,893    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 14600000000000000000000000000000]
        20: OOBSTATE               {1805} V0    internal, hidden 
2024-01-28 04:00:21,893,893    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 15000000000000000000000000000000]
2024-01-28 04:00:21,902,902    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 18307000000000000000000000000000]
2024-01-28 04:00:21,902,902    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 18300000000000000000000000000000]
2024-01-28 04:00:21,910,910    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 15700000000000000000000000000000]
        21: unknown:1830           {1830} V0    internal, hidden, unknown:000010 
2024-01-28 04:00:21,910,910    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0118 16000000000000000000000000000000]
2024-01-28 04:00:21,918,918    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0118 18757000000000000000000000000000]
2024-01-28 04:00:21,919,919    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000B 18750000000000000000000000000000]
2024-01-28 04:00:21,927,927    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000B 16700000000000000000000000000000]
        22: unknown:1875           {1875} V0    internal, hidden, unknown:000010 
2024-01-28 04:00:21,927,927    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 17000000000000000000000000000000]
2024-01-28 04:00:21,935,935    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 18617001000000000000000000000000]
2024-01-28 04:00:21,935,935    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000C 18610000000000000000000000000000]
2024-01-28 04:00:21,944,944    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000C 17700100000000000000000000000000]
        23: unknown:1861           {1861} V1    internal, hidden, unknown:000010 
2024-01-28 04:00:21,944,944    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 18000000000000000000000000000000]
2024-01-28 04:00:21,952,952    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 18906809000000000000000000000000]
2024-01-28 04:00:21,952,952    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 18900000000000000000000000000000]
2024-01-28 04:00:21,961,961    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 18680900000000000000000000000000]
        24: unknown:1890           {1890} V9    internal, hidden, unknown:000008 
2024-01-28 04:00:21,961,961    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011D 19000000000000000000000000000000]
2024-01-28 04:00:21,969,969    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011D 18A17000000000000000000000000000]
2024-01-28 04:00:21,969,969    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0009 18A10000000000000000000000000000]
2024-01-28 04:00:21,978,978    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0009 19700000000000000000000000000000]
        25: unknown:18A1           {18A1} V0    internal, hidden, unknown:000010 
2024-01-28 04:00:21,978,978    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011B 1A000000000000000000000000000000]
2024-01-28 04:00:21,986,986    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011B 1E004000000000000000000000000000]
2024-01-28 04:00:21,986,986    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 1E000000000000000000000000000000]
2024-01-28 04:00:21,995,995    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 1A400000000000000000000000000000]
        26: unknown:1E00           {1E00} V0    hidden 
2024-01-28 04:00:21,995,995    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 1B000000000000000000000000000000]
2024-01-28 04:00:22,003,003    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 1E026000000000000000000000000000]
2024-01-28 04:00:22,003,003    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 1E020000000000000000000000000000]
2024-01-28 04:00:22,012,012    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 1B600000000000000000000000000000]
        27: unknown:1E02           {1E02} V0    internal, hidden 
2024-01-28 04:00:22,012,012    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011E 1C000000000000000000000000000000]
2024-01-28 04:00:22,021,021    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011E 1E227001000000000000000000000000]
2024-01-28 04:00:22,021,021    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000A 1E220000000000000000000000000000]
2024-01-28 04:00:22,029,029    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000A 1C700100000000000000000000000000]
        28: unknown:1E22           {1E22} V1    internal, hidden, unknown:000010 
2024-01-28 04:00:22,029,029    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 011F 1D000000000000000000000000000000]
2024-01-28 04:00:22,038,038    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 011F 16020000000000000000000000000000]
2024-01-28 04:00:22,038,038    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 16020000000000000000000000000000]
2024-01-28 04:00:22,046,046    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 1D000000000000000000000000000000]
        29: unknown:1602           {1602} V0     
2024-01-28 04:00:22,046,046    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 1E000000000000000000000000000000]
2024-01-28 04:00:22,055,055    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 1EB07000000000000000000000000000]
2024-01-28 04:00:22,055,055    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000F 1EB00000000000000000000000000000]
2024-01-28 04:00:22,063,063    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000F 1E700000000000000000000000000000]
        30: unknown:1EB0           {1EB0} V0    internal, hidden, unknown:000010 
2024-01-28 04:00:22,064,064    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0119 1F000000000000000000000000000000]
2024-01-28 04:00:22,072,072    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0119 18B17000000000000000000000000000]
2024-01-28 04:00:22,072,072    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000D 18B10000000000000000000000000000]
2024-01-28 04:00:22,080,080    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000D 1F700000000000000000000000000000]
        31: unknown:18B1           {18B1} V0    internal, hidden, unknown:000010 
2024-01-28 04:00:22,080,080    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 000E 1B010000000000000000000000000000]
2024-01-28 04:00:22,089,089    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:00:22,089,089    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 01 0618 00000000000000000000000000000000]
2024-01-28 04:00:22,097,097    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 01 0618 61080000000000000000000000000000]
2024-01-28 04:00:22,097,097    DEBUG [MainThread] logitech_receiver.hidpp20: battery unified 97% charged, level 8, charging discharging
     Battery: 97%, discharging.

```
</details>
@kaneyumin Thanks.  Please run `bin/solaar -ddd` after again removing `~/.config/solaar/config.yaml` if necessary and post the output.
@kaneyumin By the way, the errors in your first run of `bin/solaar -ddd show` are actually Solaar working reasonably well.   Without the hid-parser code Solaar doesn't know what USB interface to use for the receiver and tries the receiver's other interfaces and they don't support the messages Solaar uses.  So Solaar ends up ignoring these interfaces.  With hid-parser installed Solaar doesn't have to go down these blind alleys.
here is the output of `bin/solaar -ddd`

<details>

```
2024-01-28 04:27:02,665,665     INFO [MainThread] root: version 1.1.10-30-g81f7d9d, language en_US (UTF-8)
2024-01-28 04:27:02,796,796     INFO [MainThread] logitech_receiver.diversion: GDK Keymap set up
2024-01-28 04:27:02,806,806    DEBUG [MainThread] solaar.ui.tray: using AppIndicator3
2024-01-28 04:27:02,810,810     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
2024-01-28 04:27:02,833,833    DEBUG [MainThread] solaar.ui: startup registered=True, remote=False
2024-01-28 04:27:02,833,833    DEBUG [AsyncUI] solaar.tasks: started
2024-01-28 04:27:02,833,833     INFO [MainThread] solaar.ui.notify: starting desktop notifications
2024-01-28 04:27:02,835,835    DEBUG [MainThread] solaar.ui.icons: icon theme paths: ['/home/kane/.local/share/icons', '/home/kane/.icons', '/home/kane/.local/share/flatpak/exports/share/icons', '/var/lib/flatpak/exports/share/icons', '/usr/local/share/icons', '/usr/share/icons', '/home/kane/.local/share/flatpak/exports/share/pixmaps', '/var/lib/flatpak/exports/share/pixmaps', '/usr/local/share/pixmaps', '/usr/share/pixmaps']
2024-01-28 04:27:02,842,842  WARNING [MainThread] solaar.ui.icons: failed to detect icons
2024-01-28 04:27:02,866,866     INFO [MainThread] solaar.listener: starting receiver listening threads
2024-01-28 04:27:03,003,003  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw6 BID 0005 VID 0000054C PID 00000268: Expecting 39 usages but got 1
2024-01-28 04:27:03,005,005  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw0 BID 0003 VID 0000046D PID 00000AAF: Expecting 63 usages but got 2
2024-01-28 04:27:03,012,012     INFO [MainThread] hidapi.udev: Found device /dev/hidraw3 BID 0003 VID 0000046D PID 0000C54D HID++ True True USB 2 None
2024-01-28 04:27:03,012,012     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw3', bus_id=3, vendor_id='046D', product_id='C54D', interface=2, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=True, hidpp_long=True)
2024-01-28 04:27:03,012,012     INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw3
2024-01-28 04:27:03,064,064  WARNING [MainThread] logitech_receiver.receiver: Unknown receiver type: C54D
2024-01-28 04:27:03,064,064     INFO [MainThread] logitech_receiver.base: New lock 14
2024-01-28 04:27:03,064,064    DEBUG [MainThread] logitech_receiver.base: (14) <= w[10 FF 83B5 030000]
2024-01-28 04:27:03,064,064    DEBUG [MainThread] logitech_receiver.base: (14) => r[11 FF 83B5 03D4CE5407010208FF00000000000000]
2024-01-28 04:27:03,065,065     INFO [ReceiverListener:hidraw3] logitech_receiver.listener: started with <Receiver(/dev/hidraw3,14)> (14)
2024-01-28 04:27:03,065,065     INFO [ReceiverListener:hidraw3] solaar.listener: <Receiver(/dev/hidraw3,14)>: notifications listener has started (14)
2024-01-28 04:27:03,065,065     INFO [ReceiverListener:hidraw3] logitech_receiver.base: New lock <_ThreadedHandle(/dev/hidraw3)>
2024-01-28 04:27:03,065,065    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8000 100900]
2024-01-28 04:27:03,065,065    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8000 000000]
2024-01-28 04:27:03,065,065    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8100 000000]
2024-01-28 04:27:03,069,069    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8100 000900]
2024-01-28 04:27:03,069,069     INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <Receiver(/dev/hidraw3,14)>: receiver notifications enabled => ('wireless', 'software present')
2024-01-28 04:27:03,069,069    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8002 020000]
2024-01-28 04:27:03,069,069    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 01 4111 32A940]
2024-01-28 04:27:03,070,070    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8002 000000]
2024-01-28 04:27:03,070,070     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed for unknown device
2024-01-28 04:27:03,076,076  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw7 BID 0003 VID 00000951 PID 000016BE: Expecting 3 usages but got 1
2024-01-28 04:27:03,077,077    DEBUG [MainThread] solaar.ui: activate
2024-01-28 04:27:03,079,079    DEBUG [MainThread] solaar.ui: status changed: <Receiver(/dev/hidraw3,14)> (NONE) None
2024-01-28 04:27:03,079,079    DEBUG [MainThread] solaar.ui.window: new receiver row ('/dev/hidraw3', 0, True, 'Receiver', None, None, None, <Receiver(/dev/hidraw3,14)>)
2024-01-28 04:27:04,081,081    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 83B5 400000]
2024-01-28 04:27:04,082,082    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 FF 83B5 400750524F2058203200000000000000]
2024-01-28 04:27:04,082,082     INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <Receiver(/dev/hidraw3,14)>: found new device 1 (40A9)
2024-01-28 04:27:04,082,082    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-28 04:27:04,082,082    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 01 0019 000028]
2024-01-28 04:27:04,106,106    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0019 04022800000000000000000000000000]
2024-01-28 04:27:04,106,106    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000C 00010000000000000000000000000000]
2024-01-28 04:27:04,114,114    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000C 01000200000000000000000000000000]
2024-01-28 04:27:04,115,115    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 010C 00000000000000000000000000000000]
2024-01-28 04:27:04,123,123    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 010C 1F000000000000000000000000000000]
2024-01-28 04:27:04,123,123    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000F 00050000000000000000000000000000]
2024-01-28 04:27:04,131,131    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000F 03000200000000000000000000000000]
2024-01-28 04:27:04,132,132    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0309 00000000000000000000000000000000]
2024-01-28 04:27:04,140,140    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0309 07000000000000000000000000000000]
2024-01-28 04:27:04,140,140    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 031F 00000000000000000000000000000000]
2024-01-28 04:27:04,148,148    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 031F 50524F20582032000000000000000000]
2024-01-28 04:27:04,149,149    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 83B5 300000]
2024-01-28 04:27:04,149,149    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 FF 83B5 30D70BBDD10E40A0000F000000000000]
2024-01-28 04:27:04,106,106     INFO [ReceiverListener:hidraw3] solaar.listener: connection Notification(10,1,41,11,32A940) for <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 04:27:04,149,149     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed for unknown device
2024-01-28 04:27:04,149,149    DEBUG [ReceiverListener:hidraw3] logitech_receiver.notifications: <Device(1,40A9,PRO X 2,D70BBDD1)>: protocol 17 connection notification: software=True, encrypted=True, link=True, payload=False
2024-01-28 04:27:04,150,150    DEBUG [MainThread] solaar.ui: status changed: <Receiver(/dev/hidraw3,14)> (NONE) None
2024-01-28 04:27:04,150,150    DEBUG [ReceiverListener:hidraw3] solaar.configuration: load => []
2024-01-28 04:27:04,150,150    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000A 00030000000000000000000000000000]
2024-01-28 04:27:04,157,157    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000A 02000400000000000000000000000000]
2024-01-28 04:27:04,157,157    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 020F 00000000000000000000000000000000]
2024-01-28 04:27:04,166,166    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 020F 02D70BBDD1000C40A9C09B0000010100]
2024-01-28 04:27:04,166,166     INFO [ReceiverListener:hidraw3] solaar.configuration: setting up persister for device PRO X 2
2024-01-28 04:27:04,166,166    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000C 10000000000000000000000000000000]
2024-01-28 04:27:04,174,174    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 04:27:04,174,174    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000F 10010000000000000000000000000000]
2024-01-28 04:27:04,182,182    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000F 00000000000000000000000000000000]
2024-01-28 04:27:04,183,183    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000D 10040000000000000000000000000000]
2024-01-28 04:27:04,191,191    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000D 06000300000000000000000000000000]
2024-01-28 04:27:04,191,191    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 061B 00000000000000000000000000000000]
2024-01-28 04:27:04,199,199    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 061B 60080000000000000000000000000000]
2024-01-28 04:27:04,200,200    DEBUG [ReceiverListener:hidraw3] logitech_receiver.hidpp20: battery unified 96% charged, level 8, charging discharging
2024-01-28 04:27:04,200,200    DEBUG [ReceiverListener:hidraw3] logitech_receiver.status: <Device(1,40A9,PRO X 2,D70BBDD1)>: battery 96, discharging
2024-01-28 04:27:04,200,200    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-28 04:27:04,200,200    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 001C 00005500000000000000000000000000]
2024-01-28 04:27:04,208,208    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 001C 04025500000000000000000000000000]
2024-01-28 04:27:04,208,208     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <Device(1,40A9,PRO X 2,D70BBDD1)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
2024-01-28 04:27:04,208,208    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0009 21200000000000000000000000000000]
2024-01-28 04:27:04,208,208    DEBUG [MainThread] solaar.ui: status changed: <Device(1,40A9,PRO X 2,D70BBDD1)> (NONE) None
2024-01-28 04:27:04,209,209  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 04:27:04,209,209    DEBUG [MainThread] solaar.ui.tray: picked device with lowest battery: ('/dev/hidraw3', 1, 'PRO X 2', {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None})
2024-01-28 04:27:04,209,209    DEBUG [MainThread] solaar.ui.window: new device row ('/dev/hidraw3', 1, True, 'PRO X 2', 'input-mouse', None, None, <Device(1,40A9,PRO X 2,D70BBDD1)>) at index 0
2024-01-28 04:27:04,209,209  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 04:27:04,216,216    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0009 00000000000000000000000000000000]
2024-01-28 04:27:04,217,217    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000D 21300000000000000000000000000000]
2024-01-28 04:27:04,225,225    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 04:27:04,225,225    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000D 21210000000000000000000000000000]
2024-01-28 04:27:04,233,233    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 04:27:04,234,234    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 21100000000000000000000000000000]
2024-01-28 04:27:04,242,242    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 04:27:04,242,242    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000D 21110000000000000000000000000000]
2024-01-28 04:27:04,250,250    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 04:27:04,251,251    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 21500000000000000000000000000000]
2024-01-28 04:27:04,259,259    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 04:27:04,259,259    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000C 81000000000000000000000000000000]
2024-01-28 04:27:04,267,267    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000C 0C000000000000000000000000000000]
2024-01-28 04:27:04,268,268    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings_templates: check_feature onboard_profiles [ONBOARD PROFILES] detected <Setting([feature:choice] PRO X 2:onboard_profiles=None)>
2024-01-28 04:27:04,268,268    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000C 80600000000000000000000000000000]
2024-01-28 04:27:04,276,276    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 04:27:04,276,276    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000A 80610000000000000000000000000000]
2024-01-28 04:27:04,284,284    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000A 0B000000000000000000000000000000]
2024-01-28 04:27:04,285,285    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0B1D 00000000000000000000000000000000]
2024-01-28 04:27:04,293,293    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B1D 001F0000000000000000000000000000]
2024-01-28 04:27:04,293,293    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings_templates: check_feature report_rate_extended [EXTENDED ADJUSTABLE REPORT RATE] detected None
2024-01-28 04:27:04,293,293    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 22050000000000000000000000000000]
2024-01-28 04:27:04,301,301    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 04:27:04,302,302    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 22010000000000000000000000000000]
2024-01-28 04:27:04,310,310    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:27:04,310,310    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 19820000000000000000000000000000]
2024-01-28 04:27:04,318,318    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:27:04,319,319    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000D 19830000000000000000000000000000]
2024-01-28 04:27:04,327,327    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 04:27:04,327,327    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 40A00000000000000000000000000000]
2024-01-28 04:27:04,335,335    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 04:27:04,336,336    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000D 40A20000000000000000000000000000]
2024-01-28 04:27:04,344,344    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 04:27:04,344,344    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 40A30000000000000000000000000000]
2024-01-28 04:27:04,352,352    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 04:27:04,353,353    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 1B040000000000000000000000000000]
2024-01-28 04:27:04,361,361    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 04:27:04,361,361    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 1C000000000000000000000000000000]
2024-01-28 04:27:04,369,369    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 04:27:04,370,370    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 45210000000000000000000000000000]
2024-01-28 04:27:04,378,378    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:27:04,378,378    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 46000000000000000000000000000000]
2024-01-28 04:27:04,386,386    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 04:27:04,387,387    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 80100000000000000000000000000000]
2024-01-28 04:27:04,395,395    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:27:04,395,395    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000B 80200000000000000000000000000000]
2024-01-28 04:27:04,403,403    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000B 00000000000000000000000000000000]
2024-01-28 04:27:04,404,404    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0009 80300000000000000000000000000000]
2024-01-28 04:27:04,412,412    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0009 00000000000000000000000000000000]
2024-01-28 04:27:04,412,412    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000C 45310000000000000000000000000000]
2024-01-28 04:27:04,420,420    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 04:27:04,421,421    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 45300000000000000000000000000000]
2024-01-28 04:27:04,429,429    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 04:27:04,429,429    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000A 18140000000000000000000000000000]
2024-01-28 04:27:04,437,437    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 04:27:04,438,438    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000D 65010000000000000000000000000000]
2024-01-28 04:27:04,446,446    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 04:27:04,446,446    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000D 83000000000000000000000000000000]
2024-01-28 04:27:04,454,454    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 04:27:04,455,455    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000A 83100000000000000000000000000000]
2024-01-28 04:27:04,463,463    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 04:27:04,463,463    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000A 1F200000000000000000000000000000]
2024-01-28 04:27:04,471,471    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 04:27:04,472,472     INFO [ReceiverListener:hidraw3] logitech_receiver.status: <Device(1,40A9,PRO X 2,D70BBDD1)> pushing device settings [<Setting([feature:choice] PRO X 2:onboard_profiles=None)>]
2024-01-28 04:27:04,472,472    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: apply (<Device(1,40A9,PRO X 2,D70BBDD1)>)
2024-01-28 04:27:04,472,472    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0C2D 00000000000000000000000000000000]
2024-01-28 04:27:04,480,480    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0C2D 02000000000000000000000000000000]
2024-01-28 04:27:04,480,480    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: read value NamedInt(2, 'Disable') on <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 04:27:04,480,480    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: write NamedInt(2, 'Disable') to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 04:27:04,480,480    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: prepare write(Disable) => b'\x02'
2024-01-28 04:27:04,480,480    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0C18 02000000000000000000000000000000]
2024-01-28 04:27:04,488,488    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0C18 00000000000000000000000000000000]
2024-01-28 04:27:04,489,489    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-28 04:27:04,489,489    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 001B 0000BE00000000000000000000000000]
2024-01-28 04:27:04,497,497    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 001B 0402BE00000000000000000000000000]
2024-01-28 04:27:04,497,497     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <Device(1,40A9,PRO X 2,D70BBDD1)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
2024-01-28 04:27:04,497,497    DEBUG [MainThread] solaar.ui: status changed: <Device(1,40A9,PRO X 2,D70BBDD1)> (NONE) None
2024-01-28 04:27:04,497,497  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 04:27:04,498,498    DEBUG [MainThread] solaar.ui.tray: picked device with lowest battery: ('/dev/hidraw3', 1, 'PRO X 2', {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None})
2024-01-28 04:27:04,498,498  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 04:27:04,498,498  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 04:27:04,500,500    DEBUG [AsyncUI] logitech_receiver.settings: onboard_profiles: cached value NamedInt(2, 'Disable') on <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 04:27:09,201,201     INFO [MainThread] solaar.configuration: saved ['1.1.10-30-g81f7d9d', {'_NAME': 'PRO X 2', '_wpid': '40A9', '_serial': 'D70BBDD1', '_modelId': '40A9C09B0000', '_unitId': 'D70BBDD1', '_battery': NamedInt(4100, 'UNIFIED BATTERY'), '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'report_rate_extended', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], 'onboard_profiles': NamedInt(2, 'Disable')}] to /home/kane/.config/solaar/config.yaml
```
</details>
@kaneyumin Thanks.  There are a couple of bugs.  Please download the new version of the PR and try `bin/solaar show`.   If there are no errors, try `bin/solaar -ddd` and try changing the Polling Frequency setting, after setting Onboard Profiles to Disable.  Post the output.
This mouse uses Onboard Profiles, which is a very complex feature and is not supported by Solaar (yet).   So there are things that can be done to the mouse but that can't be done using Solaar.  All that Solaar can do with Onboard Profiles is to turn it off so that, for example, the Polling Frequency can be adjusted.
By the way, there are public descriptions of some of the features of the device in https://drive.google.com/drive/folders/0BxbRzx7vEV7eWmgwazJ3NUFfQ28  

The feature numbers output by `solaar show` form the first part of the file names.
The other feature for this mouse that can be implemented in Solaar is an extended adjustable DPI.  Documentation on this feature is available at https://drive.google.com/drive/folders/0BxbRzx7vEV7eWmgwazJ3NUFfQ28?resourcekey=0-dQ-Lx1FORQl0KAdOHQaE1A  It's a moderately complex feature and implementation will take some back-and-forth.  The first thing to do is to get some information on the feature on the mouse by probing it using hidconsole - a tool to send HID++ messages to a device.  This tool is in the tools directory of the Solaar repository so to use it you can go to where you downloaded Solaar and run `tools/hidconsole /dev/hidrawN`, taking N from the device Path that is shown when you click on the little light bulb icon (or whatever the attention icon is for you) in the Solaar main window.

HID++ messages can be of several lengths but probaby the best way to go here is to use one length that is likely to work for all messages.  The messages start with four one-byte fields - a length code, a device index, a feature offset, and a feature message ID.  These four fields are echoed in responses to valid messages.   The messages then contain fields specific to the feature and message.  
For extended adjustable DPI on this mouse *when connected via the receiver* the first three fields are x11, x01, and x09.  

The first thing to do is to see how many sensors the mouse has.  This can be done by sending

11 01 090F 00000000000000000000000000000000

(the blanks are ignored and only serve as formatting).  The response should look something like

11 01 090F 02000000000000000000000000000000

showing two sensors.  I'm not sure whether this mouse has more than one sensor and it may be that Solaar will only ever support one sensor.

The next step is to probe each sensor using 

11 01 091F NN000000000000000000000000000000

for NN less than the number of sensors.

This returns information about the sensor in the form

11 01 091F NNXXBB00000000000000000000000000

Then probe each sensor to find out the resolutions in both X and Y directions using

11 01 092F NN000000000000000000000000000000
11 01 092F NN010000000000000000000000000000

Finally, probe for the current and default resolutions using

11 01 095F NN000000000000000000000000000000


Here is the output:

<details>

```
2024-01-28 10:16:11,427,427     INFO [MainThread] root: version 1.1.10-30-g12ea5b3, language en_US (UTF-8)
2024-01-28 10:16:11,555,555     INFO [MainThread] logitech_receiver.diversion: GDK Keymap set up
2024-01-28 10:16:11,565,565    DEBUG [MainThread] solaar.ui.tray: using AppIndicator3
2024-01-28 10:16:11,569,569     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
2024-01-28 10:16:11,590,590    DEBUG [MainThread] solaar.ui: startup registered=True, remote=False
2024-01-28 10:16:11,590,590    DEBUG [AsyncUI] solaar.tasks: started
2024-01-28 10:16:11,591,591     INFO [MainThread] solaar.ui.notify: starting desktop notifications
2024-01-28 10:16:11,592,592    DEBUG [MainThread] solaar.ui.icons: icon theme paths: ['/home/kane/.local/share/icons', '/home/kane/.icons', '/home/kane/.local/share/flatpak/exports/share/icons', '/var/lib/flatpak/exports/share/icons', '/usr/local/share/icons', '/usr/share/icons', '/home/kane/.local/share/flatpak/exports/share/pixmaps', '/var/lib/flatpak/exports/share/pixmaps', '/usr/local/share/pixmaps', '/usr/share/pixmaps']
2024-01-28 10:16:11,599,599  WARNING [MainThread] solaar.ui.icons: failed to detect icons
2024-01-28 10:16:11,623,623     INFO [MainThread] solaar.listener: starting receiver listening threads
2024-01-28 10:16:11,727,727  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw0 BID 0003 VID 0000046D PID 00000AAF: Expecting 63 usages but got 2
2024-01-28 10:16:11,733,733     INFO [MainThread] hidapi.udev: Found device /dev/hidraw3 BID 0003 VID 0000046D PID 0000C54D HID++ True True USB 2 None
2024-01-28 10:16:11,733,733     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw3', bus_id=3, vendor_id='046D', product_id='C54D', interface=2, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=True, hidpp_long=True)
2024-01-28 10:16:11,733,733     INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw3
2024-01-28 10:16:11,784,784  WARNING [MainThread] logitech_receiver.receiver: Unknown receiver type: C54D
2024-01-28 10:16:11,784,784     INFO [MainThread] logitech_receiver.base: New lock 14
2024-01-28 10:16:11,784,784    DEBUG [MainThread] logitech_receiver.base: (14) <= w[10 FF 83B5 030000]
2024-01-28 10:16:11,785,785    DEBUG [MainThread] logitech_receiver.base: (14) => r[11 FF 83B5 03D4CE5407010208FF00000000000000]
2024-01-28 10:16:11,785,785     INFO [ReceiverListener:hidraw3] logitech_receiver.listener: started with <Receiver(/dev/hidraw3,14)> (14)
2024-01-28 10:16:11,785,785     INFO [ReceiverListener:hidraw3] solaar.listener: <Receiver(/dev/hidraw3,14)>: notifications listener has started (14)
2024-01-28 10:16:11,785,785     INFO [ReceiverListener:hidraw3] logitech_receiver.base: New lock <_ThreadedHandle(/dev/hidraw3)>
2024-01-28 10:16:11,785,785    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8000 100900]
2024-01-28 10:16:11,788,788    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8000 000000]
2024-01-28 10:16:11,788,788    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8100 000000]
2024-01-28 10:16:11,789,789    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8100 000900]
2024-01-28 10:16:11,789,789     INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <Receiver(/dev/hidraw3,14)>: receiver notifications enabled => ('wireless', 'software present')
2024-01-28 10:16:11,790,790    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8002 020000]
2024-01-28 10:16:11,794,794  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw6 BID 0003 VID 00000951 PID 000016BE: Expecting 3 usages but got 1
2024-01-28 10:16:11,794,794    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 01 4111 B2A940]
2024-01-28 10:16:11,795,795    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8002 000000]
2024-01-28 10:16:11,795,795     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed for unknown device
2024-01-28 10:16:11,795,795    DEBUG [MainThread] solaar.ui: activate
2024-01-28 10:16:11,796,796    DEBUG [MainThread] solaar.ui: status changed: <Receiver(/dev/hidraw3,14)> (NONE) None
2024-01-28 10:16:11,797,797    DEBUG [MainThread] solaar.ui.window: new receiver row ('/dev/hidraw3', 0, True, 'Receiver', None, None, None, <Receiver(/dev/hidraw3,14)>)
2024-01-28 10:16:12,810,810    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 83B5 400000]
2024-01-28 10:16:12,810,810    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 FF 83B5 400750524F2058203200000000000000]
2024-01-28 10:16:12,810,810     INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <Receiver(/dev/hidraw3,14)>: found new device 1 (40A9)
2024-01-28 10:16:12,810,810    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-28 10:16:12,810,810    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 01 001D 000040]
2024-01-28 10:16:13,011,011    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 001D 04024000000000000000000000000000]
2024-01-28 10:16:13,011,011    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000F 00010000000000000000000000000000]
2024-01-28 10:16:13,014,014    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000F 01000200000000000000000000000000]
2024-01-28 10:16:13,014,014    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0109 00000000000000000000000000000000]
2024-01-28 10:16:13,016,016    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0109 1F000000000000000000000000000000]
2024-01-28 10:16:13,017,017    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 00050000000000000000000000000000]
2024-01-28 10:16:13,018,018    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 03000200000000000000000000000000]
2024-01-28 10:16:13,019,019    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0309 00000000000000000000000000000000]
2024-01-28 10:16:13,021,021    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0309 07000000000000000000000000000000]
2024-01-28 10:16:13,021,021    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 031A 00000000000000000000000000000000]
2024-01-28 10:16:13,023,023    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 031A 50524F20582032000000000000000000]
2024-01-28 10:16:13,023,023    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 83B5 300000]
2024-01-28 10:16:13,024,024    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 FF 83B5 30D70BBDD10E40A0000F000000000000]
2024-01-28 10:16:13,011,011     INFO [ReceiverListener:hidraw3] solaar.listener: connection Notification(10,1,41,11,B2A940) for <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 10:16:13,024,024     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed for unknown device
2024-01-28 10:16:13,024,024    DEBUG [ReceiverListener:hidraw3] logitech_receiver.notifications: <Device(1,40A9,PRO X 2,D70BBDD1)>: protocol 17 connection notification: software=True, encrypted=True, link=True, payload=True
2024-01-28 10:16:13,024,024    DEBUG [MainThread] solaar.ui: status changed: <Receiver(/dev/hidraw3,14)> (NONE) None
2024-01-28 10:16:13,028,028    DEBUG [ReceiverListener:hidraw3] solaar.configuration: load => ['1.1.10-30-g12ea5b3', {'_NAME': 'PRO X 2', '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], '_battery': 4100, '_modelId': '40A9C09B0000', '_sensitive': {'hires-scroll-mode': 'ignore', 'hires-smooth-invert': 'ignore', 'hires-smooth-resolution': 'ignore'}, '_serial': 'D70BBDD1', '_unitId': 'D70BBDD1', '_wpid': '40A9', 'onboard_profiles': 2}]
2024-01-28 10:16:13,028,028    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000B 00030000000000000000000000000000]
2024-01-28 10:16:13,030,030    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000B 02000400000000000000000000000000]
2024-01-28 10:16:13,030,030    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0208 00000000000000000000000000000000]
2024-01-28 10:16:13,032,032    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0208 02D70BBDD1000C40A9C09B0000010100]
2024-01-28 10:16:13,032,032    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000D 10040000000000000000000000000000]
2024-01-28 10:16:13,034,034    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000D 06000300000000000000000000000000]
2024-01-28 10:16:13,034,034    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 061A 00000000000000000000000000000000]
2024-01-28 10:16:13,036,036    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 061A 60080000000000000000000000000000]
2024-01-28 10:16:13,036,036    DEBUG [ReceiverListener:hidraw3] logitech_receiver.hidpp20: battery unified 96% charged, level 8, charging discharging
2024-01-28 10:16:13,036,036    DEBUG [ReceiverListener:hidraw3] logitech_receiver.status: <Device(1,40A9,PRO X 2,D70BBDD1)>: battery 96, discharging
2024-01-28 10:16:13,036,036    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-28 10:16:13,036,036    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 001A 00004A00000000000000000000000000]
2024-01-28 10:16:13,038,038    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 001A 04024A00000000000000000000000000]
2024-01-28 10:16:13,038,038     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <Device(1,40A9,PRO X 2,D70BBDD1)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
2024-01-28 10:16:13,038,038    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000C 81000000000000000000000000000000]
2024-01-28 10:16:13,038,038    DEBUG [MainThread] solaar.ui: status changed: <Device(1,40A9,PRO X 2,D70BBDD1)> (NONE) None
2024-01-28 10:16:13,038,038  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 10:16:13,039,039    DEBUG [MainThread] solaar.ui.tray: picked device with lowest battery: ('/dev/hidraw3', 1, 'PRO X 2', {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None})
2024-01-28 10:16:13,039,039    DEBUG [MainThread] solaar.ui.window: new device row ('/dev/hidraw3', 1, True, 'PRO X 2', 'input-mouse', None, None, <Device(1,40A9,PRO X 2,D70BBDD1)>) at index 0
2024-01-28 10:16:13,040,040    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000C 0C000000000000000000000000000000]
2024-01-28 10:16:13,040,040    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings_templates: check_feature onboard_profiles [ONBOARD PROFILES] detected <Setting([feature:choice] PRO X 2:onboard_profiles=None)>
2024-01-28 10:16:13,040,040    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 80610000000000000000000000000000]
2024-01-28 10:16:13,040,040  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 10:16:13,041,041    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 0B000000000000000000000000000000]
2024-01-28 10:16:13,041,041    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0B1C 00000000000000000000000000000000]
2024-01-28 10:16:13,043,043    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B1C 001F0000000000000000000000000000]
2024-01-28 10:16:13,044,044    ERROR [ReceiverListener:hidraw3] logitech_receiver.settings_templates: check_feature report_rate_extended [EXTENDED ADJUSTABLE REPORT RATE] error 'list' object has no attribute 'items'
Traceback (most recent call last):
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/settings_templates.py", line 1311, in check_feature
    detected = sclass.build(device)
               ^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/settings.py", line 233, in build
    validator = validator_class.build(cls, device, **cls.validator_options)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/settings_templates.py", line 407, in build
    return cls(choices=_NamedInts(rate_list), byte_count=1) if rate_list else None
                       ^^^^^^^^^^^^^^^^^^^^^
  File "/home/kane/Downloads/Solaar/lib/logitech_receiver/common.py", line 96, in __init__
    values = {k: NamedInt(v, _readable_name(k)) for (k, v) in elements.items()}
                                                              ^^^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'items'

2024-01-28 10:16:13,044,044     INFO [ReceiverListener:hidraw3] logitech_receiver.status: <Device(1,40A9,PRO X 2,D70BBDD1)> pushing device settings [<Setting([feature:choice] PRO X 2:onboard_profiles=None)>]
2024-01-28 10:16:13,044,044    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000A 21210000000000000000000000000000]
2024-01-28 10:16:13,045,045    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 10:16:13,046,046    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: apply (<Device(1,40A9,PRO X 2,D70BBDD1)>)
2024-01-28 10:16:13,046,046    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: cached value 2 on <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 10:16:13,046,046    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: write 2 to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 10:16:13,046,046    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: prepare write(2) => b'\x02'
2024-01-28 10:16:13,046,046    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0C1B 02000000000000000000000000000000]
2024-01-28 10:16:13,047,047    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0C1B 00000000000000000000000000000000]
2024-01-28 10:16:13,047,047    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-28 10:16:13,047,047    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 001A 00009100000000000000000000000000]
2024-01-28 10:16:13,049,049    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 001A 04029100000000000000000000000000]
2024-01-28 10:16:13,049,049     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <Device(1,40A9,PRO X 2,D70BBDD1)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
2024-01-28 10:16:13,049,049    DEBUG [MainThread] solaar.ui: status changed: <Device(1,40A9,PRO X 2,D70BBDD1)> (NONE) None
2024-01-28 10:16:13,049,049  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 10:16:13,049,049    DEBUG [MainThread] solaar.ui.tray: picked device with lowest battery: ('/dev/hidraw3', 1, 'PRO X 2', {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None})
2024-01-28 10:16:13,050,050  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 10:16:13,050,050  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 10:16:13,053,053    DEBUG [AsyncUI] logitech_receiver.settings: onboard_profiles: cached value 2 on <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 10:16:15,093,093    DEBUG [AsyncUI] logitech_receiver.settings: onboard_profiles: write 2 to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 10:16:15,093,093    DEBUG [AsyncUI] logitech_receiver.settings: onboard_profiles: prepare write(2) => b'\x02'
2024-01-28 10:16:15,093,093     INFO [AsyncUI] hidapi.udev: OPEN PATH /dev/hidraw3
2024-01-28 10:16:15,093,093    DEBUG [AsyncUI] logitech_receiver.base: (17) <= w[11 01 0C19 02000000000000000000000000000000]
2024-01-28 10:16:15,101,101    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0C19 00000000000000000000000000000000]
2024-01-28 10:16:15,101,101    DEBUG [AsyncUI] logitech_receiver.base: (17) => r[11 01 0C19 00000000000000000000000000000000]
2024-01-28 10:16:19,651,651     INFO [MainThread] solaar.configuration: saved ['1.1.10-30-g12ea5b3', {'_NAME': 'PRO X 2', '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], '_battery': 4100, '_modelId': '40A9C09B0000', '_sensitive': {'hires-scroll-mode': 'ignore', 'hires-smooth-invert': 'ignore', 'hires-smooth-resolution': 'ignore', 'onboard_profiles': True}, '_serial': 'D70BBDD1', '_unitId': 'D70BBDD1', '_wpid': '40A9', 'onboard_profiles': 2}] to /home/kane/.config/solaar/config.yaml
```
</details>

It seems I still do not have an option to change the polling rate

![image](https://github.com/pwr-Solaar/Solaar/assets/85457501/d188f47e-324c-471a-8431-aaa5d191b541)

Yes, a stupid bug.  Please try again.

You may have to remove ~/.config/solaar/config.yaml before Solaar attempts to try to add the setting.
Okay, it seems to work great. 

![image](https://github.com/pwr-Solaar/Solaar/assets/85457501/dac2ff8c-6589-4910-a7d0-ef18bb64f3bf)

<details>

```

2024-01-28 14:56:31,619,619     INFO [MainThread] root: version 1.1.10-30-g5dd540a, language en_US (UTF-8)
2024-01-28 14:56:31,738,738     INFO [MainThread] logitech_receiver.diversion: GDK Keymap set up
2024-01-28 14:56:31,747,747    DEBUG [MainThread] solaar.ui.tray: using AppIndicator3
2024-01-28 14:56:31,750,750     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
2024-01-28 14:56:31,772,772    DEBUG [MainThread] solaar.ui: startup registered=True, remote=False
2024-01-28 14:56:31,773,773    DEBUG [AsyncUI] solaar.tasks: started
2024-01-28 14:56:31,773,773     INFO [MainThread] solaar.ui.notify: starting desktop notifications
2024-01-28 14:56:31,775,775    DEBUG [MainThread] solaar.ui.icons: icon theme paths: ['/home/kane/.local/share/icons', '/home/kane/.icons', '/home/kane/.local/share/flatpak/exports/share/icons', '/var/lib/flatpak/exports/share/icons', '/usr/local/share/icons', '/usr/share/icons', '/home/kane/.local/share/flatpak/exports/share/pixmaps', '/var/lib/flatpak/exports/share/pixmaps', '/usr/local/share/pixmaps', '/usr/share/pixmaps']
2024-01-28 14:56:31,782,782  WARNING [MainThread] solaar.ui.icons: failed to detect icons
2024-01-28 14:56:31,806,806     INFO [MainThread] solaar.listener: starting receiver listening threads
2024-01-28 14:56:31,929,929  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw0 BID 0003 VID 0000046D PID 00000AAF: Expecting 63 usages but got 2
2024-01-28 14:56:31,935,935     INFO [MainThread] hidapi.udev: Found device /dev/hidraw3 BID 0003 VID 0000046D PID 0000C54D HID++ True True USB 2 None
2024-01-28 14:56:31,935,935     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw3', bus_id=3, vendor_id='046D', product_id='C54D', interface=2, driver='hid-generic', manufacturer=None, product=None, serial='376139693332', release=None, isDevice=False, hidpp_short=True, hidpp_long=True)
2024-01-28 14:56:31,935,935     INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw3
2024-01-28 14:56:31,986,986  WARNING [MainThread] logitech_receiver.receiver: Unknown receiver type: C54D
2024-01-28 14:56:31,986,986     INFO [MainThread] logitech_receiver.base: New lock 14
2024-01-28 14:56:31,986,986    DEBUG [MainThread] logitech_receiver.base: (14) <= w[10 FF 83B5 030000]
2024-01-28 14:56:31,987,987    DEBUG [MainThread] logitech_receiver.base: (14) => r[11 FF 83B5 03D4CE5407010208FF00000000000000]
2024-01-28 14:56:31,988,988     INFO [ReceiverListener:hidraw3] logitech_receiver.listener: started with <Receiver(/dev/hidraw3,14)> (14)
2024-01-28 14:56:31,988,988     INFO [ReceiverListener:hidraw3] solaar.listener: <Receiver(/dev/hidraw3,14)>: notifications listener has started (14)
2024-01-28 14:56:31,988,988     INFO [ReceiverListener:hidraw3] logitech_receiver.base: New lock <_ThreadedHandle(/dev/hidraw3)>
2024-01-28 14:56:31,988,988    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8000 100900]
2024-01-28 14:56:31,988,988    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8000 000000]
2024-01-28 14:56:31,988,988    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8100 000000]
2024-01-28 14:56:31,991,991    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8100 000900]
2024-01-28 14:56:31,992,992     INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <Receiver(/dev/hidraw3,14)>: receiver notifications enabled => ('wireless', 'software present')
2024-01-28 14:56:31,992,992    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 8002 020000]
2024-01-28 14:56:31,993,993    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 01 4111 32A940]
2024-01-28 14:56:31,993,993    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[10 FF 8002 000000]
2024-01-28 14:56:31,993,993     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed for unknown device
2024-01-28 14:56:31,999,999  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for DEVICE /dev/hidraw6 BID 0003 VID 00000951 PID 000016BE: Expecting 3 usages but got 1
2024-01-28 14:56:32,000,000    DEBUG [MainThread] solaar.ui: activate
2024-01-28 14:56:32,001,001    DEBUG [MainThread] solaar.ui: status changed: <Receiver(/dev/hidraw3,14)> (NONE) None
2024-01-28 14:56:32,001,001    DEBUG [MainThread] solaar.ui.window: new receiver row ('/dev/hidraw3', 0, True, 'Receiver', None, None, None, <Receiver(/dev/hidraw3,14)>)
2024-01-28 14:56:33,004,004    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 83B5 400000]
2024-01-28 14:56:33,005,005    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 FF 83B5 400750524F2058203200000000000000]
2024-01-28 14:56:33,005,005     INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <Receiver(/dev/hidraw3,14)>: found new device 1 (40A9)
2024-01-28 14:56:33,005,005    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-28 14:56:33,005,005    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 01 001B 000082]
2024-01-28 14:56:33,020,020    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 001B 04028200000000000000000000000000]
2024-01-28 14:56:33,020,020    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 00010000000000000000000000000000]
2024-01-28 14:56:33,023,023    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 01000200000000000000000000000000]
2024-01-28 14:56:33,023,023    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 010B 00000000000000000000000000000000]
2024-01-28 14:56:33,025,025    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 010B 1F000000000000000000000000000000]
2024-01-28 14:56:33,025,025    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000C 00050000000000000000000000000000]
2024-01-28 14:56:33,027,027    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000C 03000200000000000000000000000000]
2024-01-28 14:56:33,027,027    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 030E 00000000000000000000000000000000]
2024-01-28 14:56:33,029,029    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 030E 07000000000000000000000000000000]
2024-01-28 14:56:33,029,029    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 031C 00000000000000000000000000000000]
2024-01-28 14:56:33,031,031    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 031C 50524F20582032000000000000000000]
2024-01-28 14:56:33,031,031    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[10 FF 83B5 300000]
2024-01-28 14:56:33,031,031    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 FF 83B5 30D70BBDD10E40A0000F000000000000]
2024-01-28 14:56:33,020,020     INFO [ReceiverListener:hidraw3] solaar.listener: connection Notification(10,1,41,11,32A940) for <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:33,031,031     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed for unknown device
2024-01-28 14:56:33,032,032    DEBUG [ReceiverListener:hidraw3] logitech_receiver.notifications: <Device(1,40A9,PRO X 2,D70BBDD1)>: protocol 17 connection notification: software=True, encrypted=True, link=True, payload=False
2024-01-28 14:56:33,032,032    DEBUG [MainThread] solaar.ui: status changed: <Receiver(/dev/hidraw3,14)> (NONE) None
2024-01-28 14:56:33,032,032    DEBUG [ReceiverListener:hidraw3] solaar.configuration: load => []
2024-01-28 14:56:33,032,032    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 00030000000000000000000000000000]
2024-01-28 14:56:33,034,034    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 02000400000000000000000000000000]
2024-01-28 14:56:33,034,034    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0209 00000000000000000000000000000000]
2024-01-28 14:56:33,035,035    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0209 02D70BBDD1000C40A9C09B0000010100]
2024-01-28 14:56:33,035,035     INFO [ReceiverListener:hidraw3] solaar.configuration: setting up persister for device PRO X 2
2024-01-28 14:56:33,035,035    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000B 10000000000000000000000000000000]
2024-01-28 14:56:33,037,037    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000B 00000000000000000000000000000000]
2024-01-28 14:56:33,037,037    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000C 10010000000000000000000000000000]
2024-01-28 14:56:33,039,039    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 14:56:33,039,039    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 10040000000000000000000000000000]
2024-01-28 14:56:33,040,040    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 06000300000000000000000000000000]
2024-01-28 14:56:33,040,040    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0619 00000000000000000000000000000000]
2024-01-28 14:56:33,042,042    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0619 61080000000000000000000000000000]
2024-01-28 14:56:33,042,042    DEBUG [ReceiverListener:hidraw3] logitech_receiver.hidpp20: battery unified 97% charged, level 8, charging discharging
2024-01-28 14:56:33,042,042    DEBUG [ReceiverListener:hidraw3] logitech_receiver.status: <Device(1,40A9,PRO X 2,D70BBDD1)>: battery 97, discharging
2024-01-28 14:56:33,042,042    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-28 14:56:33,042,042    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0019 0000A100000000000000000000000000]
2024-01-28 14:56:33,044,044    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0019 0402A100000000000000000000000000]
2024-01-28 14:56:33,044,044     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <Device(1,40A9,PRO X 2,D70BBDD1)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 97, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
2024-01-28 14:56:33,044,044    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0009 21200000000000000000000000000000]
2024-01-28 14:56:33,044,044    DEBUG [MainThread] solaar.ui: status changed: <Device(1,40A9,PRO X 2,D70BBDD1)> (NONE) None
2024-01-28 14:56:33,044,044  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 14:56:33,045,045    DEBUG [MainThread] solaar.ui.tray: picked device with lowest battery: ('/dev/hidraw3', 1, 'PRO X 2', {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 97, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None})
2024-01-28 14:56:33,045,045    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0009 00000000000000000000000000000000]
2024-01-28 14:56:33,045,045    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000B 21300000000000000000000000000000]
2024-01-28 14:56:33,046,046    DEBUG [MainThread] solaar.ui.window: new device row ('/dev/hidraw3', 1, True, 'PRO X 2', 'input-mouse', None, None, <Device(1,40A9,PRO X 2,D70BBDD1)>) at index 0
2024-01-28 14:56:33,046,046  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 14:56:33,047,047    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000B 00000000000000000000000000000000]
2024-01-28 14:56:33,047,047    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000C 21210000000000000000000000000000]
2024-01-28 14:56:33,048,048    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 14:56:33,048,048    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000B 21100000000000000000000000000000]
2024-01-28 14:56:33,050,050    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000B 00000000000000000000000000000000]
2024-01-28 14:56:33,050,050    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 21110000000000000000000000000000]
2024-01-28 14:56:33,051,051    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 14:56:33,051,051    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000F 21500000000000000000000000000000]
2024-01-28 14:56:33,053,053    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000F 00000000000000000000000000000000]
2024-01-28 14:56:33,053,053    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000C 81000000000000000000000000000000]
2024-01-28 14:56:33,054,054    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000C 0C000000000000000000000000000000]
2024-01-28 14:56:33,054,054    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings_templates: check_feature onboard_profiles [ONBOARD PROFILES] detected <Setting([feature:choice] PRO X 2:onboard_profiles=None)>
2024-01-28 14:56:33,054,054    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 80600000000000000000000000000000]
2024-01-28 14:56:33,056,056    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 14:56:33,056,056    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 80610000000000000000000000000000]
2024-01-28 14:56:33,057,057    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 0B000000000000000000000000000000]
2024-01-28 14:56:33,057,057    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0B1E 00000000000000000000000000000000]
2024-01-28 14:56:33,059,059    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B1E 001F0000000000000000000000000000]
2024-01-28 14:56:33,059,059    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings_templates: check_feature report_rate_extended [EXTENDED ADJUSTABLE REPORT RATE] detected <Setting([feature:choice] PRO X 2:report_rate_extended=None)>
2024-01-28 14:56:33,059,059    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 22050000000000000000000000000000]
2024-01-28 14:56:33,060,060    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 14:56:33,060,060    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0009 22010000000000000000000000000000]
2024-01-28 14:56:33,062,062    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0009 00000000000000000000000000000000]
2024-01-28 14:56:33,062,062    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 19820000000000000000000000000000]
2024-01-28 14:56:33,063,063    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 14:56:33,063,063    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 19830000000000000000000000000000]
2024-01-28 14:56:33,065,065    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 14:56:33,065,065    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000B 40A00000000000000000000000000000]
2024-01-28 14:56:33,066,066    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000B 00000000000000000000000000000000]
2024-01-28 14:56:33,066,066    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 40A20000000000000000000000000000]
2024-01-28 14:56:33,068,068    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 14:56:33,068,068    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000F 40A30000000000000000000000000000]
2024-01-28 14:56:33,069,069    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000F 00000000000000000000000000000000]
2024-01-28 14:56:33,069,069    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 1B040000000000000000000000000000]
2024-01-28 14:56:33,071,071    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 14:56:33,071,071    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000A 1C000000000000000000000000000000]
2024-01-28 14:56:33,072,072    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 14:56:33,072,072    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000D 45210000000000000000000000000000]
2024-01-28 14:56:33,074,074    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000D 00000000000000000000000000000000]
2024-01-28 14:56:33,074,074    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000F 46000000000000000000000000000000]
2024-01-28 14:56:33,075,075    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000F 00000000000000000000000000000000]
2024-01-28 14:56:33,075,075    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0009 80100000000000000000000000000000]
2024-01-28 14:56:33,077,077    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0009 00000000000000000000000000000000]
2024-01-28 14:56:33,077,077    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000F 80200000000000000000000000000000]
2024-01-28 14:56:33,078,078    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000F 00000000000000000000000000000000]
2024-01-28 14:56:33,078,078    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 80300000000000000000000000000000]
2024-01-28 14:56:33,080,080    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 14:56:33,080,080    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000B 45310000000000000000000000000000]
2024-01-28 14:56:33,081,081    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000B 00000000000000000000000000000000]
2024-01-28 14:56:33,081,081    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000C 45300000000000000000000000000000]
2024-01-28 14:56:33,083,083    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000C 00000000000000000000000000000000]
2024-01-28 14:56:33,083,083    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 18140000000000000000000000000000]
2024-01-28 14:56:33,084,084    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 14:56:33,084,084    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000A 65010000000000000000000000000000]
2024-01-28 14:56:33,086,086    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000A 00000000000000000000000000000000]
2024-01-28 14:56:33,086,086    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0008 83000000000000000000000000000000]
2024-01-28 14:56:33,087,087    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0008 00000000000000000000000000000000]
2024-01-28 14:56:33,087,087    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 000E 83100000000000000000000000000000]
2024-01-28 14:56:33,089,089    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 000E 00000000000000000000000000000000]
2024-01-28 14:56:33,089,089    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0009 1F200000000000000000000000000000]
2024-01-28 14:56:33,090,090    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0009 00000000000000000000000000000000]
2024-01-28 14:56:33,090,090     INFO [ReceiverListener:hidraw3] logitech_receiver.status: <Device(1,40A9,PRO X 2,D70BBDD1)> pushing device settings [<Setting([feature:choice] PRO X 2:onboard_profiles=None)>, <Setting([feature:choice] PRO X 2:report_rate_extended=None)>]
2024-01-28 14:56:33,090,090    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: apply (<Device(1,40A9,PRO X 2,D70BBDD1)>)
2024-01-28 14:56:33,090,090    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0C2B 00000000000000000000000000000000]
2024-01-28 14:56:33,092,092    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0C2B 01000000000000000000000000000000]
2024-01-28 14:56:33,092,092    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: read value NamedInt(1, 'Enable') on <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:33,092,092    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: write NamedInt(1, 'Enable') to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:33,092,092    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: onboard_profiles: prepare write(Enable) => b'\x01'
2024-01-28 14:56:33,092,092    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0C1A 01000000000000000000000000000000]
2024-01-28 14:56:33,093,093    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0C1A 00000000000000000000000000000000]
2024-01-28 14:56:33,093,093    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: report_rate_extended: apply (<Device(1,40A9,PRO X 2,D70BBDD1)>)
2024-01-28 14:56:33,093,093    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0B2E 00000000000000000000000000000000]
2024-01-28 14:56:33,095,095    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B2E 03000000000000000000000000000000]
2024-01-28 14:56:33,095,095    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: report_rate_extended: read value NamedInt(3, '1ms') on <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:33,095,095    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: report_rate_extended: write NamedInt(3, '1ms') to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:33,095,095    DEBUG [ReceiverListener:hidraw3] logitech_receiver.settings: report_rate_extended: prepare write(1ms) => b'\x03'
2024-01-28 14:56:33,095,095    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 0B3D 03000000000000000000000000000000]
2024-01-28 14:56:33,096,096    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 FF0B 3D020000000000000000000000000000]
2024-01-28 14:56:33,096,096    ERROR [ReceiverListener:hidraw3] logitech_receiver.base: (14) device 1 error on feature request {0B3D}: 2 = invalid argument
2024-01-28 14:56:33,096,096  WARNING [ReceiverListener:hidraw3] logitech_receiver.settings: report_rate_extended: error applying value 1ms so ignore it (<Device(1,40A9,PRO X 2,D70BBDD1)>)
2024-01-28 14:56:33,096,096    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-28 14:56:33,096,096    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 001A 00000600000000000000000000000000]
2024-01-28 14:56:33,098,098    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 001A 04020600000000000000000000000000]
2024-01-28 14:56:33,098,098     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <Device(1,40A9,PRO X 2,D70BBDD1)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 97, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
2024-01-28 14:56:33,098,098    DEBUG [MainThread] solaar.ui: status changed: <Device(1,40A9,PRO X 2,D70BBDD1)> (NONE) None
2024-01-28 14:56:33,098,098  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 14:56:33,098,098    DEBUG [MainThread] solaar.ui.tray: picked device with lowest battery: ('/dev/hidraw3', 1, 'PRO X 2', {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 97, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None})
2024-01-28 14:56:33,099,099  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 14:56:33,099,099  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 14:56:33,100,100    DEBUG [AsyncUI] logitech_receiver.settings: onboard_profiles: cached value NamedInt(1, 'Enable') on <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:33,101,101    DEBUG [AsyncUI] logitech_receiver.settings: report_rate_extended: cached value NamedInt(3, '1ms') on <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:35,977,977    DEBUG [AsyncUI] logitech_receiver.settings: onboard_profiles: write NamedInt(1, 'Enable') to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:35,977,977    DEBUG [AsyncUI] logitech_receiver.settings: onboard_profiles: prepare write(Enable) => b'\x01'
2024-01-28 14:56:35,977,977     INFO [AsyncUI] hidapi.udev: OPEN PATH /dev/hidraw3
2024-01-28 14:56:35,977,977    DEBUG [AsyncUI] logitech_receiver.base: (17) <= w[11 01 0C19 01000000000000000000000000000000]
2024-01-28 14:56:35,985,985    DEBUG [AsyncUI] logitech_receiver.base: (17) => r[11 01 0C19 00000000000000000000000000000000]
2024-01-28 14:56:35,985,985    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0C19 00000000000000000000000000000000]
2024-01-28 14:56:37,167,167    DEBUG [AsyncUI] logitech_receiver.settings: onboard_profiles: write 2 to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:37,167,167    DEBUG [AsyncUI] logitech_receiver.settings: onboard_profiles: prepare write(2) => b'\x02'
2024-01-28 14:56:37,167,167    DEBUG [AsyncUI] logitech_receiver.base: (17) <= w[11 01 0C1C 02000000000000000000000000000000]
2024-01-28 14:56:37,172,172    DEBUG [AsyncUI] logitech_receiver.base: (17) => r[11 01 0C1C 00000000000000000000000000000000]
2024-01-28 14:56:37,172,172    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0C1C 00000000000000000000000000000000]
2024-01-28 14:56:38,044,044     INFO [MainThread] solaar.configuration: saved ['1.1.10-30-g5dd540a', {'_NAME': 'PRO X 2', '_wpid': '40A9', '_serial': 'D70BBDD1', '_modelId': '40A9C09B0000', '_unitId': 'D70BBDD1', '_battery': NamedInt(4100, 'UNIFIED BATTERY'), '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], 'onboard_profiles': 2, 'report_rate_extended': NamedInt(3, '1ms'), '_sensitive': {'onboard_profiles': True}}] to /home/kane/.config/solaar/config.yaml
2024-01-28 14:56:39,173,173    DEBUG [AsyncUI] logitech_receiver.settings: report_rate_extended: write NamedInt(3, '1ms') to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:39,173,173    DEBUG [AsyncUI] logitech_receiver.settings: report_rate_extended: prepare write(1ms) => b'\x03'
2024-01-28 14:56:39,173,173    DEBUG [AsyncUI] logitech_receiver.base: (17) <= w[11 01 0B3A 03000000000000000000000000000000]
2024-01-28 14:56:39,181,181    DEBUG [AsyncUI] logitech_receiver.base: (17) => r[11 01 0B3A 00000000000000000000000000000000]
2024-01-28 14:56:39,181,181    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B3A 00000000000000000000000000000000]
2024-01-28 14:56:39,182,182    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B00 01030000000000000000000000000000]
2024-01-28 14:56:39,182,182    DEBUG [ReceiverListener:hidraw3] logitech_receiver.notifications: <Device(1,40A9,PRO X 2,D70BBDD1)>: notification for feature EXTENDED ADJUSTABLE REPORT RATE, report 0, data 01030000000000000000000000000000
2024-01-28 14:56:39,185,185    DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,0B,00,01030000000000000000000000000000)
2024-01-28 14:56:39,186,186    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/kane/.config/solaar/rules.yaml)[], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2024-01-28 14:56:39,186,186    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/kane/.config/solaar/rules.yaml)[]
2024-01-28 14:56:39,186,186    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]
2024-01-28 14:56:39,186,186    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]
2024-01-28 14:56:39,186,186    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click]
2024-01-28 14:56:39,186,186    DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Down (pressed)
2024-01-28 14:56:39,186,186    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]
2024-01-28 14:56:39,186,186    DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Up (pressed)
2024-01-28 14:56:43,031,031    DEBUG [AsyncUI] logitech_receiver.settings: report_rate_extended: write 4 to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:43,031,031    DEBUG [AsyncUI] logitech_receiver.settings: report_rate_extended: prepare write(4) => b'\x04'
2024-01-28 14:56:43,031,031    DEBUG [AsyncUI] logitech_receiver.base: (17) <= w[11 01 0B3B 04000000000000000000000000000000]
2024-01-28 14:56:43,035,035    DEBUG [AsyncUI] logitech_receiver.base: (17) => r[11 01 0B3B 00000000000000000000000000000000]
2024-01-28 14:56:43,035,035    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B3B 00000000000000000000000000000000]
2024-01-28 14:56:43,035,035    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B00 01040000000000000000000000000000]
2024-01-28 14:56:43,036,036    DEBUG [ReceiverListener:hidraw3] logitech_receiver.notifications: <Device(1,40A9,PRO X 2,D70BBDD1)>: notification for feature EXTENDED ADJUSTABLE REPORT RATE, report 0, data 01040000000000000000000000000000
2024-01-28 14:56:43,036,036    DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,0B,00,01040000000000000000000000000000)
2024-01-28 14:56:43,036,036    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/kane/.config/solaar/rules.yaml)[], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2024-01-28 14:56:43,036,036    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/kane/.config/solaar/rules.yaml)[]
2024-01-28 14:56:43,036,036    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]
2024-01-28 14:56:43,036,036    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]
2024-01-28 14:56:43,036,036    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click]
2024-01-28 14:56:43,036,036    DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Down (pressed)
2024-01-28 14:56:43,036,036    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]
2024-01-28 14:56:43,036,036    DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Up (pressed)
2024-01-28 14:56:43,709,709     INFO [MainThread] solaar.configuration: saved ['1.1.10-30-g5dd540a', {'_NAME': 'PRO X 2', '_wpid': '40A9', '_serial': 'D70BBDD1', '_modelId': '40A9C09B0000', '_unitId': 'D70BBDD1', '_battery': NamedInt(4100, 'UNIFIED BATTERY'), '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], 'onboard_profiles': 2, 'report_rate_extended': 4, '_sensitive': {'onboard_profiles': True, 'report_rate_extended': True}}] to /home/kane/.config/solaar/config.yaml
2024-01-28 14:56:46,597,597    DEBUG [AsyncUI] logitech_receiver.settings: report_rate_extended: write 0 to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:56:46,597,597    DEBUG [AsyncUI] logitech_receiver.settings: report_rate_extended: prepare write(0) => b'\x00'
2024-01-28 14:56:46,597,597    DEBUG [AsyncUI] logitech_receiver.base: (17) <= w[11 01 0B3B 00000000000000000000000000000000]
2024-01-28 14:56:46,605,605    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B3B 00000000000000000000000000000000]
2024-01-28 14:56:46,605,605    DEBUG [AsyncUI] logitech_receiver.base: (17) => r[11 01 0B3B 00000000000000000000000000000000]
2024-01-28 14:56:46,612,612    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B00 01000000000000000000000000000000]
2024-01-28 14:56:46,612,612    DEBUG [ReceiverListener:hidraw3] logitech_receiver.notifications: <Device(1,40A9,PRO X 2,D70BBDD1)>: notification for feature EXTENDED ADJUSTABLE REPORT RATE, report 0, data 01000000000000000000000000000000
2024-01-28 14:56:46,612,612    DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,0B,00,01000000000000000000000000000000)
2024-01-28 14:56:46,612,612    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/kane/.config/solaar/rules.yaml)[], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2024-01-28 14:56:46,612,612    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/kane/.config/solaar/rules.yaml)[]
2024-01-28 14:56:46,612,612    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]
2024-01-28 14:56:46,612,612    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]
2024-01-28 14:56:46,612,612    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click]
2024-01-28 14:56:46,612,612    DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Down (pressed)
2024-01-28 14:56:46,612,612    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]
2024-01-28 14:56:46,612,612    DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Up (pressed)
2024-01-28 14:56:51,599,599     INFO [MainThread] solaar.configuration: saved ['1.1.10-30-g5dd540a', {'_NAME': 'PRO X 2', '_wpid': '40A9', '_serial': 'D70BBDD1', '_modelId': '40A9C09B0000', '_unitId': 'D70BBDD1', '_battery': NamedInt(4100, 'UNIFIED BATTERY'), '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], 'onboard_profiles': 2, 'report_rate_extended': 0, '_sensitive': {'onboard_profiles': True, 'report_rate_extended': True}}] to /home/kane/.config/solaar/config.yaml
2024-01-28 14:56:57,589,589    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0600 60080000000000000000000000000000]
2024-01-28 14:56:57,589,589    DEBUG [ReceiverListener:hidraw3] logitech_receiver.notifications: <Device(1,40A9,PRO X 2,D70BBDD1)>: notification for feature UNIFIED BATTERY, report 0, data 60080000000000000000000000000000
2024-01-28 14:56:57,589,589    DEBUG [ReceiverListener:hidraw3] logitech_receiver.hidpp20: battery unified 96% charged, level 8, charging discharging
2024-01-28 14:56:57,589,589    DEBUG [ReceiverListener:hidraw3] logitech_receiver.status: <Device(1,40A9,PRO X 2,D70BBDD1)>: battery 96, discharging
2024-01-28 14:56:57,589,589    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) pinging device 1
2024-01-28 14:56:57,589,589    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) <= w[11 01 001F 0000A000000000000000000000000000]
2024-01-28 14:56:57,605,605    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 001F 0402A000000000000000000000000000]
2024-01-28 14:56:57,605,605     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <Device(1,40A9,PRO X 2,D70BBDD1)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
2024-01-28 14:56:57,605,605    DEBUG [MainThread] solaar.ui: status changed: <Device(1,40A9,PRO X 2,D70BBDD1)> (NONE) None
2024-01-28 14:56:57,605,605  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 14:56:57,605,605    DEBUG [MainThread] solaar.ui.tray: picked device with lowest battery: ('/dev/hidraw3', 1, 'PRO X 2', {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 96, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': None, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None})
2024-01-28 14:56:57,606,606  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 14:56:57,606,606  WARNING [MainThread] solaar.ui.icons: icon battery-full not found in current theme
2024-01-28 14:56:57,606,606    DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,06,00,60080000000000000000000000000000)
2024-01-28 14:56:57,607,607    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/kane/.config/solaar/rules.yaml)[], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2024-01-28 14:56:57,607,607    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/kane/.config/solaar/rules.yaml)[]
2024-01-28 14:56:57,607,607    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]
2024-01-28 14:56:57,607,607    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]
2024-01-28 14:56:57,607,607    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click]
2024-01-28 14:56:57,607,607    DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Down (pressed)
2024-01-28 14:56:57,607,607    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]
2024-01-28 14:56:57,607,607    DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Up (pressed)
2024-01-28 14:57:00,112,112    DEBUG [AsyncUI] logitech_receiver.settings: report_rate_extended: write 4 to <Device(1,40A9,PRO X 2,D70BBDD1)>
2024-01-28 14:57:00,112,112    DEBUG [AsyncUI] logitech_receiver.settings: report_rate_extended: prepare write(4) => b'\x04'
2024-01-28 14:57:00,112,112    DEBUG [AsyncUI] logitech_receiver.base: (17) <= w[11 01 0B3B 04000000000000000000000000000000]
2024-01-28 14:57:00,125,125    DEBUG [AsyncUI] logitech_receiver.base: (17) => r[11 01 0B3B 00000000000000000000000000000000]
2024-01-28 14:57:00,125,125    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B3B 00000000000000000000000000000000]
2024-01-28 14:57:00,126,126    DEBUG [ReceiverListener:hidraw3] logitech_receiver.base: (14) => r[11 01 0B00 01040000000000000000000000000000]
2024-01-28 14:57:00,126,126    DEBUG [ReceiverListener:hidraw3] logitech_receiver.notifications: <Device(1,40A9,PRO X 2,D70BBDD1)>: notification for feature EXTENDED ADJUSTABLE REPORT RATE, report 0, data 01040000000000000000000000000000
2024-01-28 14:57:00,129,129    DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,0B,00,01040000000000000000000000000000)
2024-01-28 14:57:00,129,129    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/kane/.config/solaar/rules.yaml)[], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2024-01-28 14:57:00,129,129    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/kane/.config/solaar/rules.yaml)[]
2024-01-28 14:57:00,129,129    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]
2024-01-28 14:57:00,129,129    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]
2024-01-28 14:57:00,129,129    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click]
2024-01-28 14:57:00,130,130    DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Down (pressed)
2024-01-28 14:57:00,130,130    DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]
2024-01-28 14:57:00,130,130    DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Up (pressed)
2024-01-28 14:57:05,114,114     INFO [MainThread] solaar.configuration: saved ['1.1.10-30-g5dd540a', {'_NAME': 'PRO X 2', '_wpid': '40A9', '_serial': 'D70BBDD1', '_modelId': '40A9C09B0000', '_unitId': 'D70BBDD1', '_battery': NamedInt(4100, 'UNIFIED BATTERY'), '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'report_rate', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], 'onboard_profiles': 2, 'report_rate_extended': 4, '_sensitive': {'onboard_profiles': True, 'report_rate_extended': True}}] to /home/kane/.config/solaar/config.yaml

```
</details>

Will there be a way to change the DPI as well?
Hopefully, but I need information on how the feature is implemented on this mouse.   See my message above. 
@kaneyumin @DexterHaxxor I need help to implement adjustable DPI as described about five comments above.
@kaneyumin @DexterHaxxor Most of the fancy features of this mouse use Onboard Profiles, which is a complex feature not currently implemented in Solaar.  Support for this feature may not be coming for quite some time.

Resolving patch:
diff --git a/lib/logitech_receiver/hidpp20.py b/lib/logitech_receiver/hidpp20.py
--- a/lib/logitech_receiver/hidpp20.py
+++ b/lib/logitech_receiver/hidpp20.py
@@ -1372,10 +1372,6 @@ def show(self):
 _yaml.SafeLoader.add_constructor("!OnboardProfiles", OnboardProfiles.from_yaml)
 _yaml.add_representer(OnboardProfiles, OnboardProfiles.to_yaml)
 
-#
-#
-#
-
 
 def feature_request(device, feature, function=0x00, *params, no_reply=False):
     if device.online and device.features:
diff --git a/lib/logitech_receiver/settings_templates.py b/lib/logitech_receiver/settings_templates.py
--- a/lib/logitech_receiver/settings_templates.py
+++ b/lib/logitech_receiver/settings_templates.py
@@ -738,7 +738,7 @@ def build(cls, setting_class, device):
 
 class DpiSlidingXY(_RawXYProcessing):
     def activate_action(self):
-        self.dpiSetting = next(filter(lambda s: s.name == "dpi", self.device.settings), None)
+        self.dpiSetting = next(filter(lambda s: s.name == "dpi" or s.name == "dpi_extended", self.device.settings), None)
         self.dpiChoices = list(self.dpiSetting.choices)
         self.otherDpiIdx = self.device.persister.get("_dpi-sliding", -1) if self.device.persister else -1
         if not isinstance(self.otherDpiIdx, int) or self.otherDpiIdx < 0 or self.otherDpiIdx >= len(self.dpiChoices):
@@ -801,7 +801,7 @@ def move_action(self, dx, dy):
 
 class MouseGesturesXY(_RawXYProcessing):
     def activate_action(self):
-        self.dpiSetting = next(filter(lambda s: s.name == "dpi", self.device.settings), None)
+        self.dpiSetting = next(filter(lambda s: s.name == "dpi" or s.name == "dpi_extended", self.device.settings), None)
         self.fsmState = "idle"
         self.initialize_data()
 
@@ -932,39 +932,47 @@ def build(cls, setting_class, device):
             return validator
 
 
-class AdjustableDpi(_Setting):
-    """Pointer Speed feature"""
+def produce_dpi_list(feature, function, ignore, device, direction):
+    dpi_bytes = b""
+    for i in range(0, 0x100):  # there will be only a very few iterations performed
+        reply = device.feature_request(feature, function, 0x00, direction, i)
+        assert reply, "Oops, DPI list cannot be retrieved!"
+        dpi_bytes += reply[ignore:]
+        if dpi_bytes[-2:] == b"\x00\x00":
+            break
+    dpi_list = []
+    i = 0
+    while i < len(dpi_bytes):
+        val = _bytes2int(dpi_bytes[i : i + 2])
+        if val == 0:
+            break
+        if val >> 13 == 0b111:
+            step = val & 0x1FFF
+            last = _bytes2int(dpi_bytes[i + 2 : i + 4])
+            assert len(dpi_list) > 0 and last > dpi_list[-1], f"Invalid DPI list item: {val!r}"
+            dpi_list += range(dpi_list[-1] + step, last + 1, step)
+            i += 4
+        else:
+            dpi_list.append(val)
+            i += 2
+    return dpi_list
+
 
-    # Assume sensorIdx 0 (there is only one sensor)
-    # [2] getSensorDpi(sensorIdx) -> sensorIdx, dpiMSB, dpiLSB
-    # [3] setSensorDpi(sensorIdx, dpi)
+class AdjustableDpi(_Setting):
     name = "dpi"
     label = _("Sensitivity (DPI)")
     description = _("Mouse movement sensitivity")
     feature = _F.ADJUSTABLE_DPI
     rw_options = {"read_fnid": 0x20, "write_fnid": 0x30}
-    choices_universe = _NamedInts.range(200, 4000, str, 50)
+    choices_universe = _NamedInts.range(100, 4000, str, 50)
 
     class validator_class(_ChoicesV):
         @classmethod
         def build(cls, setting_class, device):
-            # [1] getSensorDpiList(sensorIdx)
-            reply = device.feature_request(_F.ADJUSTABLE_DPI, 0x10)
-            assert reply, "Oops, DPI list cannot be retrieved!"
-            dpi_list = []
-            step = None
-            for val in _unpack("!7H", reply[1 : 1 + 14]):
-                if val == 0:
-                    break
-                if val >> 13 == 0b111:
-                    assert step is None and len(dpi_list) == 1, f"Invalid DPI list item: {val!r}"
-                    step = val & 0x1FFF
-                else:
-                    dpi_list.append(val)
-            if step:
-                assert len(dpi_list) == 2, f"Invalid DPI list range: {dpi_list!r}"
-                dpi_list = range(dpi_list[0], dpi_list[1] + 1, step)
-            return cls(choices=_NamedInts.list(dpi_list), byte_count=3) if dpi_list else None
+            dpilist = produce_dpi_list(setting_class.feature, 0x10, 1, device, 0)
+            setting = cls(choices=_NamedInts.list(dpilist), byte_count=2, write_prefix_bytes=b"\x00") if dpilist else None
+            setting.dpilist = dpilist
+            return setting
 
         def validate_read(self, reply_bytes):  # special validator to use default DPI if needed
             reply_value = _bytes2int(reply_bytes[1:3])
@@ -975,6 +983,82 @@ def validate_read(self, reply_bytes):  # special validator to use default DPI if
             return valid_value
 
 
+class ExtendedAdjustableDpi(_Setting):
+    # the extended version allows for two dimensions, longer dpi descriptions, but still assume only one sensor
+    name = "dpi_extended"
+    label = _("Sensitivity (DPI)")
+    description = _("Mouse movement sensitivity") + "\n" + _("May need Onboard Profiles set to Disable to be effective.")
+    feature = _F.EXTENDED_ADJUSTABLE_DPI
+    rw_options = {"read_fnid": 0x50, "write_fnid": 0x60}
+    keys_universe = _NamedInts(X=0, Y=1, LOD=2)
+    choices_universe = _NamedInts.range(100, 4000, str, 50)
+    choices_universe[0] = "LOW"
+    choices_universe[1] = "MEDIUM"
+    choices_universe[2] = "HIGH"
+    keys = _NamedInts(X=0, Y=1, LOD=2)
+
+    def write_key_value(self, key, value, save=True):
+        if isinstance(self._value, dict):
+            self._value[key] = value
+        else:
+            self._value = {key: value}
+        result = self.write(self._value, save)
+        return result[key] if isinstance(result, dict) else result
+
+    class validator_class(_ChoicesMapV):
+        @classmethod
+        def build(cls, setting_class, device):
+            reply = device.feature_request(setting_class.feature, 0x10, 0x00)
+            y = bool(reply[2] & 0x01)
+            lod = bool(reply[2] & 0x02)
+            choices_map = {}
+            dpilist_x = produce_dpi_list(setting_class.feature, 0x20, 3, device, 0)
+            choices_map[setting_class.keys["X"]] = _NamedInts.list(dpilist_x)
+            if y:
+                dpilist_y = produce_dpi_list(setting_class.feature, 0x20, 3, device, 1)
+                choices_map[setting_class.keys["Y"]] = _NamedInts.list(dpilist_y)
+            if lod:
+                choices_map[setting_class.keys["LOD"]] = _NamedInts(LOW=0, MEDIUM=1, HIGH=2)
+            validator = cls(choices_map=choices_map, byte_count=2, write_prefix_bytes=b"\x00")
+            validator.y = y
+            validator.lod = lod
+            validator.keys = setting_class.keys
+            return validator
+
+        def validate_read(self, reply_bytes):  # special validator to read entire setting
+            dpi_x = _bytes2int(reply_bytes[3:5]) if reply_bytes[1:3] == 0 else _bytes2int(reply_bytes[1:3])
+            assert dpi_x in self.choices[0], f"{self.__class__.__name__}: failed to validate dpi_x value {dpi_x:04X}"
+            value = {self.keys["X"]: dpi_x}
+            if self.y:
+                dpi_y = _bytes2int(reply_bytes[7:9]) if reply_bytes[5:7] == 0 else _bytes2int(reply_bytes[5:7])
+                assert dpi_y in self.choices[1], f"{self.__class__.__name__}: failed to validate dpi_y value {dpi_y:04X}"
+                value[self.keys["Y"]] = dpi_y
+            if self.lod:
+                lod = reply_bytes[9]
+                assert lod in self.choices[2], f"{self.__class__.__name__}: failed to validate lod value {lod:02X}"
+                value[self.keys["LOD"]] = lod
+            return value
+
+        def prepare_write(self, new_value, current_value=None):  # special preparer to write entire setting
+            data_bytes = self._write_prefix_bytes
+            if new_value[self.keys["X"]] not in self.choices[self.keys["X"]]:
+                raise ValueError(f"invalid value {new_value!r}")
+            data_bytes += _int2bytes(new_value[0], 2)
+            if self.y:
+                if new_value[self.keys["Y"]] not in self.choices[self.keys["Y"]]:
+                    raise ValueError(f"invalid value {new_value!r}")
+                data_bytes += _int2bytes(new_value[self.keys["Y"]], 2)
+            else:
+                data_bytes += b"\x00\x00"
+            if self.lod:
+                if new_value[self.keys["LOD"]] not in self.choices[self.keys["LOD"]]:
+                    raise ValueError(f"invalid value {new_value!r}")
+                data_bytes += _int2bytes(new_value[self.keys["LOD"]], 1)
+            else:
+                data_bytes += b"\x00"
+            return data_bytes
+
+
 class SpeedChange(_Setting):
     """Implements the ability to switch Sensitivity by clicking on the DPI_Change button."""
 
@@ -1632,6 +1716,7 @@ def build(cls, setting_class, device):
     ExtendedReportRate,
     PointerSpeed,  # simple
     AdjustableDpi,  # working
+    ExtendedAdjustableDpi,
     SpeedChange,
     #    Backlight,  # not working - disabled temporarily
     Backlight2,  # working


Test patch:
diff --git a/tests/logitech_receiver/test_setting_templates.py b/tests/logitech_receiver/test_setting_templates.py
--- a/tests/logitech_receiver/test_setting_templates.py
+++ b/tests/logitech_receiver/test_setting_templates.py
@@ -383,42 +383,24 @@ class FeatureTest:
     Setup(
         FeatureTest(settings_templates.AdjustableDpi, 800, 400, version=0x03),
         common.NamedInts.list([400, 800, 1600]),
-        hidpp.Response("000190032006400000000000000000", 0x0410),
+        hidpp.Response("000190032006400000", 0x0410, "000000"),
         hidpp.Response("000320", 0x0420),
         hidpp.Response("000190", 0x0430, "000190"),
     ),
     Setup(
-        FeatureTest(settings_templates.AdjustableDpi, 1600, 400, version=0x03),
-        common.NamedInts.list([400, 800, 1600]),
-        hidpp.Response("000190032006400000000000000000", 0x0410),
-        hidpp.Response("0000000640", 0x0420),
-        hidpp.Response("000190", 0x0430, "000190"),
+        FeatureTest(settings_templates.AdjustableDpi, 256, 512, version=0x03),
+        common.NamedInts.list([256, 512]),
+        hidpp.Response("000100e10002000000", 0x0410, "000000"),
+        hidpp.Response("000100", 0x0420),
+        hidpp.Response("000200", 0x0430, "000200"),
     ),
     Setup(
         FeatureTest(settings_templates.AdjustableDpi, 400, 800, version=0x03),
         common.NamedInts.list([400, 800, 1200, 1600]),
-        hidpp.Response("000190E19006400000000000000000", 0x0410),
+        hidpp.Response("000190E19006400000000000000000", 0x0410, "000000"),
         hidpp.Response("000190", 0x0420),
         hidpp.Response("000320", 0x0430, "000320"),
     ),
-    #    Setup(
-    #        FeatureTest(settings_templates.ExtendedAdjustableDpi, 256, 512, version=0x09),
-    #        common.NamedInts.list([256, 512]),
-    #        hidpp.Response("000000", 0x0910, "00"),  # no y direction
-    #        hidpp.Response("0000000100e10002000000", 0x0920, "000000"),
-    #        hidpp.Response("000100", 0x0950),
-    #        hidpp.Response("000200", 0x0960, "000200"),
-    #    ),
-    #    Setup(
-    #        FeatureTest(settings_templates.ExtendedAdjustableDpi, 0x64, 0x164, version=0x09),
-    #        common.NamedInts.list([0x064, 0x074, 0x084, 0x0A4, 0x0C4, 0x0E4, 0x0124, 0x0164, 0x01C4]),
-    #        hidpp.Response("000001", 0x0910, "00"),  # supports y direction
-    #        hidpp.Response("0000000064E0100084E02000C4E02000", 0x0920, "000000"),
-    #        hidpp.Response("000001E4E0400124E0400164E06001C4", 0x0920, "000001"),
-    #        hidpp.Response("00000000000000000000000000000000", 0x0920, "000002"),
-    #        hidpp.Response("000064", 0x0950),
-    #        hidpp.Response("0001640164", 0x0960, "0001640164"),
-    #    ),
     Setup(
         FeatureTest(settings_templates.Multiplatform, 0, 1),
         common.NamedInts(**{"MacOS 0.1-0.5": 0, "iOS 0.1-0.7": 1, "Linux 0.2-0.9": 2, "Windows 0.3-0.9": 3}),
@@ -613,6 +595,48 @@ def test_simple_template(test, mocker, mock_gethostname):
         hidpp.Response("02FF0000", 0x0410, "02FF0000"),  # write one value
         hidpp.Response("00", 0x0470, "00"),  # finish
     ),
+    Setup(
+        FeatureTest(settings_templates.ExtendedAdjustableDpi, {0: 256}, {0: 512}, 2, offset=0x9),
+        {common.NamedInt(0, "X"): common.NamedInts.list([256, 512])},
+        hidpp.Response("000000", 0x0910, "00"),  # no y direction, no lod
+        hidpp.Response("0000000100e10002000000", 0x0920, "000000"),
+        hidpp.Response("00010000000000000000", 0x0950),
+        hidpp.Response("000100000000", 0x0960, "000100000000"),
+        hidpp.Response("000200000000", 0x0960, "000200000000"),
+    ),
+    Setup(
+        FeatureTest(settings_templates.ExtendedAdjustableDpi, {0: 0x64, 1: 0xE4}, {0: 0x164}, 2, offset=0x9),
+        {
+            common.NamedInt(0, "X"): common.NamedInts.list([0x064, 0x074, 0x084, 0x0A4, 0x0C4, 0x0E4, 0x0124, 0x0164, 0x01C4]),
+            common.NamedInt(1, "Y"): common.NamedInts.list([0x064, 0x074, 0x084, 0x0A4, 0x0C4, 0x0E4, 0x0124, 0x0164]),
+        },
+        hidpp.Response("000001", 0x0910, "00"),  # supports y direction, no lod
+        hidpp.Response("0000000064E0100084E02000C4E02000", 0x0920, "000000"),
+        hidpp.Response("000001E4E0400124E0400164E06001C4", 0x0920, "000001"),
+        hidpp.Response("00000000000000000000000000000000", 0x0920, "000002"),
+        hidpp.Response("0000000064E0100084E02000C4E02000", 0x0920, "000100"),
+        hidpp.Response("000001E4E0400124E040016400000000", 0x0920, "000101"),
+        hidpp.Response("000064007400E4007400", 0x0950),
+        hidpp.Response("00006400E400", 0x0960, "00006400E400"),
+        hidpp.Response("00016400E400", 0x0960, "00016400E400"),
+    ),
+    Setup(
+        FeatureTest(settings_templates.ExtendedAdjustableDpi, {0: 0x64, 1: 0xE4, 2: 1}, {1: 0x164}, 2, offset=0x9),
+        {
+            common.NamedInt(0, "X"): common.NamedInts.list([0x064, 0x074, 0x084, 0x0A4, 0x0C4, 0x0E4, 0x0124, 0x0164, 0x01C4]),
+            common.NamedInt(1, "Y"): common.NamedInts.list([0x064, 0x074, 0x084, 0x0A4, 0x0C4, 0x0E4, 0x0124, 0x0164]),
+            common.NamedInt(2, "LOD"): common.NamedInts(LOW=0, MEDIUM=1, HIGH=2),
+        },
+        hidpp.Response("000003", 0x0910, "00"),  # supports y direction and lod
+        hidpp.Response("0000000064E0100084E02000C4E02000", 0x0920, "000000"),
+        hidpp.Response("000001E4E0400124E0400164E06001C4", 0x0920, "000001"),
+        hidpp.Response("00000000000000000000000000000000", 0x0920, "000002"),
+        hidpp.Response("0000000064E0100084E02000C4E02000", 0x0920, "000100"),
+        hidpp.Response("000001E4E0400124E040016400000000", 0x0920, "000101"),
+        hidpp.Response("000064007400E4007401", 0x0950),
+        hidpp.Response("00006400E401", 0x0960, "00006400E401"),
+        hidpp.Response("000064016401", 0x0960, "000064016401"),
+    ),
 ]
 
 
@@ -623,7 +647,7 @@ def test_key_template(test, mocker):
     spy_request = mocker.spy(device, "request")
 
     setting = settings_templates.check_feature(device, tst.sclass)
-    assert setting
+    assert setting is not None
     if isinstance(setting, list):
         setting = setting[0]
     if isinstance(test.choices, dict):