pwr-Solaar / Solaar

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

Add support for Logi Pop Keys over bluetooth #2598

Closed saxophone-guy closed 1 month ago

saxophone-guy commented 2 months ago

I'm unsure of what info I'm supposed to give, but here's the general stuff:

pfps commented 2 months ago

What OS are you running? What version? What distribution?

The current version of Solaar should detect any device it can support, modulo bugs in Solaar. The way to see whether Solaar is running into difficulties is to run it as solaar -ddd and post the output here.

saxophone-guy commented 2 months ago
  1. Arch Linux
  2. Solaar 1.1.13 (as said before)
  3. My logi pop does work over the USB connector w/ sollar, however it doesn't work over bluetooth Thanks in advance for helping!
pfps commented 2 months ago

What version of the OS?

If Solaar works with the keyboard connected to a receiver but not under bluetooth then this should be treated as a bug and all the information requested for a bug report provided.

newcharhuso commented 2 months ago

Can confirm this, i feel like it used to be working though.

newcharhuso commented 2 months ago

Here is the output of solaar -ddd

``` rules cannot access modifier keys in Wayland, accessing process only works on GNOME with Solaar Gnome extension installed rule Key key name not name of a Logitech key: 0 2024-09-16 15:21:28,250,250 INFO [MainThread] solaar.gtk: version 1.1.13, language en_US (UTF-8) 2024-09-16 15:21:28,253,253 DEBUG [MainThread] hidapi.udev: Starting dbus monitoring 2024-09-16 15:21:28,253,253 INFO [MainThread] solaar.dbus: connected to system dbus, watching for suspend/resume events 2024-09-16 15:21:28,278,278 DEBUG [MainThread] solaar.ui: startup registered=True, remote=False 2024-09-16 15:21:28,279,279 DEBUG [AsyncUI] solaar.tasks: started 2024-09-16 15:21:28,279,279 INFO [MainThread] solaar.ui.notify: starting desktop notifications 2024-09-16 15:21:28,281,281 DEBUG [MainThread] solaar.ui.icons: icon theme paths: ['/home/husnu/.local/share/icons', '/home/husnu/.icons', '/home/husnu/.local/share/flatpak/exports/share/icons', '/var/lib/flatpak/exports/share/icons', '/usr/local/share/icons', '/usr/share/icons', '/home/husnu/.local/share/flatpak/exports/share/pixmaps', '/var/lib/flatpak/exports/share/pixmaps', '/usr/local/share/pixmaps', '/usr/share/pixmaps'] 2024-09-16 15:21:28,312,312 INFO [MainThread] solaar.listener: starting receiver listening threads 2024-09-16 15:21:28,312,312 DEBUG [MainThread] hidapi.udev: Starting dbus enumeration 2024-09-16 15:21:28,316,316 DEBUG [MainThread] hidapi.udev: Dbus event add Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.0/0003:046D:C548.0001/hidraw/hidraw0') 2024-09-16 15:21:28,387,387 DEBUG [MainThread] hidapi.udev: Dbus event add Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.1/0003:046D:C548.0002/hidraw/hidraw1') 2024-09-16 15:21:28,389,389 DEBUG [MainThread] hidapi.udev: Dbus event add Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.2/0003:046D:C548.0003/hidraw/hidraw2') 2024-09-16 15:21:28,390,390 INFO [MainThread] hidapi.udev: Found device /dev/hidraw2 BID 0003 VID 0000046D PID 0000C548 HID++ True True USB 2 2 2024-09-16 15:21:28,390,390 INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw2', bus_id=3, vendor_id='046D', product_id='C548', interface=2, driver='hid-generic', manufacturer=None, product=None, serial='', release=None, isDevice=None, hidpp_short=True, hidpp_long=True) 2024-09-16 15:21:28,390,390 INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw2 2024-09-16 15:21:28,444,444 INFO [MainThread] logitech_receiver.base: New lock 17 2024-09-16 15:21:28,444,444 DEBUG [MainThread] logitech_receiver.base: (17) <= w[10 FF 83FB 000000] 2024-09-16 15:21:28,446,446 DEBUG [MainThread] logitech_receiver.base: (17) => r[11 FF 83FB 36314246304542373842344532303038] 2024-09-16 15:21:28,446,446 DEBUG [MainThread] logitech_receiver.base: (17) <= w[10 FF 8003 FF0000] 2024-09-16 15:21:28,447,447 DEBUG [MainThread] logitech_receiver.base: (17) => r[10 FF 8F80 030200] 2024-09-16 15:21:28,447,447 DEBUG [MainThread] logitech_receiver.base: (17) device 0xFF error on request {8003}: 2 = invalid address 2024-09-16 15:21:28,447,447 INFO [SolaarListener:hidraw2] logitech_receiver.listener: started with (17) 2024-09-16 15:21:28,448,448 DEBUG [MainThread] hidapi.udev: Dbus event add Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.3/1-2.3:1.0/0003:1038:1830.0004/hidraw/hidraw3') 2024-09-16 15:21:28,448,448 INFO [SolaarListener:hidraw2] solaar.listener: : notifications listener has started (17) 2024-09-16 15:21:28,448,448 INFO [SolaarListener:hidraw2] logitech_receiver.base: New lock <_ThreadedHandle(/dev/hidraw2)> 2024-09-16 15:21:28,448,448 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) <= w[10 FF 8000 000900] 2024-09-16 15:21:28,449,449 DEBUG [MainThread] hidapi.udev: Dbus event add Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.3/1-2.3:1.1/0003:1038:1830.0005/hidraw/hidraw4') 2024-09-16 15:21:28,449,449 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[10 FF 8000 000000] 2024-09-16 15:21:28,449,449 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) <= w[10 FF 8100 000000] 2024-09-16 15:21:28,455,455 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[10 FF 8100 000900] 2024-09-16 15:21:28,455,455 DEBUG [MainThread] hidapi.udev: Dbus event add Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.3/1-2.3:1.2/0003:1038:1830.0006/hidraw/hidraw5') 2024-09-16 15:21:28,455,455 INFO [SolaarListener:hidraw2] logitech_receiver.receiver: : receiver notifications enabled => ('wireless', 'software present') 2024-09-16 15:21:28,455,455 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) <= w[10 FF 8002 020000] 2024-09-16 15:21:28,455,455 DEBUG [MainThread] hidapi.udev: Dbus event add Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.3/1-2.3:1.3/0003:1038:1830.0007/hidraw/hidraw6') 2024-09-16 15:21:28,457,457 DEBUG [MainThread] hidapi.udev: Dbus event add Device('/sys/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-14/i2c-UNIW0001:00/0018:093A:0255.0008/hidraw/hidraw7') 2024-09-16 15:21:28,458,458 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[10 01 4110 4165B3] 2024-09-16 15:21:28,458,458 DEBUG [MainThread] hidapi.udev: Dbus event add Device('/sys/devices/virtual/misc/uhid/0005:0111:1830.000B/hidraw/hidraw8') 2024-09-16 15:21:28,458,458 DEBUG [MainThread] hidapi.udev: Dbus event add Device('/sys/devices/virtual/misc/uhid/0005:046D:B365.000C/hidraw/hidraw9') 2024-09-16 15:21:28,459,459 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[10 FF 8002 000000] 2024-09-16 15:21:28,460,460 INFO [SolaarListener:hidraw2] solaar.listener: status_changed : present (0) 2024-09-16 15:21:28,460,460 INFO [MainThread] hidapi.udev: Found device /dev/hidraw9 BID 0005 VID 0000046D PID 0000B365 HID++ False True USB None None 2024-09-16 15:21:28,460,460 INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw9', bus_id=5, vendor_id='046D', product_id='B365', interface=None, driver='hid-generic', manufacturer=None, product=None, serial='de:06:d4:40:cc:a7', release=None, isDevice=True, hidpp_short=False, hidpp_long=True) 2024-09-16 15:21:28,460,460 INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw9 2024-09-16 15:21:28,460,460 DEBUG [MainThread] logitech_receiver.base: (18) pinging device 255 2024-09-16 15:21:28,460,460 INFO [MainThread] logitech_receiver.base: New lock 18 2024-09-16 15:21:28,460,460 DEBUG [MainThread] logitech_receiver.base: (18) <= w[11 FF 0019 0000B000000000000000000000000000] 2024-09-16 15:21:28,510,510 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) <= w[10 FF 83B5 510000] 2024-09-16 15:21:28,515,515 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[11 FF 83B5 514165B3FC4951940103801401000000] 2024-09-16 15:21:29,518,518 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) <= w[10 FF 83B5 610100] 2024-09-16 15:21:29,521,521 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[11 FF 83B5 61010D4C6F676920504F50204B657973] 2024-09-16 15:21:29,521,521 INFO [SolaarListener:hidraw2] logitech_receiver.receiver: : found new device 1 (B365) 2024-09-16 15:21:29,521,521 INFO [SolaarListener:hidraw2] solaar.listener: connection Notification(10,1,41,10,4165B3) for device wpid B365 kind keyboard serial FC495194 2024-09-16 15:21:29,521,521 INFO [SolaarListener:hidraw2] solaar.listener: status_changed : present (0) 2024-09-16 15:21:29,521,521 DEBUG [SolaarListener:hidraw2] logitech_receiver.notifications: : protocol 16 connection notification: software=False, encrypted=True, link=False, payload=False 2024-09-16 15:21:29,521,521 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) <= w[10 FF 8003 FF0000] 2024-09-16 15:21:29,522,522 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[10 FF 8F80 030200] 2024-09-16 15:21:29,522,522 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) device 0xFF error on request {8003}: 2 = invalid address 2024-09-16 15:21:29,522,522 DEBUG [SolaarListener:hidraw2] logitech_receiver.device: device 1 changed: active=False None 2024-09-16 15:21:29,522,522 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) pinging device 1 2024-09-16 15:21:29,522,522 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) <= w[10 01 0018 0000C7] 2024-09-16 15:21:29,523,523 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[10 01 8F00 180400] 2024-09-16 15:21:29,523,523 INFO [SolaarListener:hidraw2] solaar.listener: status_changed : paired offline (0) 2024-09-16 15:21:32,464,464 WARNING [MainThread] logitech_receiver.base: (18) timeout (4.00/4.00) on device 255 ping 2024-09-16 15:21:32,465,465 INFO [SolaarListener:hidraw9] logitech_receiver.listener: started with (18) 2024-09-16 15:21:32,465,465 INFO [SolaarListener:hidraw9] solaar.listener: : notifications listener has started (18) 2024-09-16 15:21:32,465,465 DEBUG [SolaarListener:hidraw9] logitech_receiver.base: (18) pinging device 255 2024-09-16 15:21:32,465,465 INFO [SolaarListener:hidraw9] logitech_receiver.base: New lock <_ThreadedHandle(/dev/hidraw9)> 2024-09-16 15:21:32,465,465 DEBUG [SolaarListener:hidraw9] logitech_receiver.base: (18) <= w[11 FF 0019 0000B400000000000000000000000000] 2024-09-16 15:21:32,466,466 DEBUG [MainThread] solaar.ui: activate 2024-09-16 15:21:32,466,466 INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw2 2024-09-16 15:21:32,466,466 DEBUG [MainThread] solaar.ui: status changed: (None) None 2024-09-16 15:21:32,467,467 DEBUG [MainThread] solaar.ui.window: new receiver row ('/dev/hidraw2', 0, True, 'Bolt Receiver', 'preferences-desktop-peripherals', None, None, ) 2024-09-16 15:21:32,467,467 DEBUG [MainThread] solaar.ui: status changed: (None) None 2024-09-16 15:21:32,467,467 DEBUG [MainThread] solaar.ui: status changed: (NONE) None 2024-09-16 15:21:32,467,467 DEBUG [MainThread] logitech_receiver.base: (21) pinging device 1 2024-09-16 15:21:32,467,467 DEBUG [MainThread] logitech_receiver.base: (21) <= w[10 01 001E 000065] 2024-09-16 15:21:32,469,469 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[10 01 8F00 1E0400] 2024-09-16 15:21:32,469,469 DEBUG [MainThread] logitech_receiver.base: (21) => r[10 01 8F00 1E0400] 2024-09-16 15:21:32,469,469 DEBUG [MainThread] logitech_receiver.base: (21) pinging device 1 2024-09-16 15:21:32,469,469 DEBUG [MainThread] logitech_receiver.base: (21) <= w[10 01 001A 0000B0] 2024-09-16 15:21:32,470,470 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[10 01 8F00 1A0400] 2024-09-16 15:21:32,470,470 DEBUG [MainThread] logitech_receiver.base: (21) => r[10 01 8F00 1A0400] 2024-09-16 15:21:32,470,470 DEBUG [MainThread] solaar.ui.icons: battery icon for None:None = battery-missing 2024-09-16 15:21:32,470,470 DEBUG [MainThread] logitech_receiver.base: (21) pinging device 1 2024-09-16 15:21:32,470,470 DEBUG [MainThread] logitech_receiver.base: (21) <= w[10 01 001F 000089] 2024-09-16 15:21:32,471,471 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[10 01 8F00 1F0400] 2024-09-16 15:21:32,471,471 DEBUG [MainThread] logitech_receiver.base: (21) => r[10 01 8F00 1F0400] 2024-09-16 15:21:32,471,471 DEBUG [MainThread] solaar.ui.tray: picked device with lowest battery: None 2024-09-16 15:21:32,471,471 DEBUG [MainThread] logitech_receiver.base: (21) pinging device 1 2024-09-16 15:21:32,471,471 DEBUG [MainThread] logitech_receiver.base: (21) <= w[10 01 001D 00004B] 2024-09-16 15:21:32,472,472 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (17) => r[10 01 8F00 1D0400] 2024-09-16 15:21:32,472,472 DEBUG [MainThread] logitech_receiver.base: (21) => r[10 01 8F00 1D0400] 2024-09-16 15:21:32,472,472 DEBUG [MainThread] solaar.ui.window: new device row ('/dev/hidraw2', 1, False, 'Logi POP Keys', 'input-keyboard', None, None, ) at index 0 2024-09-16 15:21:38,955,955 WARNING [SolaarListener:hidraw9] logitech_receiver.base: (18) timeout (6.49/4.00) on device 255 ping 2024-09-16 15:21:38,956,956 INFO [SolaarListener:hidraw9] solaar.listener: status_changed : paired offline (0) 2024-09-16 15:21:38,956,956 DEBUG [SolaarListener:hidraw9] logitech_receiver.base: (18) pinging device 255 2024-09-16 15:21:38,956,956 DEBUG [SolaarListener:hidraw9] logitech_receiver.base: (18) <= w[11 FF 001C 00000B00000000000000000000000000] 2024-09-16 15:21:38,957,957 DEBUG [MainThread] solaar.ui: status changed: (None) None 2024-09-16 15:21:38,957,957 INFO [MainThread] hidapi.udev: OPEN PATH /dev/hidraw9 2024-09-16 15:21:38,957,957 DEBUG [MainThread] logitech_receiver.base: (22) pinging device 255 2024-09-16 15:21:42,961,961 WARNING [SolaarListener:hidraw9] logitech_receiver.base: (18) timeout (4.00/4.00) on device 255 ping 2024-09-16 15:21:42,962,962 DEBUG [MainThread] logitech_receiver.base: (22) <= w[11 FF 001A 0000F100000000000000000000000000] 2024-09-16 15:21:49,235,235 WARNING [MainThread] logitech_receiver.base: (22) timeout (6.27/4.00) on device 255 ping Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/solaar/ui/__init__.py", line 114, in _status_changed tray.update(device) File "/usr/lib/python3.12/site-packages/solaar/ui/tray.py", line 460, in update index = _add_device(device) ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/solaar/ui/tray.py", line 336, in _add_device new_device_info = (receiver_path, device.number, device.name, device) ^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/logitech_receiver/device.py", line 204, in name return self._name or self._codename or ("Unknown device %s" % (self.wpid or hex(self.product_id)[2:].upper())) ^^^^^^^^^^^^^^^^^^^^ TypeError: 'str' object cannot be interpreted as an integer ```
saxophone-guy commented 2 months ago

What version of the OS?

If Solaar works with the keyboard connected to a receiver but not under bluetooth then this should be treated as a bug and all the information requested for a bug report provided.

Arch Linux doesn't really have versions...? It's a rolling release distro.

pfps commented 2 months ago

The end of this log is showing a bug that should have since been fixed. Please download and run Solaar from this repository and see whether this problem still occurs.

The WARNINGs in the log may be caused by a change to the Linux Bluetooth stack, which keeps connections to inactive Bluetooth devices. There isn't anything Solaar can do about this except handle the problems that it causes. The version of Solaar in this repository should be reasonably good at this.

The second line in the log does look problematic. What is the contents of your ~/.config/solaar/config.yaml?

To clone and use Solar from its GitHub repository

git clone https://github.com/pwr-Solaar/Solaar.git
cd Solaar

Run Solaar as bin/solaar from this directory.

pfps commented 1 month ago

This looks to be the same as #2621