Solaar crashes with FeatureCallError
Created by: jplatte
Information
- Solaar version 1.0.3
- Distribution: arch linux
- Kernel version: Linux 5.7.12-arch1-1 x86_64 GNU/Linux
- Output of
solaar show
:
Unifying Receiver
Device path : /dev/hidraw4
USB id : 046d:c52b
Serial : C97C982B
Firmware : 24.10.B0036
Bootloader : 01.08
Other : AA.AC
Has 1 paired device(s) out of a maximum of 6.
Notifications: wireless, software present (0x000900)
Device activity counters: 1=119
1: Wireless Mouse MX Master
Codename : MX Master
Kind : mouse
Wireless PID : 4060
Protocol : HID++ 4.5
Polling rate : 8 ms (125Hz)
Serial number: B5D78CD9
Bootloader: BOT 18.04.B0017
Firmware: MPM 11.04.B0017
Firmware: MPM 11.04.B0017
Other:
The power switch is located on the base.
Supports 31 HID++ 2.0 features:
0: ROOT {0000}
1: FEATURE SET {0001}
2: DEVICE FW VERSION {0003}
3: DEVICE NAME {0005}
4: WIRELESS DEVICE STATUS {1D4B}
5: RESET {0020}
6: BATTERY STATUS {1000}
7: CONFIG DEVICE PROPS {1806} internal, hidden
8: CHANGE HOST {1814}
Change Host: 1:jp-desktop
9: REPROG CONTROLS V4 {1B04}
Actions: {'80': 80, '81': 81, '82': 82, '83': 83, '86': 86, '195': 195, '196': 196}
10: ADJUSTABLE DPI {2201}
Sensitivity (DPI): 1000
11: VERTICAL SCROLLING {2100}
Roller type: 3G
Ratchet per turn: 24
Scroll lines: 0
12: SMART SHIFT {2110}
Smart Shift: 16
13: HIRES WHEEL {2121}
Multiplier: 8
Has invert
Normal wheel motion
Has ratchet switch
Normal wheel mode
High resolution mode
HID notification
High Resolution Wheel Invert: False
Wheel Resolution: True
14: GESTURE 2 {6501}
15: DFUCONTROL UNSIGNED {00C1}
16: unknown:1813 {1813} internal, hidden
17: unknown:1830 {1830} internal, hidden
18: unknown:1890 {1890} internal, hidden
19: unknown:1891 {1891} internal, hidden
20: unknown:18A1 {18A1} internal, hidden
21: unknown:18C0 {18C0} internal, hidden
22: unknown:1DF3 {1DF3} internal, hidden
23: unknown:1E00 {1E00} hidden
24: unknown:1EB0 {1EB0} internal, hidden
25: unknown:1803 {1803} internal, hidden
26: unknown:1861 {1861} internal, hidden
27: unknown:9000 {9000} internal, hidden
28: unknown:9200 {9200} internal, hidden
29: unknown:9240 {9240} internal, hidden
30: OOBSTATE {1805} internal, hidden
Has 8 reprogrammable keys:
0: Left Button , default: Left Click => Left Button
mse, pos:0, group:1, gmask:1
1: Right Button , default: Right Click => Right Button
mse, pos:0, group:1, gmask:1
2: Middle Button , default: Mouse Middle Button => Middle Button
mse, reprogrammable, divertable, pos:0, group:3, gmask:7
3: Back Button , default: Mouse Back Button => Back Button
mse, reprogrammable, divertable, pos:0, group:2, gmask:3
4: Forward Button , default: Mouse Forward Button => Forward Button
mse, reprogrammable, divertable, pos:0, group:2, gmask:3
5: App Switch Gesture , default: Gesture Button Navigation => App Switch Gesture
mse, reprogrammable, divertable, pos:0, group:3, gmask:7
6: Smart Shift , default: Smart Shift => Smart Shift
mse, reprogrammable, divertable, pos:0, group:3, gmask:7
7: Virtual Gesture Button , default: Virtual Gesture Button => Virtual Gesture Button
divertable, virtual, pos:0, group:4, gmask:0
Battery: 50%, discharging, next level 20%.
Describe the bug
A few times a day, solaar crashes for me. Sometimes, the scrolling behaviour changes to very very slow when this happens (though right now I don't have solaar running and it's fine for some reason). This is Traceback it wrote today when crashing:
solaar: error: Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/solaar/cli/__init__.py", line 175, in run
m.run(c, args, _find_receiver, _find_device)
File "/usr/lib/python3.8/site-packages/solaar/cli/show.py", line 234, in run
_print_device(dev)
File "/usr/lib/python3.8/site-packages/solaar/cli/show.py", line 188, in _print_device
v = setting.read(False)
File "/usr/lib/python3.8/site-packages/logitech_receiver/settings.py", line 129, in read
reply = self._rw.read(self._device)
File "/usr/lib/python3.8/site-packages/logitech_receiver/settings.py", line 461, in read
return device.feature_request(self.feature, self.read_fnid)
File "/usr/lib/python3.8/site-packages/logitech_receiver/receiver.py", line 323, in feature_request
return _hidpp20.feature_request(self, feature, function, *params, no_reply=no_reply)
File "/usr/lib/python3.8/site-packages/logitech_receiver/hidpp20.py", line 442, in feature_request
return device.request((feature_index << 8) + (function & 0xFF), *params, no_reply=no_reply)
File "/usr/lib/python3.8/site-packages/logitech_receiver/receiver.py", line 316, in request
return _base.request(self.receiver.handle, self.number, request_id, *params, no_reply=no_reply)
File "/usr/lib/python3.8/site-packages/logitech_receiver/base.py", line 393, in request
raise _hidpp20.FeatureCallError(number=devnumber, request=request_id, error=error, params=params)
logitech_receiver.hidpp20.FeatureCallError: {'number': 1, 'request': 6924, 'error': 5, 'params': b''}
To Reproduce
I don't really know how to reproduce this. It seems to trigger randomly. I'm assuming it's specific to my mouse and/or receiver; the receiver might also be a different one than the one the mouse shipped with and I think I've used fwupd
on it once or twice.