pwr-Solaar / Solaar

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

[046d:c534] with mouse M185 & keyboard K270 #234

Closed Akhenaton closed 3 years ago

Akhenaton commented 9 years ago

[Bus 001 Device 003: ID 046d:c534 Logitech, Inc.]

Solaar doesn't recognize this receiver.

usb 1-3: New USB device found, idVendor=046d, idProduct=c534
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-3: Product: USB Receiver
usb 1-3: Manufacturer: Logitech
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:046D:C534.0001/input/input4
hid-generic 0003:046D:C534.0001: input,hidraw0: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:14.0-3/input0
input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.1/0003:046D:C534.0002/input/input5
hid-generic 0003:046D:C534.0002: input,hiddev0,hidraw1: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-3/input1
FabioBeneditto commented 9 years ago

I had same problem, but I'm using an M150 + K220 kit.

mybays commented 9 years ago

I still have the same problem too.....

Akhenaton commented 9 years ago

Well, i think this Solaar project is dead now... Nothing has been done since months :-)

ellisistfroh commented 8 years ago

You could just type in a terminal

solaar-cli show -v

Since I've done that I found out that I need a new usb-receiver (not nano but unifying, cost 8$ as bulk)

jrbenito commented 8 years ago

I have same combo with very same receiver and another receiver that is unifying for sure:

$ lsusb -d 046d:
Bus 005 Device 013: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 005 Device 012: ID 046d:c534 Logitech, Inc. Unifying Receiver

@Lekensteyn ,

I added c534 as nano receiver in the lib/logitech_receiver/base_usb.py but after it solaar show fails with an AttributeError exception "Receiver object does not have _devices" property.

If you guide a little I can get some more information. I can code python and have good knowledge on linux, but I don't know much about hid subsystem.

jrbenito commented 8 years ago

Information gathered from this USB receiver:

Kernel Log:

$ dmesg
[11659.044743] usb 5-4: new full-speed USB device number 5 using ohci-pci
[11659.217304] usb 5-4: New USB device found, idVendor=046d, idProduct=c534
[11659.217316] usb 5-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[11659.217323] usb 5-4: Product: USB Receiver
[11659.217329] usb 5-4: Manufacturer: Logitech
[11659.226259] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:13.0/usb5/5-4/5-4:1.0/0003:046D:C534.000D/input/input27
[11659.281582] hid-generic 0003:046D:C534.000D: input,hidraw8: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:13.0-4/input0
[11659.287700] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:13.0/usb5/5-4/5-4:1.1/0003:046D:C534.000E/input/input28
[11659.341407] hid-generic 0003:046D:C534.000E: input,hiddev0,hidraw9: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:13.0-4/input1

The /dev/ files:

ls /dev/hidraw? -l
[...]
crw-rw----+ 1 root root   248, 8 Out 15 02:15 /dev/hidraw8
crw-rw----+ 1 root root   248, 9 Out 15 02:15 /dev/hidraw9

Solaar (master branch):

$ tools/scan-registers.sh FF /dev/hidraw9
# Old notification flags: 000000
>> (   0.022) [10 FF 8100 000900] '\x10\xff\x81\x00\x00\t\x00'
<< (   0.020) [10 FF 8102 000000] '\x10\xff\x81\x02\x00\x00\x00'
>> (   0.024) [10 FF 8102 000217] '\x10\xff\x81\x02\x00\x02\x17'
--
<< (   4.600) [10 FF 81D0 000000] '\x10\xff\x81\xd0\x00\x00\x00'
>> (   4.604) [10 FF 81D0 000000] '\x10\xff\x81\xd0\x00\x00\x00'
--
<< (   4.626) [10 FF 81D2 000000] '\x10\xff\x81\xd2\x00\x00\x00'
>> (   4.628) [10 FF 8F81 D20300] '\x10\xff\x8f\x81\xd2\x03\x00'
--
<< (   4.650) [10 FF 81D4 000000] '\x10\xff\x81\xd4\x00\x00\x00'
>> (   4.652) [10 FF 8F81 D40300] '\x10\xff\x8f\x81\xd4\x03\x00'
--
<< (   4.674) [10 FF 81D6 000000] '\x10\xff\x81\xd6\x00\x00\x00'
>> (   4.678) [10 FF 81D6 090000] '\x10\xff\x81\xd6\t\x00\x00'
--
<< (   4.876) [10 FF 81E6 000000] '\x10\xff\x81\xe6\x00\x00\x00'
>> (   4.878) [10 FF 81E6 000000] '\x10\xff\x81\xe6\x00\x00\x00'
--
<< (   5.012) [10 FF 81F1 000000] '\x10\xff\x81\xf1\x00\x00\x00'
>> (   5.016) [10 FF 8F81 F10300] '\x10\xff\x8f\x81\xf1\x03\x00'
<< (   2.256) [10 FF 83B5 000000] '\x10\xff\x83\xb5\x00\x00\x00'
>> (   2.259) [10 FF 8F83 B50300] '\x10\xff\x8f\x83\xb5\x03\x00'
--
<< (   2.660) [10 FF 83D5 000000] '\x10\xff\x83\xd5\x00\x00\x00'
>> (   2.663) [11 FF 83D5 00465B31CB2015011700000000000000] '\x11\xff\x83\xd5\x00F[1\xcb \x15\x01\x17\x00\x00\x00\x00\x00\x00\x00'

Same command over /dev/hidraw8 returns a "broken pipe" exception.

jrbenito commented 8 years ago

Modified Solaar as:

$ git diff lib/logitech_receiver/base_usb.py
diff --git a/lib/logitech_receiver/base_usb.py b/lib/logitech_receiver/base_usb.py
index 7280579..69f0e50 100644
--- a/lib/logitech_receiver/base_usb.py
+++ b/lib/logitech_receiver/base_usb.py
@@ -48,6 +48,7 @@ NANO_RECEIVER_C521        = _nano_receiver(0xc521)
 NANO_RECEIVER_C525        = _nano_receiver(0xc525)
 NANO_RECEIVER_C526        = _nano_receiver(0xc526)
 NANO_RECEIVER_C52e        = _nano_receiver(0xc52e)
+NANO_RECEIVER_C534        = _nano_receiver(0xc534)

 del _unifying_receiver, _nano_receiver
@@ -65,4 +66,5 @@ ALL = (
                NANO_RECEIVER_C525,
                NANO_RECEIVER_C526,
                NANO_RECEIVER_C52e,
+               NANO_RECEIVER_C534,
        )

Then run it:

$ bin/solaar -D /dev/hidraw9 show
Exception AttributeError: "'Receiver' object has no attribute '_devices'" in <object repr() failed> ignored
solaar: error: Logitech receiver not found

System:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial
Linux Wolf 4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Now I need to understand what Solaar is looking for and why it is not getting it. I will try figure this out when I come back from my business trip.

There is a duplicate issue #294 I opened before find this one. Could someone mark it as duplicate?

Regards, Benito.

Lekensteyn commented 8 years ago

Hey @jrbenito, thanks for your investigation. Your changes to Solaar should be sufficient. Can you run solaar show with --debug and look for hints? The attribute _devices should really exist (see lib/logitech_receiver/receiver.py, class Receiver).

jrbenito commented 8 years ago

@Lekensteyn ,

Yes, I will do it and update this issue. However this will take until next week, due to bis trip I have no access to the receiver on this machine.

BRs Jrbenito

jrbenito commented 8 years ago

Relates to #222 and #152 (different combo with same unrecognized receiver C534)

miguelpeixe commented 8 years ago

Tried the same approach @jrbenito presented (adding C534 to base_usb.py), got different error.

My device is at hidraw1:

$ ls /dev/hidraw? -l
crw------- 1 root root 245, 0 Out 25 15:24 /dev/hidraw0
crw------- 1 root root 245, 1 Out 25 15:24 /dev/hidraw1
crw------- 1 root root 245, 2 Out 25 14:15 /dev/hidraw2
crw------- 1 root root 245, 3 Out 25 14:15 /dev/hidraw3
$ bin/solaar -D /dev/hidraw1 show
solaar: error: 'ascii' codec can't decode byte 0xc3 in position 18: ordinal not in range(128)
jrbenito commented 8 years ago

@miguelpeixe ,

Did you got this using root user or regular user? Because you permission does not allow regular users to open the device node on /dev.

Also, did you perform the test using master branch on this repo?

Thanks and regards

jrbenito commented 8 years ago

@Lekensteyn and others,

here is the debug:

$ ./bin/solaar -dd show
11:33:25,962    DEBUG [MainThread] logitech_receiver.base: (3) <= w[10 FF 83B5 030000]
11:33:25,964    DEBUG [MainThread] logitech_receiver.base: (3) => r[10 FF 8F83 B50300]
11:33:25,964    DEBUG [MainThread] logitech_receiver.base: (3) device 0xFF error on request {83B5}: 3 = invalid value
11:33:25,965    ERROR [MainThread] logitech_receiver.receiver: open DeviceInfo(path=u'/dev/hidraw3', vendor_id=u'046d', product_id=u'c534', serial=u'\nMODALIAS=hid:b0003g0001v0000046Dp0000C534', release='2900', manufacturer='Logitech', product='USB Receiver', interface=1, driver=u'hid-generic')
Traceback (most recent call last):
  File "/home/jbenito/projetos/projs-python/Solaar/lib/logitech_receiver/receiver.py", line 525, in open
    return Receiver(handle, device_info)
  File "/home/jbenito/projetos/projs-python/Solaar/lib/logitech_receiver/receiver.py", line 340, in __init__
    assert serial_reply
AssertionError
Exception AttributeError: "'Receiver' object has no attribute '_devices'" in <object repr() failed> ignored
11:33:25,965    DEBUG [MainThread] solaar.cli: [/dev/hidraw3] => None
solaar: error: Logitech receiver not found

Seems related to registers I guess, am I right? Keep looking.

jrbenito commented 8 years ago

Good news!

Based on debug information I could figure out that reading serial number from device is failing (return none due to error). Solaar figures the maximum supported devices through the serial number, so also max_devices properties need to have a value. I cheated by hard coding serial number to zero and max_devices to 2 (this receive supports only two interfaces):

diff --git a/lib/logitech_receiver/receiver.py b/lib/logitech_receiver/receiver.py
index 1a01ba3..aff1ce9 100644
--- a/lib/logitech_receiver/receiver.py
+++ b/lib/logitech_receiver/receiver.py
@@ -336,10 +336,14 @@ class Receiver(object):

                # read the serial immediately, so we can find out max_devices
                # this will tell us if it's a Unifying or Nano receiver
-               serial_reply = self.read_register(_R.receiver_info, 0x03)
-               assert serial_reply
-               self.serial = _strhex(serial_reply[1:5])
-               self.max_devices = ord(serial_reply[6:7])
+                if self.product_id != 'c534':
+                    serial_reply = self.read_register(_R.receiver_info, 0x03)
+                    assert serial_reply
+                   self.serial = _strhex(serial_reply[1:5])
+                   self.max_devices = ord(serial_reply[6:7])
+                else:
+                    self.max_devices = 2
+                    self.serial = 0

Solaar now reports:

$ bin/solaar show
Unifying Receiver
  Device path  : /dev/hidraw3
  USB id       : 046d:c534
  Serial       : 0
    Firmware   : 29.00.B0015
  Has 2 paired device(s) out of a maximum of 2.
  Notifications: (none)

  1:
     Codename     :
     Kind         : keyboard
     Wireless PID : 4023
     Protocol     : unknown (device is offline)
     Polling rate : 20 ms (50Hz)
     Serial number: 00000000
     Battery: unknown (device is offline).

  2: Wireless Mouse
     Codename     :
     Kind         : mouse
     Wireless PID : 4038
     Protocol     : HID++ 2.0
     Polling rate : 8 ms (125Hz)
     Serial number: 00000000
          Firmware: RQM 54.00.B0004
     Supports 22 HID++ 2.0 features:
         0: ROOT                   {0000}
         1: FEATURE SET            {0001}
         2: DEVICE FW VERSION      {0003}
         3: DEVICE NAME            {0005}
         4: BATTERY STATUS         {1000}
         5: unknown:1830           {1830}   internal, hidden
         6: unknown:1850           {1850}   internal, hidden
         7: unknown:1860           {1860}   internal, hidden
         8: unknown:1890           {1890}   internal, hidden
         9: unknown:18A0           {18A0}   internal, hidden
        10: unknown:18C0           {18C0}   internal, hidden
        11: WIRELESS DEVICE STATUS {1D4B}
        12: unknown:1DF3           {1DF3}   internal, hidden
        13: REPROG CONTROLS        {1B00}
        14: unknown:1DF0           {1DF0}   hidden
        15: unknown:1E00           {1E00}   hidden
        16: unknown:1E80           {1E80}   internal, hidden
        17: unknown:1E90           {1E90}   internal, hidden
        18: unknown:1F03           {1F03}   internal, hidden
        19: VERTICAL SCROLLING     {2100}
        20: MOUSE POINTER          {2200}
        21: unknown:18B0           {18B0}   internal, hidden
     Has 3 reprogrammable keys:
         0: LEFT CLICK                 => LeftClick                     mse, reprogrammable
         1: RIGHT CLICK                => RightClick                    mse, reprogrammable
         2: MIDDLE BUTTON              => MiddleMouseButton             mse, reprogrammable
     Battery: 70%, discharging.

Next Steps:

Lekensteyn commented 8 years ago

The maximum number of devices is apparently not reliable, see for example #292. I have not seen the situation where the serial number can also not be retrieved, I guess showing zeroes for the serial and printing a warning is better than crashing. Not exactly sure how to handle the maximum though, do we know for sure that the maximum is always 2 for this receiver?

The device name should be retrievable via the Device Name feature (0x0005). This should already be implemented, see lib/logitech_receiver/hidpp20.py:405. Its specification is in https://lekensteyn.nl/files/logitech/logitech_hidpp_2.0_specification_draft_2012-06-04.pdf

jrbenito commented 8 years ago

@Lekensteyn .

No, we do not know for sure it only supports 2 devices but it is an educated guess based on the fact that, Logitech setpoint software does recognize those 2 devices, all combos at Logitech site are composed by 2 devices and, Logitech unifying windows software does not recognize this receiver (what, IMHO means I cannot pair/unpair devices to it. However, this is still just a guess.

The serial number reading is returning a error as command unknown, and the try catch is translating this to none. I also agree that fallback to zero filed serial number and a warning is better than crash. But we will have to handle max devices too because it is derived from serial number.

I was reading the hid++ 2.0 spec on your site, will investigate deep to find why it is not being retrieved.

jrbenito commented 8 years ago

@Lekensteyn ,

I withdraw my guess above. Logitech provides a "re-connect software" for the nano receivers and indeed this software allow me to pair new devices. Now it reports 1 keyboard and 1 mouse connect (the combo itself). But I dumped the information it provides and found the receiver also supports 6 devices. The software also did not show any serial number for receiver nor for mouse and keyboard, maybe this is not supported here.

Based on the bold above, I believe worth to setup a USB spy + windows virtual machine to dump USB communication from this software to the Nano receiver, we might find how does it figures the maximum allowed devices.

Out of curiosity, Logitech software reports firmware version '029.000.00015' and Solaar reports '029.000.B0015'. Where does that B comes from? Yet to discover. Same for the mouse, logitech´´s '054.000.00004' while Solaar 'RQM 054.000.B0004'.

Software reference: Logitech support site for MK270

Re-Connect Software Version : 2.00.3
Dj Api Version : 2, 20, 7

Receiver
Name : wireless receiver
ModelId : 0x46dc534
Serial Number : 
Handle : 0xff000004
Wireless Status : 0x3
Firmware version : 029.000.00015
Bootloader version : 
Dfu Status : 0x1
Is Dfu Cancellable : Yes
Max Device Capacity : 6

Full dump on next message.

jrbenito commented 8 years ago
Bootloader version : 
Dfu Status : 0x1
Is Dfu Cancellable : Yes
Max Device Capacity : 6

    Mouse
    Name : 
    ModelId : 0x0
    Serial Number : 4038-00-00-00-00
    Handle : 0x2000006
    Wireless Status : 0x0
    Firmware version : 054.000.00004
    Bootloader version : 
    Dfu Status : 0x1
    Is Dfu Cancellable : No
    Battery Status : 0x3
    Parent Handle : 0xff000004

    Keyboard
    Name :  
    ModelId : 0x0
    Serial Number : 4023-00-00-00-00
    Handle : 0x1000005
    Wireless Status : 0x1
    Firmware version : 000.000.00000
    Bootloader version : 
    Dfu Status : 0x0
    Is Dfu Cancellable : No
    Battery Status : 0x0
    Parent Handle : 0xff000004

[16:40:52:0806]: ----------[09-13-2016]------------------------- Unifying API ------------------------------------

[16:40:52:0806]: <9824>Unifying Loaded DLL: 2.50.25

[16:41:21:0573]: -------------------------------------------------------------------------------------------------

[01:24:35:0042]: ----------[10-17-2016]------------------------- Unifying API ------------------------------------

[01:24:35:0042]: <8740>Unifying Loaded DLL: 2.50.25

[01:24:49:0335]: <6644>New Pairing successful: Device [K270 - 4003-3D-75-04-FA]

[01:25:10:0713]: -------------------------------------------------------------------------------------------------

[15:43:24:0311]: ----------[10-17-2016]------------------------- Unifying API ------------------------------------

[15:43:24:0317]: <8764>Unifying Loaded DLL: 2.50.25

[15:44:09:0542]: -------------------------------------------------------------------------------------------------

[11:12:41:0506]: ----------[11-09-2016]------------------------- Unifying API ------------------------------------

[11:12:41:0506]: <10680>Unifying Loaded DLL: 2.50.25

[11:12:42:0236]: <9440>HID++ contention false positive error detected (Idx:0xFF. Threshold:1.0 ms).

[11:12:46:0595]: <12516>Failed to read activity counter. Polling thread aborted.

[11:13:18:0250]: <10396>Failed to read activity counter. Polling thread aborted.

[11:13:51:0815]: <8400>Failed to read activity counter. Polling thread aborted.

[15:49:48:0560]: ----------[11-09-2016]------------------------- Unifying API ------------------------------------

[15:49:48:0571]: <12628>Unifying Loaded DLL: 2.20.7

[15:50:05:0568]: <10424>HID++ contention false positive error detected (Idx:0xFF. Threshold:1.0 ms).

[15:50:11:0688]: <13084>Failed to read activity counter. Polling thread aborted.

Log content displays the 100% of the available one.
Lekensteyn commented 8 years ago

Would be nice if you can create a pcap of the USB traffic :)

Either capture it using using something like USBPcap on Windows or use a VM as described at https://lekensteyn.nl/logitech-unifying.html

jrbenito commented 8 years ago

I am wondering if this device shouldn´t be bind by 'logitech-djreceiver' driver instead of 'hid_generic... even the re-connection software has someDJ APIandUnifying DLL`.

jrbenito commented 8 years ago

Keyboard was read at home as well

1: Wireless Keyboard  
     Codename     :  
     Kind         : keyboard
     Wireless PID : 4023
     Protocol     : HID++ 2.0
     Polling rate : 20 ms (50Hz)
     Serial number: 00000000
          Firmware: RQK 49.00.B0029
     Supports 18 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
         3: DEVICE NAME            {0005}   
         4: BATTERY STATUS         {1000}   
         5: REPROG CONTROLS        {1B00}   
         6: WIRELESS DEVICE STATUS {1D4B}   
         7: FN INVERSION           {40A0}   
         8: ENCRYPTION             {4100}   
         9: KEYBOARD LAYOUT        {4520}   
        10: unknown:1810           {1810}   internal, hidden
        11: unknown:1830           {1830}   internal, hidden
        12: unknown:1890           {1890}   internal, hidden
        13: unknown:18A0           {18A0}   internal, hidden
        14: unknown:18B0           {18B0}   internal, hidden
        15: unknown:1DF3           {1DF3}   internal, hidden
        16: unknown:1E00           {1E00}   hidden
        17: unknown:1868           {1868}   internal, hidden
     Has 11 reprogrammable keys:
         0: MY HOME                    => HomePage                      FN sensitive, is FN, reprogrammable
         1: Mail                       => Email                         FN sensitive, is FN, reprogrammable
         2: SEARCH                     => Search                        FN sensitive, is FN, reprogrammable
         3: Calculator                 => Calculator                    FN sensitive, is FN, reprogrammable
         4: MEDIA PLAYER               => Music                         FN sensitive, is FN, reprogrammable
         5: Previous                   => Previous                      FN sensitive, is FN
         6: Play/Pause                 => Play/Pause                    FN sensitive, is FN
         7: Next                       => Next                          FN sensitive, is FN
         8: Mute                       => Mute                          FN sensitive, is FN
         9: Volume Down                => Volume Down                   FN sensitive, is FN
        10: Volume Up                  => Volume Up                     FN sensitive, is FN
     Battery: 30%, discharging.
Lekensteyn commented 8 years ago

Support for hid-logitech-dj makes it possible to expose multiple, independent devices. The dmesg shows two devices, one keyboard and one mouse. So unless you pair more than two devices of the same kind, I think it is not needed.

Regarding your earlier question on the letter B in the firmware version, I observed this in earlier logs from the Logitech software for my device. It is added in lib/logitech_receiver/hidpp20.py:376

jrbenito commented 8 years ago

Thanks for inputs, I tried to get pcap yesterday night but a thunderstorm made electrical power to oscillate so I gave up. Today I hope do it. If we can figure out other way to differentiate nano receivers from unifying ones would be great since the "max_devices" method is not reliable.

jrbenito commented 8 years ago

For the records, I got USB pcap but no time to analyze it.

@Github won´t let me attach it even zipped.

kmscode commented 7 years ago

Just an outsider here reporting some basic testing info....

I just purchased a K270/M185 combo for an Ubuntu 16.10 system. The master branch doesn't detect the receiver at all. With the changes from PR #318 , the receiver is detected.

The keyboard battery info isn't available:

Unifying Receiver
  Device path  : /dev/hidraw6
  USB id       : 046d:c534
  Serial       : 0
    Firmware   : 29.00.B0015
  Has 2 paired device(s) out of a maximum of 6.
  Notifications: wireless, software present (0x000900)

  1: Wireless Keyboard K270
     Codename     : K270
     Kind         : keyboard
     Wireless PID : 4023
     Protocol     : HID++ 2.0
     Polling rate : 20 ms (50Hz)
     Serial number: E7B2CB9E
     Battery status unavailable.

  2: Wireless Mouse
     Codename     : Wireless Mouse
     Kind         : mouse
     Wireless PID : 4055
     Protocol     : HID++ 4.5
     Polling rate : 8 ms (125Hz)
     Serial number: 3F2A7C92
          Firmware: RQM 66.00.B0001
     The power switch is located on the base.
     Supports 22 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
         3: DEVICE NAME            {0005}   
         4: RESET                  {0020}   
         5: BATTERY STATUS         {1000}   
         6: unknown:1810           {1810}   internal, hidden
         7: unknown:1830           {1830}   internal, hidden
         8: unknown:1802           {1802}   internal, hidden
         9: unknown:1862           {1862}   internal, hidden
        10: unknown:1890           {1890}   internal, hidden
        11: unknown:18A0           {18A0}   internal, hidden
        12: unknown:18B1           {18B1}   internal, hidden
        13: REPROG CONTROLS V4     {1B04}   
        14: WIRELESS DEVICE STATUS {1D4B}   
        15: unknown:1DF0           {1DF0}   hidden
        16: unknown:1DF3           {1DF3}   internal, hidden
        17: unknown:1E00           {1E00}   hidden
        18: unknown:1EB0           {1EB0}   internal, hidden
        19: unknown:1F03           {1F03}   internal, hidden
        20: LOWRES WHEEL           {2130}   
        21: POINTER SPEED          {2205}   
     Battery: 70%, discharging.

(On a side note, that is a brand new Duracell battery... 70% really!?)

The GUI doesn't show any device details.. solaar

Log from solaar -d : solaar.txt

I understand that there are some concerns about overall implementations per the comments in the PR...

I would love to see this working! I'm not a python guy, but I can test and generate more info if needed...

Thanks for your efforts!

zoqaeski commented 7 years ago

Like @kmscode I also tested the patch from PR #318, and can confirm it works with the K270/M185 pair. I also don't get any battery status info, nor do any details show up in the GUI.

Unifying Receiver
  Device path  : /dev/hidraw1
  USB id       : 046d:c534
  Serial       : 0
    Firmware   : 29.01.B0016
  Has 2 paired device(s) out of a maximum of 6.
  Notifications: wireless, software present (0x000900)

  1: Wireless Keyboard K270
     Codename     : K270
     Kind         : keyboard
     Wireless PID : 4023
     Protocol     : HID++ 2.0
     Polling rate : 20 ms (50Hz)
     Serial number: AF8FFCDC
     Battery status unavailable.

  2: Wireless Mouse M185
     Codename     : M185
     Kind         : mouse
     Wireless PID : 4054
     Protocol     : HID++ 4.5
     Polling rate : 8 ms (125Hz)
     Serial number: 00000000
          Firmware: RQM 64.00.B0008
     The power switch is located on the base.
     Supports 20 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
         3: DEVICE NAME            {0005}   
         4: RESET                  {0020}   
         5: REPROG CONTROLS V4     {1B04}   
         6: WIRELESS DEVICE STATUS {1D4B}   
         7: LOWRES WHEEL           {2130}   
         8: POINTER SPEED          {2205}   
         9: unknown:1802           {1802}   internal, hidden
        10: unknown:1810           {1810}   internal, hidden
        11: unknown:1830           {1830}   internal, hidden
        12: unknown:1850           {1850}   internal, hidden
        13: unknown:1869           {1869}   internal, hidden
        14: unknown:1890           {1890}   internal, hidden
        15: unknown:18B1           {18B1}   internal, hidden
        16: unknown:1DF3           {1DF3}   internal, hidden
        17: unknown:1E00           {1E00}   hidden
        18: unknown:1F03           {1F03}   internal, hidden
        19: unknown:1E80           {1E80}   internal, hidden
     Battery status unavailable.

We have the same model of device, but mine lists different functions. I suspect that may be because for some reason mine is using the hid-generic kernel driver rather than the hid-logitech-dj one, and I can't for the life of me figure out why this is so.

Interestingly enough though, I'm no longer getting dropped keypresses or a lagging mouse, which I was before. Still happens, to the extent that the keyboard is almost unusable on a bad day.

ArsenioLupin commented 7 years ago

Hi, I have the same problem with w10 and logitech sw. I think it's a dongle problem and not a solaar problem. The dongle get stuck with a device and cannot pair another one.

jrbenito commented 7 years ago

PR #337 also do same as PR #318

I submitted PR #342 that depends on PR #337 , I tested locally and it works.

pfps commented 4 years ago

Recent changes to solaar have improved support for the c534 receiver. This receiver can pair only two devices, probably one M185 and one K270. It cannot unpair. Trying to pair replaces an existing pairing. The receiver can only pair a limited number of times.

Drack-K commented 3 years ago

Hello Sorry for the inconvenience, but I have a problem with my MK220 combo, I installed version 1.0.5 and I have the following result: Captura de pantalla de 2021-04-11 17-39-08 Captura de pantalla de 2021-04-11 17-53-09 Captura de pantalla de 2021-04-11 17-52-14

drack@drack-pc:~$ solaar show
Nano Receiver
  Device path  : /dev/hidraw1
  USB id       : 046d:C534
  Serial       : None
    Firmware   : 29.00.B0015
  Has 2 paired device(s) out of a maximum of 2.
  Has 17 successful pairing(s) remaining.
  Notifications: software present (0x000800)

  1: Wireless Keyboard MK270
     Device path  : None
     WPID         : 4023
     Codename     : MK270
     Kind         : keyboard
     Protocol     : HID++ 2.0
     Polling rate : 20 ms (50Hz)
     Serial number: 7121A5F5
     Model ID:      000000000000
     Unit ID:       00000000
          Firmware: RQK 49.00.B0029
     Supports 18 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
            Firmware: Firmware RQK 49.00.B0029 4023
            Unit ID: 00000000  Model ID: 000000000000  Transport IDs: {}
         3: DEVICE NAME            {0005}   
            Name: Wireless Keyboard  
            Kind: keyboard
         4: BATTERY STATUS         {1000}   
            Battery: 30%, discharging, next level 5%.
         5: REPROG CONTROLS        {1B00}   
         6: WIRELESS DEVICE STATUS {1D4B}   
         7: FN INVERSION           {40A0}   
            Swap Fx function        : False
         8: ENCRYPTION             {4100}   
         9: KEYBOARD LAYOUT        {4520}   
        10: unknown:1810           {1810}   internal, hidden
        11: unknown:1830           {1830}   internal, hidden
        12: unknown:1890           {1890}   internal, hidden
        13: unknown:18A0           {18A0}   internal, hidden
        14: unknown:18B0           {18B0}   internal, hidden
        15: unknown:1DF3           {1DF3}   internal, hidden
        16: unknown:1E00           {1E00}   hidden
        17: unknown:1868           {1868}   internal, hidden
     Has 11 reprogrammable keys:
         0: My Home                    => HomePage                      is FN, FN sensitive, reprogrammable
         1: Mail                       => Email                         is FN, FN sensitive, reprogrammable
         2: Search                     => Search                        is FN, FN sensitive, reprogrammable
         3: Calculator                 => Calculator                    is FN, FN sensitive, reprogrammable
         4: Media Player               => Music                         is FN, FN sensitive, reprogrammable
         5: Previous                   => Previous                      is FN, FN sensitive
         6: Play/Pause                 => Play/Pause                    is FN, FN sensitive
         7: Next                       => Next                          is FN, FN sensitive
         8: Mute                       => Mute                          is FN, FN sensitive
         9: Volume Down                => Volume Down                   is FN, FN sensitive
        10: Volume Up                  => Volume Up                     is FN, FN sensitive
     Battery: 30%, discharging, next level 5%.

  2: Wireless Mouse M150
     Device path  : None
     WPID         : 4022
     Codename     : M150
     Kind         : mouse
     Protocol     : HID++ 2.0
     Polling rate : 8 ms (125Hz)
     Serial number: 00000000
     Model ID:      000000000000
     Unit ID:       00000000
          Firmware: RQM 38.00.B0044
     Supports 18 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
            Firmware: Firmware RQM 38.00.B0044 4022
            Unit ID: 00000000  Model ID: 000000000000  Transport IDs: {}
         3: DEVICE NAME            {0005}   
            Name: Wireless Mouse  
            Kind: mouse
         4: BATTERY STATUS         {1000}   
            Battery: 30%, discharging, next level 5%.
         5: REPROG CONTROLS        {1B00}   
         6: WIRELESS DEVICE STATUS {1D4B}   
         7: VERTICAL SCROLLING     {2100}   
            Roller type: standard
            Ratchet per turn: 24
            Scroll lines: 0
         8: MOUSE POINTER          {2200}   
            DPI: 1000
            Acceleration: low
            Override OS ballistics
            No vertical tuning, standard mice
         9: unknown:1810           {1810}   internal, hidden
        10: unknown:1830           {1830}   internal, hidden
        11: unknown:1850           {1850}   internal, hidden
        12: unknown:1890           {1890}   internal, hidden
        13: unknown:18B0           {18B0}   internal, hidden
        14: unknown:1DF3           {1DF3}   internal, hidden
        15: unknown:1868           {1868}   internal, hidden
        16: unknown:1869           {1869}   internal, hidden
        17: unknown:1E00           {1E00}   hidden
     Has 3 reprogrammable keys:
         0: Left Button                => Left Click                    mse, reprogrammable
         1: Right Button               => Right Click                   mse, reprogrammable
         2: Middle Button              => Mouse Middle Button           mse, reprogrammable
     Battery: 30%, discharging, next level 5%.

drack@drack-pc:~$ solaar --version
solaar 1.0.5
drack@drack-pc:~$

i have been looking at post #287 and i got here. to clarify, the keyboard says k220 and the mouse M150.

Thank you for your support

pfps commented 3 years ago

Please run solaar -d and post the output. I suspect that there is some error happening.

However, I have nearly the same setup (receiver c534, keyboard MK270, mouse M185) so I'm not sure what is going on.

Drack-K commented 3 years ago

Please run solaar -d and post the output. I suspect that there is some error happening.

However, I have nearly the same setup (receiver c534, keyboard MK270, mouse M185) so I'm not sure what is going

drack@drack-pc:~$ sudo solaar -d
12:23:32,086     INFO [MainThread] root: language es_CO (UTF-8), translations path None
12:23:32,872     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
12:23:33,571     INFO [MainThread] solaar.listener: starting receiver listening threads
12:23:33,651     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path=u'/dev/hidraw1', vendor_id=u'046d', product_id=u'c534', serial=u'', release='2900', manufacturer='Logitech', product='USB Receiver', interface=1, driver=u'logitech-djreceiver')
12:23:33,654     INFO [ReceiverListener:hidraw1] logitech_receiver.listener: started with <UnifyingReceiver(/dev/hidraw1,13)> (13)
12:23:33,654     INFO [ReceiverListener:hidraw1] solaar.listener: <UnifyingReceiver(/dev/hidraw1,13)>: notifications listener has started (13)
12:23:33,657     INFO [ReceiverListener:hidraw1] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw1,13)>: receiver notifications enabled => ('software present',)
12:23:33,660     INFO [ReceiverListener:hidraw1] solaar.listener: status_changed <UnifyingReceiver(/dev/hidraw1,13)>: present, No paired devices. (0) 
pfps commented 3 years ago

Hmm, no error there. Please try solaar -dd. That will produce lots of output.

Drack-K commented 3 years ago

Hmm, no error there. Please try solaar -dd. That will produce lots of output.

12:49:22,282     INFO [MainThread] root: language es_CO (UTF-8), translations path None
12:49:22,649    DEBUG [MainThread] solaar.ui.tray: using AppIndicator3
12:49:22,893     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
12:49:23,215    DEBUG [MainThread] solaar.ui: startup registered=True, remote=False
12:49:23,229    DEBUG [AsyncUI] solaar.tasks: started
12:49:23,240    DEBUG [MainThread] solaar.ui.icons: sys.path[0] = /usr/local/bin
12:49:23,240    DEBUG [MainThread] solaar.ui.icons: looking for icons in /usr/local/icons
12:49:23,240    DEBUG [MainThread] solaar.ui.icons: looking for icons in /usr/local/share/solaar/icons
12:49:23,249    DEBUG [MainThread] solaar.ui.icons: looking for icons in /home/drack/.local/share/solaar/icons
12:49:23,249    DEBUG [MainThread] solaar.ui.icons: looking for icons in /home/drack/.local/lib/python2.7/share/solaar/icons
12:49:23,249    DEBUG [MainThread] solaar.ui.icons: looking for icons in /usr/local/share/solaar/icons
12:49:23,249    DEBUG [MainThread] solaar.ui.icons: looking for icons in /usr/share/solaar/icons
12:49:23,249    DEBUG [MainThread] solaar.ui.icons: icon theme paths: ['/usr/local/share/solaar/icons', '/home/drack/.local/share/solaar/icons', '/usr/local/share/solaar/icons', '/home/drack/.local/share/icons', '/home/drack/.icons', '/usr/local/share/icons', '/usr/share/icons', '/usr/local/share/pixmaps', '/usr/share/pixmaps']
12:49:23,269    DEBUG [MainThread] solaar.ui.icons: detected icon sets: Mint True, gpm True, oxygen False, gnome True, elementary False
12:49:23,289     INFO [MainThread] solaar.listener: starting receiver listening threads
12:49:23,368     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path=u'/dev/hidraw1', vendor_id=u'046d', product_id=u'c534', serial=u'', release='2900', manufacturer='Logitech', product='USB Receiver', interface=1, driver=u'logitech-djreceiver')
12:49:23,383    DEBUG [MainThread] logitech_receiver.base: (13) <= w[10 FF 80B2 000000]
12:49:23,384    DEBUG [MainThread] logitech_receiver.base: (13) => r[10 FF 8F80 B20300]
12:49:23,384    DEBUG [MainThread] logitech_receiver.base: (13) device 0xFF error on request {80B2}: 3 = invalid value
12:49:23,385     INFO [ReceiverListener:hidraw1] logitech_receiver.listener: started with <UnifyingReceiver(/dev/hidraw1,13)> (13)
12:49:23,385     INFO [ReceiverListener:hidraw1] solaar.listener: <UnifyingReceiver(/dev/hidraw1,13)>: notifications listener has started (13)
12:49:23,386    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (13) <= w[10 FF 8000 100900]
12:49:23,388    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (13) => r[10 FF 8000 000000]
12:49:23,389    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (13) <= w[10 FF 8100 000000]
12:49:23,390    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (13) => r[10 FF 8100 000800]
12:49:23,391     INFO [ReceiverListener:hidraw1] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw1,13)>: receiver notifications enabled => ('software present',)
12:49:23,391    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (13) <= w[10 FF 8002 020000]
12:49:23,392    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (13) => r[10 FF 8002 000000]
12:49:23,392     INFO [ReceiverListener:hidraw1] solaar.listener: status_changed <UnifyingReceiver(/dev/hidraw1,13)>: present, No paired devices. (0) 
12:49:23,412    DEBUG [MainThread] solaar.ui: activate
12:49:23,413    DEBUG [MainThread] solaar.ui: status changed: <UnifyingReceiver(/dev/hidraw1,13)> (NONE) None
12:49:30,475    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (13) => r[10 FF 80B2 000000]
12:49:35,275    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (13) => r[10 FF 80B2 000000]

the last lines are intents of pair new device

pfps commented 3 years ago

That trace looks weird. Please check that you are actually running version 1.0.5 by running solaar --version

Drack-K commented 3 years ago

That trace looks weird. Please check that you are actually running version 1.0.5 by running solaar --version

drack@drack-pc:~$ solaar --version
solaar 1.0.5
drack@drack-pc:~$ 
pfps commented 3 years ago

Another thing is to make sure that you are running Python 3. The reason I'm suspicious is that I'm seeing string quotes with a u in front of them. If you are running Python 3 try

solaar --version
solaar -dd
Drack-K commented 3 years ago

I uninstalled python 2.7.17(only python 3.6.9 was left) and deleted past versions of solaar along with residual files, I get this:

drack@drack-pc:~$ solaar --version
solaar 1.0.5
drack@drack-pc:~$ solaar -dd
14:00:17,022     INFO [MainThread] root: language es_CO (UTF-8), translations path None
14:00:17,214    DEBUG [MainThread] solaar.ui.tray: using AppIndicator3
14:00:17,229     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
drack@drack-pc:~$ sudo solaar -dd
[sudo] contraseña para drack: 
sudo: no se puede ejecutar /usr/local/bin/solaar: No existe el archivo o el directorio
drack@drack-pc:~$ python3 -V
Python 3.6.9
drack@drack-pc:~$ 
pfps commented 3 years ago

Solaar checks to see if it is already running, so you have to quit other copies of it.

Drack-K commented 3 years ago

Well I think I've ended up with a major problem, by uninstalling and installing things, I've damaged the ubuntu GUI, I'll reinstall ubuntu and let you know if the error persists. I think one of the problems I had was that both versions of python (2.7 and 3.6) were installed, also that I did not clean the temporary files of the previous versions of Solaar. Y no se si tenia algo que ver, pero la combinacion que tenia no coincidia con los combos establecidos (MK270 y M150). Sorry for the inconvenience, I will come back if I encounter any problems.

pfps commented 3 years ago

It is surprising how much of Linux distributions depend on Python. I run Fedora, and I don't think that there is any dependence on Python 2 any more. Anyway, good luck and let me know if the problem recurs.

Drack-K commented 3 years ago

I'm back, but with more problems, the pairing error persists and when I put solaar --dd a rules warning appears, I already copied the file to /etc/udev/rules.d and updated the udev. It is running only python3 and solaar 1.0.5.

drack@drack-pc:~$ sudo solaar -dd
[sudo] contraseña para drack: 
17:40:31,380     INFO [MainThread] root: language es_CO (UTF-8), translations path None
17:40:31,534  WARNING [MainThread] logitech_receiver.diversion: X11 not available - rules will not be activated
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/logitech_receiver/diversion.py", line 51, in <module>
    disp_prog = Display()
  File "/usr/local/lib/python3.8/dist-packages/Xlib/display.py", line 89, in __init__
    self.display = _BaseDisplay(display)
  File "/usr/local/lib/python3.8/dist-packages/Xlib/display.py", line 71, in __init__
    protocol_display.Display.__init__(self, *args, **keys)
  File "/usr/local/lib/python3.8/dist-packages/Xlib/protocol/display.py", line 166, in __init__
    raise error.DisplayConnectionError(self.display_name, r.reason)
Xlib.error.DisplayConnectionError: Can't connect to display ":0": b'No protocol specified\n'
17:40:31,538    DEBUG [MainThread] solaar.ui.tray: using Ayatana AppIndicator3
17:40:31,554     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
drack@drack-pc:~$ solaar --version
solaar 1.0.5
drack@drack-pc:~$ 
pfps commented 3 years ago

This error occurs because you are running solaar with sudo. That's not allowed anymore - I'll update the documentation.

What you should do is install the Solaar udev rule, if it is not already installed. Then you don't need to use sudo to run Solaar.

Drack-K commented 3 years ago

ok, udev is already installed and when running solaar -dd without sudo I have this:

drack@drack-pc:~$ solaar -dd
18:06:46,842     INFO [MainThread] root: language es_CO (UTF-8), translations path None
18:06:47,102    DEBUG [MainThread] solaar.ui.tray: using Ayatana AppIndicator3
18:06:47,116     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
pfps commented 3 years ago

You need to kill other instances of Solaar.

Drack-K commented 3 years ago

Oops didn't know that, sorry

drack@drack-pc:~$ solaar -dd
18:23:02,955     INFO [MainThread] root: language es_CO (UTF-8), translations path None
18:23:03,128    DEBUG [MainThread] solaar.ui.tray: using Ayatana AppIndicator3
18:23:03,143     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
18:23:03,207    DEBUG [MainThread] solaar.ui: startup registered=True, remote=False
18:23:03,241    DEBUG [AsyncUI] solaar.tasks: started
18:23:03,242     INFO [MainThread] solaar.ui.notify: starting desktop notifications
18:23:03,247    DEBUG [MainThread] solaar.ui.icons: sys.path[0] = /home/drack/.local/bin
18:23:03,247    DEBUG [MainThread] solaar.ui.icons: looking for icons in /home/drack/.local/icons
18:23:03,247    DEBUG [MainThread] solaar.ui.icons: looking for icons in /home/drack/.local/share/solaar/icons
18:23:03,261    DEBUG [MainThread] solaar.ui.icons: icon theme paths: ['/home/drack/.local/share/solaar/icons', '/home/drack/.local/share/icons', '/home/drack/.icons', '/usr/share/ubuntu/icons', '/usr/local/share/icons', '/usr/share/icons', '/var/lib/snapd/desktop/icons', '/usr/share/ubuntu/pixmaps', '/usr/local/share/pixmaps', '/usr/share/pixmaps', '/var/lib/snapd/desktop/pixmaps']
18:23:03,336     INFO [MainThread] solaar.listener: starting receiver listening threads
18:23:03,343     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw1', vendor_id='046D', product_id='C534', serial='', release=None, manufacturer=None, product=None, interface=1, driver='logitech-djreceiver', bus_id=3, isDevice=None)
18:23:03,343    DEBUG [MainThread] logitech_receiver.base: (17) <= w[10 FF 83B5 030000]
18:23:03,346    DEBUG [MainThread] logitech_receiver.base: (17) => r[10 FF 8F83 B50300]
18:23:03,346    DEBUG [MainThread] logitech_receiver.base: (17) device 0xFF error on request {83B5}: 3 = invalid value
18:23:03,346     INFO [ReceiverListener:hidraw1] logitech_receiver.listener: started with <NanoReceiver(/dev/hidraw1,17)> (17)
18:23:03,346     INFO [ReceiverListener:hidraw1] solaar.listener: <NanoReceiver(/dev/hidraw1,17)>: notifications listener has started (17)
18:23:03,347    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (17) <= w[10 FF 8000 100900]
18:23:03,350    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (17) => r[10 FF 8000 000000]
18:23:03,350    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (17) <= w[10 FF 8100 000000]
18:23:03,352    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (17) => r[10 FF 8100 000800]
18:23:03,352     INFO [ReceiverListener:hidraw1] logitech_receiver.receiver: <NanoReceiver(/dev/hidraw1,17)>: receiver notifications enabled => ('software present',)
18:23:03,366    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (17) <= w[10 FF 8002 020000]
18:23:03,368    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (17) => r[10 FF 8002 000000]
18:23:03,368     INFO [ReceiverListener:hidraw1] solaar.listener: status_changed <NanoReceiver(/dev/hidraw1,17)>: present, No paired devices. (0) 
18:23:03,369    DEBUG [MainThread] solaar.ui: activate
18:23:03,376    DEBUG [MainThread] solaar.ui: status changed: <NanoReceiver(/dev/hidraw1,17)> (NONE) None
18:23:03,378    DEBUG [MainThread] solaar.ui.window: new receiver row ('/dev/hidraw1', 0, True, 'Nano Receiver', None, None, None, <NanoReceiver(/dev/hidraw1,17)>)
18:23:05,614    DEBUG [MainThread] logitech_receiver.base: (24) <= w[10 FF 8102 000000]
18:23:05,618    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (17) => r[10 FF 8102 000214]
18:23:05,618    DEBUG [MainThread] logitech_receiver.base: (24) => r[10 FF 8102 000214]
18:23:07,558    DEBUG [MainThread] solaar.ui.pair_window: prepare <Gtk.Assistant object at 0x7ff67007c740 (GtkAssistant at 0x1be86e0)> 0 <Gtk.VBox object at 0x7ff67067f500 (GtkVBox at 0x1bf89d0)>
18:23:07,558    DEBUG [MainThread] logitech_receiver.base: (24) <= w[10 FF 80B2 01001E]
18:23:07,562    DEBUG [MainThread] logitech_receiver.base: (24) => r[10 FF 80B2 000000]
18:23:07,562    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (17) => r[10 FF 80B2 000000]
18:23:09,064    DEBUG [MainThread] solaar.ui.pair_window: <NanoReceiver(/dev/hidraw1,17)> fail: failed to open pairing lock
18:23:09,068    DEBUG [MainThread] solaar.ui.pair_window: prepare <Gtk.Assistant object at 0x7ff67007c740 (GtkAssistant at 0x1be86e0)> 1 <Gtk.VBox object at 0x7ff670088dc0 (GtkVBox at 0x1bf8df0)>
18:23:14,443    DEBUG [MainThread] solaar.ui.pair_window: finish <Gtk.Assistant object at 0x7ff67007c740 (GtkAssistant at 0x1be86e0)>
pfps commented 3 years ago

Your receiver doesn't support connection notifications which the Solaar GUI needs. You may be able to fix that by updating the firmware on your receiver, if you can figure out how to update the firmware on it. Be careful, though, incorrectly updating firmware can brick devices.

I'm going to add a check so that Solaar at least complains about this problem.

Drack-K commented 3 years ago

I understand the situation, I didn't expect my keyboard and mouse combo to be so special, thanks for the help, and for the moment I don't think I'll do the firmware update as I don't know much about it. Thanks again