Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WARN] Error adding device /dev/hidraw2: Device timed out - MX Keys for Business #406

Closed
IgorAntunes66 opened this issue Sep 18, 2023 · 18 comments · Fixed by #414
Closed

Comments

@IgorAntunes66
Copy link

Description:
When running the command "sudo logid", it gives an error identifying the MX Keys for Business keyboard model "YR0073".

Steps to Reproduce:
Run the command "sudo logid"

Evidence: Terminal Output

"[INFO] Device found: MX Master 3 for Business on /dev/hidraw1:255
[INFO] Device found: MX Keys for Business on /dev/hidraw2:255
[WARN] Error adding device /dev/hidraw2: Device timed out"

The mouse is detected normally, but the keyboard encounters this problem.

@IgorAntunes66
Copy link
Author

I run the commando "sudo logid -v" and get this informations

"[DEBUG] Unsupported device /dev/hidraw0 ignored
[INFO] Device found: MX Master 3 for Business on /dev/hidraw1:255
[DEBUG] /dev/hidraw1:255 remappable buttons:
[DEBUG] CID | reprog? | fn key? | mouse key? | gesture support?
[DEBUG] 0x50 | | | YES |
[DEBUG] 0x51 | | | YES |
[DEBUG] 0x52 | YES | | YES | YES
[DEBUG] 0x53 | YES | | YES | YES
[DEBUG] 0x56 | YES | | YES | YES
[DEBUG] 0xc3 | YES | | YES | YES
[DEBUG] 0xc4 | YES | | YES | YES
[DEBUG] 0xd7 | YES | | | YES
[DEBUG] Thumb wheel detected (0x2150), capabilities:
[DEBUG] timestamp | touch | proximity | single tap
[DEBUG] YES | YES | YES | YES
[DEBUG] Thumb wheel resolution: native (18), diverted (120)
[INFO] Device found: MX Keys for Business on /dev/hidraw2:255
[DEBUG] /dev/hidraw2:255 remappable buttons:
[DEBUG] CID | reprog? | fn key? | mouse key? | gesture support?
[DEBUG] 0x0a | YES | | |
[DEBUG] 0x34 | | | |
[DEBUG] 0x6f | YES | | |
[DEBUG] 0xc7 | YES | YES | |
[DEBUG] 0xc8 | YES | YES | |
[DEBUG] 0xd1 | YES | | |
[DEBUG] 0xd2 | YES | | |
[DEBUG] 0xd3 | YES | | |
[DEBUG] 0xde | | YES | |
[DEBUG] 0xe2 | YES | YES | |
[DEBUG] 0xe3 | YES | YES | |
[DEBUG] 0xe4 | YES | YES | |
[DEBUG] 0xe5 | YES | YES | |
[DEBUG] 0xe6 | YES | YES | |
[DEBUG] 0xe7 | YES | YES | |
[DEBUG] 0xe8 | YES | YES | |
[DEBUG] 0xe9 | YES | | |
[DEBUG] 0xea | YES | | |
[DEBUG] 0xeb | YES | | |
[DEBUG] 0xec | YES | | |
[DEBUG] 0x103 | YES | YES | |
[DEBUG] 0x108 | YES | YES | |
[DEBUG] 0x10a | YES | | |
[DEBUG] 0x11c | YES | YES | |
[WARN] Error adding device /dev/hidraw2: Device timed out"

@IgorAntunes66
Copy link
Author

Anyone?

@liamhays
Copy link

I'm having this issue too, with a M720 Triathlon connected over Bluetooth. logid detects the mouse on /dev/hidraw1, but it times out trying to add it.

fuser /dev/hidraw1 lists no processes using the file, and I don't have Piper or Solaar installed.

@crazyaaron97
Copy link

I've the same issue as @IgorAntunes66 with a new MX Keys for Business (YR0073), the hidraw is also not in use by the process afterwords. I also tried to set the timeout to 5000ms, so i can see that /dev/hidraw6 is opend by logid until the timeout is reached. Has anyone some idears how to debug this issue?

@johannesrave
Copy link

i believe i have a similar issue:

[INFO] Device found: MX Mechanical Mini on /dev/hidraw2:255
[DEBUG] /dev/hidraw2:255 remappable buttons:
[DEBUG] CID  | reprog? | fn key? | mouse key? | gesture support?
[DEBUG] 0x34 |         |         |            | 
[DEBUG] 0xd1 |         | YES     |            | 
[DEBUG] 0xd2 |         | YES     |            | 
[DEBUG] 0xd3 |         | YES     |            | 
[DEBUG] 0xd4 | YES     | YES     |            | 
[DEBUG] 0xde |         | YES     |            | 
[DEBUG] 0xe2 | YES     | YES     |            | 
[DEBUG] 0xe3 | YES     | YES     |            | 
[DEBUG] 0xe7 | YES     | YES     |            | 
[DEBUG] 0xe8 | YES     |         |            | 
[DEBUG] 0xe9 | YES     |         |            | 
[DEBUG] 0x103 | YES     | YES     |            | 
[DEBUG] 0x108 | YES     | YES     |            | 
[DEBUG] 0x10a | YES     | YES     |            | 
[DEBUG] 0x10b | YES     |         |            | 
[DEBUG] 0x10c | YES     |         |            | 
[DEBUG] 0x10d | YES     |         |            | 
[DEBUG] 0x10e | YES     |         |            | 
[DEBUG] 0x10f | YES     |         |            | 
[DEBUG] 0x110 | YES     |         |            | 
[DEBUG] 0x111 | YES     |         |            | 
[DEBUG] 0x112 | YES     |         |            | 
[DEBUG] 0x115 | YES     |         |            | 
[DEBUG] 0x117 | YES     |         |            | 
[DEBUG] 0x118 | YES     |         |            | 
[DEBUG] 0x119 | YES     |         |            | 
[DEBUG] 0x11a | YES     |         |            | 
[DEBUG] 0x11b | YES     |         |            | 
[DEBUG] 0x11c | YES     | YES     |            | 
[DEBUG] 0x11e | YES     |         |            | 
[DEBUG] 0x13c | YES     |         |            | 
[DEBUG] 0x141 | YES     | YES     |            | 
[WARN] Error adding device /dev/hidraw2: Device timed out

@wprzytula
Copy link
Contributor

wprzytula commented Nov 7, 2023

An analogous situation with MX Keys Mini.

I observed the following behaviour:

[DEBUG] Configuring button: e9
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 e9 22 00 e9 00 00 00 00 00 00 00 00 00 00 00
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 e9 22 00 e9 00 00 00 00 00 00 00 00 00 00 00
[DEBUG] Configuring button: 103
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 03 22 01 03 00 00 00 00 00 00 00 00 00 00 00
[RAWREPORT] /dev/hidraw1 IN:  11 ff ff 08 32 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[WARN] Error adding device /dev/hidraw1: Device timed out

As you can see, beginning with button 103 (higher number buttons do the same, I checked it), the keyboard unexpectedly responds to the HID++ 2 FAP with the second byte ff instead of the expected 08, which would match the request. logiops is still waiting for a response with correct second byte set, hence the timeout.

According to the hid++ 2.0 specification by Logitech:

The device index, feature index, function identifier, and software identifier are always returned unchanged.

So at first, this was my understanding:
It's the keyboard's strange behaviour's fault. I have failed to find any information about in what case a HID++ device can return a nonmatching second byte.

But then I found more:
The second byte is the feature index. What's even more interesting, feature index is specified to be [1-254], so ff being 255 is beyond that scope. This hints some kind of an error response.

And dug deeper, taking a look at Linux hid++ driver:
We learn that feature index = 255 means error. Then the second parameter (in my case 02) is said to contain the specific error code. By #define HIDPP20_ERROR_INVALID_ARGS 0x02 we know that the arguments to the request are invalid.

If you look here once again:
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 03 22 01 03 00 00 00 00 00 00 00 00 00 00 00
you can see that the button's control id, 0x103, is correct only in one place (after 22), but missing byte 01 before 03 (before 22).

So I looked into the code and saw that cid (control id) was erroneously represented in function setControlReporting as uint8_t instead of uint16_t! Hence all buttons with cid > UINT8_T_MAX led to error.

Another thing is that this library never correctly understands an error response, if such arrives (feature index = ff). This functionality should be added to aid debugging (instead of resulting in generic "timeout" errors).

@wprzytula
Copy link
Contributor

I've issued a pull request that resolves the problem.

@deoxyseia
Copy link

@wprzytula I built your code but the problem persists, in this case with a MX Mechanical Mini. Here the output:

[INFO] Config file does not exist, using empty config.
[INFO] Device found: MX Master 3S on /dev/hidraw2:255
[INFO] Device found: MX Mechanical Mini on /dev/hidraw1:255
[WARN] Error adding device /dev/hidraw1: Device timed out

Some system details:

  • Pop!_OS 22.04 LTS, based on Ubuntu Jammy

@wprzytula
Copy link
Contributor

wprzytula commented Nov 17, 2023

@wprzytula I built your code but the problem persists, in this case with a MX Mechanical Mini. Here the output:

[INFO] Config file does not exist, using empty config. [INFO] Device found: MX Master 3S on /dev/hidraw2:255 [INFO] Device found: MX Mechanical Mini on /dev/hidraw1:255 [WARN] Error adding device /dev/hidraw1: Device timed out

Please post your output when run with -v rawreport. I'll investigate it.

@liamhays
Copy link

My M720 Triathlon is also still timing out with your code. When it's connected over Bluetooth, logid crashes with the same timeout. -v rawreport output:

[DEBUG] Unsupported device /dev/hidraw0 ignored
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 68 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 68 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 65 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[DEBUG] Failed to add device /dev/hidraw1 on try 1, backing off for 500ms
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 68 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 68 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 65 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 02 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 12 4d 37 32 30 20 54 72 69 61 74 68 6c 6f 6e 20 4d 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 12 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 12 75 6c 74 69 2d 44 65 76 69 63 65 20 4d 6f 75 73 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 12 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 12 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 68 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 68 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 65 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 02 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 12 4d 37 32 30 20 54 72 69 61 74 68 6c 6f 6e 20 4d 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 12 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 12 75 6c 74 69 2d 44 65 76 69 63 65 20 4d 6f 75 73 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 12 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 12 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[INFO] Device found: M720 Triathlon Multi-Device Mouse on /dev/hidraw1:255
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 22 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 21 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[WARN] Error adding device /dev/hidraw1: Device timed out

When the mouse is connected via the Unifying receiver, logid (your branch, at least) works fine and I can remap the gesture thumb button.

@wprzytula
Copy link
Contributor

My M720 Triathlon is also still timing out with your code. When it's connected over Bluetooth, logid crashes with the same timeout.
When the mouse is connected via the Unifying receiver, logid (your branch, at least) works fine and I can remap the gesture thumb button.

Could you please provide your -v rawreport output for the mouse connected via the Unifying receiver? Maybe comparison of those could give some insight.

@deoxyseia
Copy link

-v rawreport

That's the output:

[INFO] Config file does not exist, using empty config.
[DEBUG] Unsupported device /dev/hidraw0 ignored
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  01 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 68 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 68 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 65 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 02 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 12 4d 58 20 4d 65 63 68 61 6e 69 63 61 6c 20 4d 69 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 12 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 12 6e 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 68 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 68 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 65 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 12 00 00 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 12 04 05 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 02 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 12 4d 58 20 4d 65 63 68 61 6e 69 63 61 6c 20 4d 69 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 03 12 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 03 12 6e 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[INFO] Device found: MX Mechanical Mini on /dev/hidraw1:255
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 22 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 21 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 21 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 21 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 1b 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 08 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 02 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 00 d1 00 ae 0a 01 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 00 d2 00 af 0a 02 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 00 d3 00 b0 0a 03 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 00 e2 00 c1 3a 04 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 00 e3 00 c2 3a 05 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 03 00 d8 3a 06 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 08 00 dd 3a 07 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 0a 00 df 3a 08 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 1c 00 f1 3a 09 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 00 d4 00 b1 3a 0a 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 41 00 fd 3a 0b 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 00 e7 00 03 3a 0c 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 00 e8 00 02 34 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 00 e9 00 01 34 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 0b 00 e0 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 0c 00 e1 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 0d 00 e2 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 0e 00 e3 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 0f 00 e4 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 10 00 e5 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 11 00 e6 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 12 00 e7 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 3c 00 f8 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 15 00 ea 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 1e 00 f3 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 17 00 ec 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 18 00 ed 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 19 00 ee 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 1a 00 ef 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 01 1b 00 f0 30 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 00 de 00 62 02 00 00 00 04 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 12 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 12 00 34 00 62 04 00 00 00 04 00 00 00 00 00 00 00 
[DEBUG] /dev/hidraw1:255 remappable buttons:
[DEBUG] CID  | reprog? | fn key? | mouse key? | gesture support?
[DEBUG] 0x34 |         |         |            | 
[DEBUG] 0xd1 |         | YES     |            | 
[DEBUG] 0xd2 |         | YES     |            | 
[DEBUG] 0xd3 |         | YES     |            | 
[DEBUG] 0xd4 | YES     | YES     |            | 
[DEBUG] 0xde |         | YES     |            | 
[DEBUG] 0xe2 | YES     | YES     |            | 
[DEBUG] 0xe3 | YES     | YES     |            | 
[DEBUG] 0xe7 | YES     | YES     |            | 
[DEBUG] 0xe8 | YES     |         |            | 
[DEBUG] 0xe9 | YES     |         |            | 
[DEBUG] 0x103 | YES     | YES     |            | 
[DEBUG] 0x108 | YES     | YES     |            | 
[DEBUG] 0x10a | YES     | YES     |            | 
[DEBUG] 0x10b | YES     |         |            | 
[DEBUG] 0x10c | YES     |         |            | 
[DEBUG] 0x10d | YES     |         |            | 
[DEBUG] 0x10e | YES     |         |            | 
[DEBUG] 0x10f | YES     |         |            | 
[DEBUG] 0x110 | YES     |         |            | 
[DEBUG] 0x111 | YES     |         |            | 
[DEBUG] 0x112 | YES     |         |            | 
[DEBUG] 0x115 | YES     |         |            | 
[DEBUG] 0x117 | YES     |         |            | 
[DEBUG] 0x118 | YES     |         |            | 
[DEBUG] 0x119 | YES     |         |            | 
[DEBUG] 0x11a | YES     |         |            | 
[DEBUG] 0x11b | YES     |         |            | 
[DEBUG] 0x11c | YES     | YES     |            | 
[DEBUG] 0x11e | YES     |         |            | 
[DEBUG] 0x13c | YES     |         |            | 
[DEBUG] 0x141 | YES     | YES     |            | 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 1d 4b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 21 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 00 02 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 00 02 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 05 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 05 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 05 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 05 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 34 22 00 34 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 34 22 00 34 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 d1 22 00 d1 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 d1 22 00 d1 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 d2 22 00 d2 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 d2 22 00 d2 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 d3 22 00 d3 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 d3 22 00 d3 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 d4 22 00 d4 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 d4 22 00 d4 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 de 22 00 de 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 de 22 00 de 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 e2 22 00 e2 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 e2 22 00 e2 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 e3 22 00 e3 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 e3 22 00 e3 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 e7 22 00 e7 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 e7 22 00 e7 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 e8 22 00 e8 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 e8 22 00 e8 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 e9 22 00 e9 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff 08 32 00 e9 22 00 e9 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 03 22 01 03 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff ff 08 32 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[WARN] Error adding device /dev/hidraw1: Device timed out

@liamhays
Copy link

liamhays commented Nov 20, 2023

Could you please provide your -v rawreport output for the mouse connected via the Unifying receiver? Maybe comparison of those could give some insight.

[DEBUG] Ignoring virtual node on /dev/hidraw2
[RAWREPORT] /dev/hidraw1 OUT: 10 ff 00 12 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  10 ff 8f 00 12 01 00 
[INFO] Detected receiver at /dev/hidraw1
[RAWREPORT] /dev/hidraw1 OUT: 10 ff 00 12 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  10 ff 8f 00 12 01 00 
[RAWREPORT] /dev/hidraw1 OUT: 10 ff 81 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  10 ff 81 00 00 09 00 
[RAWREPORT] /dev/hidraw1 OUT: 10 ff 80 00 10 09 00 
[RAWREPORT] /dev/hidraw1 IN:  10 ff 80 00 00 00 00 
[RAWREPORT] /dev/hidraw1 OUT: 10 ff 80 02 02 00 00 
[DEBUG] Unsupported device /dev/hidraw0 ignored
[RAWREPORT] /dev/hidraw1 IN:  10 01 41 04 72 5e 40 
[RAWREPORT] /dev/hidraw1 IN:  10 ff 80 02 00 00 00 

@wprzytula
Copy link
Contributor

@deoxyseia

[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 03 22 01 03 00 00 00 00 00 00 00 00 00 00 00 
[RAWREPORT] /dev/hidraw1 IN:  11 ff ff 08 32 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[WARN] Error adding device /dev/hidraw1: Device timed out

If you look closely, you'll see that the last two lines are identical to what I had experienced before I introduced my changes. Are you sure that you are building the code with my changes? It would be strange if an exactly identical message were sent from another place in code than the one I fixed.

@wprzytula
Copy link
Contributor

Could you please provide your -v rawreport output for the mouse connected via the Unifying receiver? Maybe comparison of those could give some insight.

(M720 Triathlon over Bluetooth on Intel 7265D)

You mentioned Bluetooth connection and I can see a timeout; and I asked about the Unifying receiver instead and a successful connection log, for comparison with the erroneous connection using Bluetooth.

@liamhays
Copy link

I am a moron, it has been fixed. Sorry about that 😃

I also am definitely running your code, ReprogControls.cpp has cid as uint16_t.

@deoxyseia
Copy link

@wprzytula, my bad, I built using your fork but using main instead the improved branch. This works well.

Thanks for the support!

@vbvr
Copy link

vbvr commented Dec 19, 2023

I have a POP Keys and POP Mouse, and encountered the same timeout error (logiops 0.3.3 on gentoo). Applying the patch from @wprzytula to my build resolved this, as well. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants