pwr-Solaar / Solaar

Linux device manager for Logitech devices
https://pwr-solaar.github.io/Solaar
GNU General Public License v2.0
5.4k stars 401 forks source link

Unable to set DPI - Read/Write operation failed. #2581

Closed in-code-nito closed 1 month ago

in-code-nito commented 1 month ago

Information

``` solaar version 1.1.13 Receiver Device path : /dev/hidraw2 USB id : 046d:C54D Serial : 4AC3C1AF C Pending : ff Firmware : 07.01.B0010 Bootloader : 00.08 Other : 23.AB Has 1 paired device(s) out of a maximum of 2. Notifications: wireless, software present (0x000900) Device activity counters: 1=15 1: PRO X 2 Device path : None WPID : 40A9 Codename : PRO X 2 Kind : mouse Protocol : HID++ 4.2 Report Rate : 1ms Serial number: 3275EDE4 Model ID: 40A9C09B0000 Unit ID: 3275EDE4 1: BL1 71.00.B0012 0: MPM 32.01.B0020 Supports 32 HID++ 2.0 features: 0: ROOT {0000} V0 1: FEATURE SET {0001} V0 2: DEVICE FW VERSION {0003} V7 Firmware: Bootloader BL1 71.00.B0012 AB1CDBC0A7D9 Firmware: Firmware MPM 32.01.B0020 40A9D3E83713 Unit ID: 3275EDE4 Model ID: 40A9C09B0000 Transport IDs: {'wpid': '40A9', 'usbid': 'C09B'} 3: DEVICE NAME {0005} V5 Name: PRO X 2 Kind: mouse 4: WIRELESS DEVICE STATUS {1D4B} V0 5: CONFIG CHANGE {0020} V0 Configuration: 11000000000000000000000000000000 6: UNIFIED BATTERY {1004} V5 Battery: 86%, discharging. 7: XY STATS {2250} V1 8: WHEEL STATS {2251} V0 9: EXTENDED ADJUSTABLE DPI {2202} V0 Sensitivity (DPI) (saved): {X:100, Y:800, LOD:HIGH} Sensitivity (DPI) : {X:800, Y:800, LOD:HIGH} 10: MODE STATUS {8090} V2 11: EXTENDED ADJUSTABLE REPORT RATE {8061} V0 Report Rate: 1ms Report Rate (saved): 8ms Report Rate : 1ms 12: ONBOARD PROFILES {8100} V0 Device Mode: On-Board Onboard Profiles (saved): Profile 1 Onboard Profiles : Profile 1 13: MOUSE BUTTON SPY {8110} V0 14: FORCE PAIRING {1500} V0 15: unknown:1801 {1801} V0 internal, hidden, unknown:000010 16: DEVICE RESET {1802} V0 internal, hidden, unknown:000010 17: unknown:1803 {1803} V1 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: 86%, discharging. ```
``` - 1.1.13 - _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_level, backlight_duration_hands_out, backlight_duration_hands_in, backlight_duration_powered, backlight-timed, led_control, led_zone_, rgb_control, rgb_zone_, brightness_control, per-key-lighting, 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: {dpi_extended: true, onboard_profiles: true, report_rate_extended: false} _serial: 3275EDE4 _unitId: 3275EDE4 _wpid: 40A9 dpi_extended: {0: 100, 1: 800, 2: 2} onboard_profiles: 1 report_rate_extended: 0 ```

This callback gets returned when I attempt to change my DPI:

2024-08-10 10:22:24,833,833 ERROR [AsyncUI] logitech_receiver.base: (24) device 1 error on feature request {096A}: 5 = logitech internal Traceback (most recent call last): File "/usr/share/solaar/lib/solaar/ui/config_panel.py", line 59, in _do_write v = setting.write(v) File "/usr/share/solaar/lib/logitech_receiver/settings.py", line 186, in write reply = self._rw.write(self._device, data_bytes) File "/usr/share/solaar/lib/logitech_receiver/settings.py", line 651, in write reply = device.feature_request(self.feature, self.write_fnid, write_bytes, no_reply=self.no_reply) File "/usr/share/solaar/lib/logitech_receiver/device.py", line 496, in feature_request return hidpp20.feature_request(self, feature, function, params, no_reply=no_reply) File "/usr/share/solaar/lib/logitech_receiver/hidpp20.py", line 1351, in feature_request return device.request((feature_index << 8) + (function & 0xFF), params, no_reply=no_reply) File "/usr/share/solaar/lib/logitech_receiver/device.py", line 484, in request return base.request( File "/usr/share/solaar/lib/logitech_receiver/base.py", line 502, in request raise exceptions.FeatureCallError(number=devnumber, request=request_id, error=error, params=params) logitech_receiver.exceptions.FeatureCallError: {'number': 1, 'request': 2410, 'error': 5, 'params': b'\x00\x00d\x03 \x02'} 2024-08-10 10:22:28,530,530 INFO [Thread-4] solaar.configuration: saved ['1.1.13', {'_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_level', 'backlight_duration_hands_out', 'backlight_duration_hands_in', 'backlight_duration_powered', 'backlight-timed', 'led_control', 'ledzone', 'rgb_control', 'rgbzone', 'brightness_control', 'per-key-lighting', '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': {'dpi_extended': True, 'onboard_profiles': True, 'report_rate_extended': False}, '_serial': '3275EDE4', '_unitId': '3275EDE4', '_wpid': '40A9', 'dpi_extended': {0: 100, 1: 800, 2: 2}, 'onboard_profiles': 1, 'report_rate_extended': 0}] to /home/brian/.config/solaar/config.yaml

Describe the bug Unable to set the DPI, I think it is lacking permissions? I change the lock to unlock,

To Reproduce Steps to reproduce the behavior: 1: Open Solar 2: Click on PRO X 2 (my device) 3: Click unlock, change DPI, relock settings. This generates the screenshow below

Screenshots image

Additional context

Thanks!!

pfps commented 1 month ago

You probably have to disable onboard profiles to change the DPI directly. I've added wording to https://pwr-solaar.github.io/Solaar/index with information on this.

in-code-nito commented 1 month ago

Hrm,

I am not entirely sure what onboard settings are but walked through a few steps with ChatGPT

I have it disabled here: image

not found here image

Appreciate the help!

in-code-nito commented 1 month ago

Hey retract. I found that you can disable it in the Solaar UI here above report rate. Maybe set this to default disable on Ubuntu? This is a fresh install on my side.

Thanks!, I got it working

image