Closed VorpalBlade closed 2 years ago
It is odd that you have all these warnings and error only on bluetooth. Does this happen every time?
Running Solaar from this repository should help in that there is a change to how settings are detected - if there is a value for the setting (i.e., the setting has been detected in the past) then the setting is tried even if it is in _absent.
So try running Solaar from this repository. See whether when not on bluetooth the settings do not disappear. Try running on bluetooth and see whether you still have all the errors and warnings.
The problem does not seem to be reliably reproducible, apart from "I then tested to connect via USB and the settings for "Persistent key/Button mapping" and "Key/Button diversion" disappeared". However now they are removed from all forms of connections, not just bluetooth and usb.
It seems that the main loss of settings were related to pairing the device, when I switch quickly after that features do not often disappear. That might be something to investigate as well.
I also managed to get the GUI of solaar to completely freeze, when the pairing with the unifying receiver was selected and I switched to bluetooth. This is not reliably reproducible either! Here is what the frozen GUI looks like, nothing is clickable:
I had been testing cycling back and forth between the unifying receiver and bluetooth several times prior to this. Here is the console log but I don't see anything relevant in it:
I will try the upstream repo (I guess there are some recent changes that are relevant?) Is it possible to just run from the git repo or does it need installing, if the latter I will try to solaar-git package from AUR (https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=solaar-git).
Another weird thing happened, with no receiver plugged into the laptop (it had been plugged in about 10 seconds earlier, and had been plugged in for several minutes working correctly, so this was not a case of plug in and immediately unplug or something like that), I got this popup:
$ ls /dev/hidraw9
ls: cannot access '/dev/hidraw9': No such file or directory
So that popup seems a big bugged?
Note: This is not yet on the latest git version.
If you have Solaar installed you can then just clone from this repository and from that directory run bin/solaar
. No further installation required.
The error popup is, I think, due to a different bug in Solaar that is fixed in the repository. Solaar used to not close all accesses to devices, which left phantom or zombine device nodes hanging around. Running from this repository should fix the problem.
The cause of your issue is likely that Solaar is accessing the device before it is completely set up. Bluetooth devices might take longer to set up or Solaar may get access to them earlier. The problem might be specific to the MX Vertical (which I won't have access to for several months). But I want to see whether the problem also exists in the version of Solaar from this repository, as it might be that the fix to the zombie device nodes might have fixed this issue.
I ran bin/solaar in the repo (I presume it set any required PYTHONPATH etc?)
This is what it first looked like:
As soon as I connect to USB, one option is gone:
And now I got into a mode where I'm connect via BT but Solaar does not see the it?
Cycling the 3-mode button on the bottom of the mouse around made it reappear as bluetooth, but then the GUI hanged like before. Here is the rest of that log from above after I did that
However, now the missing setting appears ot be back by itself?
I have yet to reproduce the original issue though. I'll try re-pairing next
The multiple errors appear to be a problem of some sort. Can you determine under which conditions they are active (e.g., bluetooth only, only when switching to bluetooth).
As far as one setting being missing sometimes, devices run different code in different connections. (Yes, this seems weird.) So it is possible that the MX Vertical does not have that setting in all connection modes. To find out connect each possible way and run /bin/solaar show
for each, checking which features show up. If there is a difference in the features then that explains the setting difference.
I have the following set up for the 3 connections: 1 is receiver, 2 is another computer (not turned on) also via receiver, 3 is this laptop via bluetooth.
When I cycle quickly I get the popup about hidraw. As far as I can determine the hidraw device it refers to is actually only there when bluetooth is active. So the error is a bit incorrect, and is not about the receiver at all.
Some times these popups show up behind solaar. It is possible the hangs I saw were in fact that, as this seem to block the main GUI of Solaar in a very similar way. I have noticed "pop behinds" before sometimes with non-native programs in KDE, so that might not be a bug in solaar.
I have yet to reproduce the original problem though, which seems good. However, I need to try to reproduce it more with the old solaar version to see how reliable reproducing it there is. Otherwise I have no clue when I have "tested enough" on the new version. I won't have time to do that today though.
I also only managed to reproduce "mouse connected via BT and working, but Solaar doesn't see it" once (so two times in total, including the initial event).
It looks as if there are race conditions and timing issues perhaps. As for the feature set. You are right, solaar show is substantially different.
I don't know if it is related to this bug, but I have a lot of missing settings for my K400+ keyboard. I used to be able to enable/disable all the gesture settings and other settings, now it's only a couple of settings.
Running version 1.1.3
solaar show
shows all the gestures for the K400+ and if they're enabled or disabled.
This is likely partly related. Look in ~/.config/solaar/config.yaml and see whether the _absent value has entries that look like they should be settings for your device. If you remove the entire _absent value then the missing settings should come back. (What happened is that Solaar encountered an error when trying to set up the setting and it blacklisted the setting.)
The version of Solaar in this repository checks to see if there is a value for the setting before blacklisting it. To prevent the problem recurring you can download and run this version of Solaar.
I've experienced problems with Bluetooth in 5.17 and 5.18 with the bluez stack. There are some bugs reported for Bluetooth that appear to be related to correctly shutting down Bluetooth connections. So errors that only show up when a device is on bluetooth could easily not be a problem with Solaar, so long as you are running Solaar from this repository. Solaar version 1.1.3 does not always close device files when the device disappears, which can cause problems for Bluetooth-connected devices.
Closing as likely fixed in the version of Solaar in this repository.
Seems to be fixed by the newer version for me yes. Took a few days of testing to be sure as reproducibility was rather low.
Information
solaar --version
orgit describe --tags
if cloned from this repository): 1.1.3uname -srmo
):Linux 5.18.3-arch1-1 x86_64 GNU/Linux
solaar show
:~/.config/solaar/config.yaml
(or~/.config/solaar/config.json
if~/.config/solaar/config.yaml
not present):Lots of warnings and errors and a python traceback, expand below:
Describe the bug When connecting the MX Vertical using the unifying reciever I get lots of settings. I also get these if I use a USB cable.
When I paired and connected with bluetooth I only got the "scroll wheel direction" setting!
Even worse, when I reconnected it via the unifying receiver, all settings are gone! This appears to be persistent until I deleted the _absent key in the Solaar config.
After deleting the _absent key and restarting solaar all settings were back. I then tested to connect via USB and the settings for "Persistent key/Button mapping" and "Key/Button diversion" disappeared, but only for bluetooth. Removing the _absent key brought back that setting again.
To Reproduce Steps to reproduce the behavior:
Screenshots If applicable, add screenshots to help explain your problem.
Additional context I use KDE on X11, not wayland, if that matters.