PixlOne / logiops

An unofficial userspace driver for HID++ Logitech devices
GNU General Public License v3.0
3.31k stars 263 forks source link

MX Master 3S times out #446

Open telemann opened 5 months ago

telemann commented 5 months ago

I can't get logid to automatically recognise my MX Master 3S. Logid times out looking for it: logid -v2 gives me:

[INFO] Detected receiver at /dev/hidraw3 ... DEBUG] /dev/hidraw3:2 timed out, waiting for input from device to initialize.

Logid then hangs indefinitely until I press the button on the bottom of the mouse three times to reconnect (or switch it off and on again). Logid then continues:

[INFO] Device found: MX Master 3S on /dev/hidraw3:2 [DEBUG] /dev/hidraw3:2 remappable buttons: ...

How can I get logid to connect automatically?

Gentoo Linux, logid version v0.3.3, using the bolt receiver. None of the solutions proposed in issue #437 work.

telemann commented 5 months ago

The timeout in src/logid/Configuration.h is too short. Increasing it from 500 to 1000 (ms?) fixes the problem


--- a/src/logid/Configuration.h 2023-07-12 23:40:47.000000000 +0200
+++ b/src/logid/Configuration.h 2024-03-19 21:19:10.767519123 +0100
@@ -28,7 +28,7 @@

 namespace logid {
     namespace defaults {
-        static constexpr double io_timeout = 500;
+        static constexpr double io_timeout = 1000;
         static constexpr int workers = 4;
         static constexpr int gesture_threshold = 50;
     }
przemekd commented 4 months ago

I observe the same the same on my system:

[INFO] Detected receiver at /dev/hidraw5                                                                                                                                                                                                                                                                                                                                                                                                     
[DEBUG] Unsupported device /dev/hidraw6 ignored                                                                                                                                                                                                                                                                                                                                                                                              
[DEBUG] Unsupported device /dev/hidraw0 ignored                                                                                                                                                                                                                                                                                                                                                                                              
[DEBUG] Unsupported device /dev/hidraw7 ignored                                                                                                                                                                                                                                                                                                                                                                                              
[DEBUG] /dev/hidraw5:2 timed out, waiting for input from device to initialize. 

I need to restart logid service and the switch off and switch on my mouse to make it working.

Ersetzbar commented 4 months ago

can confirm that changing the timeout from 500 to 1000 is enough to solve the problem for me

maciejsszmigiero commented 4 months ago

The timeout in src/logid/Configuration.h is too short. Increasing it from 500 to 1000 (ms?) fixes the problem

This change fixes the timeout problem with MX Master 3S For Business for me too. Are you going to submit this as a PR @telemann ?

telemann commented 4 months ago

@maciejsszmigiero I figured a developer would find the fix here and merge it. I'm not sure how to do a pull request, if you want to do it please go ahead.

maciejsszmigiero commented 3 months ago

@PixlOne could you commit such timeout change?

The new timeout could be 5 seconds like Linux kernel hid-logitech-hidpp driver uses or 4 seconds like Solaar has.

Thanks.

rizaumami commented 3 months ago

Isn't it already in the config? I've set the value to 5000 and logid successfully detect MX Master 3S.

devices: (
{
    name: "MX Master 3S";
    timeout: 5000;
...
maciejsszmigiero commented 3 months ago

Even if there's already a way to override the io timeout in config it's better if the default one works out-of-box with any supported mouse

telemann commented 3 months ago

Setting the value in the config doesn't work for me. It looks like the config file is not read until after the mouse has been detected. Also the documentation is incorrect: the default io_timeout is 500ms, not 2000.

spoutn1k commented 3 months ago

I had a similar issue and the fix was the patch in #402. I created a PR for this #460, if that fixes your issue please add this issue to the list of related issues.