Leap15: solaar does not work

I installed solaar from the build service, but it does not work. Either it says it does not have permission to access the Logitech usb key, and I should reinsert it, or it cannot find my mouse (which is working), and the pair device button is greyed out.
In the meantime my mouse jumps, jerks, and does not respond properly, and is really difficult to use. Ditto for a wired mouse.

I installed from the standard repos. I’m not sure if that’s what you meant.

I got the same message. So I unplugged the receiver, and plugged it back in. Still no good.
I told solaar to quit. I restarted. And now it seems to be working properly.

Note that the mouse was already working properly before I started solaar.

I rebooted, and get the same permissions problem when I start it from the Start Menu. I unplug it, and plug it in again. The widget in the bottom bar is gray.
I stop it, and start it as root and it sees my Nano Receiver, but nothing is paired, and the add button is disabled.
So I uninstalled the version from the build service and installed the one from the distribution. But I get the same things, even after a reboot.

Mine shows the one paired device (my mouse), with options to pair with other devices.

I’m not sure what’s the difference between our systems.

Revisiting this.

You mention a nano receiver. My M325 mouse uses a unified receiver. Perhaps that’s why we are seeing differences.

I don’t have a device with a nano receiver to test.

Installed from standard repo, but I can’t even get it to start:



/usr/lib/python2.7/site-packages/solaar/gtk.py:33: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  __import__(module)
solaar: error: GObject.__init__() takes exactly 0 arguments (4 given)


Hi
The package has not been updated in a long time… Might need a udev rule tweak;

Also see: http://pwr.github.io/Solaar/devices.html

Can you post the output from lsusb, eg;


lsusb |grep Logitech
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver

Not sure who you were asking, Malcolm, but:


lsusb | grep Logitech
Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver

According to the web page you reference, it should work. But it’s throwing a python error…

Hi
Can you open a terminal window and start from the command line with the debug option, the gi.require_version is an INFO so shouldn’t stop the app from running.

Is typelib-1_0-Gtk-3_0 installed, your not running wayland either?

I’m on SLES 15 here, but it’s working as expected…


 solaar -d
/usr/lib/python2.7/site-packages/solaar/gtk.py:33: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  __import__(module)
11:07:11,454     INFO [MainThread] root: language en_US (UTF-8), translations path None
11:07:11,461     INFO [MainThread] solaar.ui: application /io/github/pwr/solaar, registered True
/usr/lib/python2.7/site-packages/solaar/ui/notify.py:33: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.
  from gi.repository import Notify
11:07:11,558     INFO [MainThread] solaar.ui.tray: using StatusIcon
11:07:11,559     INFO [MainThread] solaar.ui.notify: starting desktop notifications
11:07:11,704     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
11:07:11,718     INFO [MainThread] solaar.listener: starting receiver listening threads
11:07:11,734     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path=u'/dev/hidraw3', vendor_id=u'046d', product_id=u'c52b', serial=u'', release='1203', manufacturer='Logitech', product='USB Receiver', interface=2, driver=u'logitech-djreceiver')
11:07:11,741     INFO [ReceiverListener:hidraw3] logitech_receiver.listener: started with <UnifyingReceiver(/dev/hidraw3,4)> (4)
11:07:11,741     INFO [ReceiverListener:hidraw3] solaar.listener: <UnifyingReceiver(/dev/hidraw3,4)>: notifications listener has started (4)
11:07:11,746     INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw3,4)>: receiver notifications enabled => ('wireless', 'software present')
11:07:11,753     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <UnifyingReceiver(/dev/hidraw3,4)>: present, No paired devices. (0) 
11:07:11,756     INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw3,4)>: found new device 1 (400A)
11:07:11,756     INFO [ReceiverListener:hidraw3] solaar.listener: Notification(1,41,04,120A40) triggered new device <PairedDevice(1,400A,M325)> (mouse)
11:07:11,763     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <UnifyingReceiver(/dev/hidraw3,4)>: present, 1 paired device. (0) 
11:07:12,152     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <PairedDevice(1,400A,M325)>: paired online, Battery: 70% (discharging) (1) 
11:07:12,154     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <PairedDevice(1,400A,M325)>: paired online, Battery: 70% (discharging) (0) 
11:07:12,157  WARNING [ReceiverListener:hidraw3] logitech_receiver.status: <PairedDevice(1,400A,M325)>: battery 70%, ALERT invalid battery
11:07:12,157     INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <PairedDevice(1,400A,M325)>: paired online, Battery: 70% (invalid battery) (5) battery: 70% (invalid battery)

Not running Wayland.


Reading installed packages...
'typelib-1_0-Gtk-3_0' is already installed.

and


solaar -d
/usr/lib/python2.7/site-packages/solaar/gtk.py:33: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  __import__(module)
10:27:13,810     INFO [MainThread] root: language en_US (UTF-8), translations path None
10:27:13,844     INFO [MainThread] solaar.ui: application /io/github/pwr/solaar, registered True
solaar: error: GObject.__init__() takes exactly 0 arguments (4 given)

On Mon 11 Jun 2018 04:36:06 PM CDT, susesteve wrote:

Not running Wayland.

Code:

Reading installed packages…
‘typelib-1_0-Gtk-3_0’ is already installed.


and

Code:

solaar -d
/usr/lib/python2.7/site-packages/solaar/gtk.py:33: PyGIWarning: Gtk
was imported without specifying a version first. Use
gi.require_version(‘Gtk’, ‘3.0’) before import to ensure that the right
version gets loaded. import(module) 10:27:13,810 INFO
[MainThread] root: language en_US (UTF-8), translations path None
10:27:13,844 INFO [MainThread] solaar.ui:
application /io/github/pwr/solaar, registered True solaar: error:
GObject.init() takes exactly 0 arguments (4 given)

Hi
OK, is python2-gobject and python2-pyudev installed?


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
SLES 15 | GNOME Shell 3.26.2 | 4.12.14-23-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

Yes, they’re both installed. Nosing about the web, I see this error


/usr/lib/python2.7/site-packages/solaar/gtk.py:33: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.

is not uncommon with Solaar on other distros. Since Solaar is just a convenience, and its lack not life-threatening, I’ll just soldier on without it. Thanks for you attention, Malcolm.

On Mon 11 Jun 2018 11:36:03 PM CDT, susesteve wrote:

Yes, they’re both installed. Nosing about the web, I see this error

Code:

/usr/lib/python2.7/site-packages/solaar/gtk.py:33: PyGIWarning: Gtk
was imported without specifying a version first. Use
gi.require_version(‘Gtk’, ‘3.0’) before import to ensure that the right
version gets loaded. --------------------

is not uncommon with Solaar on other distros. Since Solaar is just a
convenience, and its lack not life-threatening, I’ll just soldier on
without it. Thanks for you attention, Malcolm.

Hi
There is always solaar-cli which should still work. I built the latest
git version and see the error on Tumbleweed…


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
SLES 15 | GNOME Shell 3.26.2 | 4.12.14-23-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

My two cents: I’m running Leap 15 on a machine upgraded from 42.3, where Solaar worked fine. Solaar runs at login, but reports that it can’t find any Logitech receivers.

If I close it down, then restart it, it will (usually) find the receiver and behave normally for a period of anywhere from a few seconds to an hour, then begin reporting “No receiver” again.

If I run it from the command line with the debug switch, I get the same warning regarding the Python version. I haven’t had any luck yet capturing the moment when it loses the receiver. I’ll keep trying on that.

For me, it is the other way around. Solaar never worked properly in 42.3. It seems to be doing fine with Leap 15.0.

In 42.3, I would see an icon in the tray. But it did not do anything. I had to start a second instance of solaar if I wanted to get any useful function from it. But with 15.0, it works correctly the first time.

Okay, I haven’t tried leaving it running for a long time. I’ll recheck tomorrow.

Success.

After running for about half an hour, I got a long sequence of errors like so:

09:45:06,877    ERROR [ReceiverListener:hidraw0] logitech_receiver.listener: processing Notification(2,02,00,0000000000000000000000)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/logitech_receiver/listener.py", line 185, in run
    self._notifications_callback(n)
  File "/usr/lib/python2.7/site-packages/solaar/listener.py", line 207, in _notifications_handler
    _notifications.process(dev, n)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/notifications.py", line 54, in process
    return _process_device_notification(device, status, notification)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/notifications.py", line 105, in _process_device_notification
    return _process_hidpp10_custom_notification(device, status, n)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/notifications.py", line 130, in _process_hidpp10_custom_notification
    if n.sub_id == _R.illumination:
AttributeError: 'NamedInts' object has no attribute 'illumination'

These went on for several minutes, and were followed by:

09:45:17,323     INFO [ReceiverListener:hidraw0] solaar.configuration: saved {u'101B:B094F266': {u'side-scroll': True, u'smooth-scroll': False, u'_name': u'Marathon Mouse M705'}, u'4002:13339948': {u'fn-swap': False, u'_name': u'Wireless Solar Keyboard K750'}, u'_version': u'0.9.2'} to /home/solop/.config/solaar/config.json
09:45:17,324    ERROR [ReceiverListener:hidraw0] logitech_receiver.base: write failed, assuming handle 4 no longer available
09:45:17,324    ERROR [ReceiverListener:hidraw0] logitech_receiver.listener: processing Notification(1,41,04,B10240)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/logitech_receiver/listener.py", line 185, in run
    self._notifications_callback(n)
  File "/usr/lib/python2.7/site-packages/solaar/listener.py", line 207, in _notifications_handler
    _notifications.process(dev, n)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/notifications.py", line 54, in process
    return _process_device_notification(device, status, notification)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/notifications.py", line 97, in _process_device_notification
    return _process_hidpp10_notification(device, status, n)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/notifications.py", line 174, in _process_hidpp10_notification
    status.changed(active=link_established)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/status.py", line 268, in changed
    s.apply()
  File "/usr/lib/python2.7/site-packages/logitech_receiver/settings.py", line 152, in apply
    self.write(value)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/settings.py", line 136, in write
    reply = self._rw.write(self._device, data_bytes)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/settings.py", line 200, in write
    return device.feature_request(self.feature, self.write_fnid, data_bytes)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/receiver.py", line 288, in feature_request
    return _hidpp20.feature_request(self, feature, function, *params)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/hidpp20.py", line 325, in feature_request
    return device.request((feature_index << 8) + (function & 0xFF), *params)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/receiver.py", line 281, in request
    return _base.request(self.receiver.handle, self.number, request_id, *params)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/base.py", line 340, in request
    write(ihandle, devnumber, request_data)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/base.py", line 171, in write
    raise NoReceiver(reason=reason)
NoReceiver: {'reason': OSError(32, 'Broken pipe')}
09:45:17,326    ERROR [ReceiverListener:hidraw0] logitech_receiver.base: read failed, assuming handle 4 no longer available
09:45:17,326  WARNING [ReceiverListener:hidraw0] logitech_receiver.listener: receiver disconnected
09:45:17,326     INFO [ReceiverListener:hidraw0] solaar.listener: <UnifyingReceiver(/dev/hidraw0,4)>: notifications listener has stopped

Hope that points someone in the right direction.

nrickert, just goes to show you that everyone’s system is a little different, right?

Afraid so.

But then I just checked solaar, that had been running for several hours. And it says that there’s no receiver. So I guess I’m seeing the same bug. I have closed solaar for now. Nothing much depends on it working.

That makes me feel a little better. It’s not just me…

Does your solaar do the color change? Green while it sees the receiver, changing to yellow when it loses it?

On closer inspection–read that as looking through the 6 megabyte log I just got–those notifications are all during normal operation: there’s one every time I type a key or move the mouse. Probably not relevant, in other words.

Hi
The command line (solaar-cli) should work fine?

I’ve updated to the latest 0.9.3 git release (GUI doesn’t work in TW), but the solaar show (solaar-cli deprecated) commands etc work fine…

Can some one test…

https://download.opensuse.org/repositories/home:/malcolmlewis:/branches:/hardware/openSUSE_Leap_15.0/

https://download.opensuse.org/repositories/home:/malcolmlewis:/branches:/hardware/openSUSE_Tumbleweed/


solaar show
Unifying Receiver
  Device path  : /dev/hidraw0
  USB id       : 046d:c52b
  Serial       : 39CA9E59
    Firmware   : 12.03.B0025
    Bootloader : 02.15
    Other      : AA.AA
  Has 1 paired device(s) out of a maximum of 6.
  Notifications: wireless (0x000100)
  Device activity counters: 1=118

  1: Wireless Mouse M325
     Codename     : M325
     Kind         : mouse
     Wireless PID : 400A
     Protocol     : HID++ 2.0
     Polling rate : 8 ms (125Hz)
     Serial number: FCEF65D2
          Firmware: RQM 40.01.B0018
     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: 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 5 reprogrammable keys:
         0: LEFT CLICK                 => LeftClick                     mse, reprogrammable
         1: RIGHT CLICK                => RightClick                    mse, reprogrammable
         2: MIDDLE BUTTON              => MiddleMouseButton             mse, reprogrammable
         3: BACK AS BUTTON 4           => Back                          mse, reprogrammable
         4: FORWARD AS BUTTON 5        => BrowserForward                mse, reprogrammable
     Battery: 70%, discharging.

solaar show

Unifying Receiver
  Device path  : /dev/hidraw1
  USB id       : 046d:c52b
  Serial       : 46DA93E1
    Firmware   : 12.01.B0019
    Bootloader : 02.14
  Has 1 paired device(s) out of a maximum of 6.
  Notifications: wireless (0x000100)
  Device activity counters: 1=12

  1: Wireless Touch Keyboard K400
     Codename     : K400
     Kind         : keyboard
     Wireless PID : 4024
     Protocol     : HID++ 2.0
     Polling rate : 8 ms (125Hz)
     Serial number: 18B50848
          Firmware: RQK 50.01.B0013
     The power switch is located on the edge of top right corner.
     Supports 22 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: FEATURE INFO           {0002}   
         3: DEVICE FW VERSION      {0003}   
         4: DEVICE NAME            {0005}   
         5: BATTERY STATUS         {1000}   
         6: REPROG CONTROLS        {1B00}   
         7: REPROG CONTROLS V3     {1B03}   
         8: WIRELESS DEVICE STATUS {1D4B}   
         9: unknown:1DF0           {1DF0}   hidden
        10: unknown:1DF3           {1DF3}   internal, hidden
        11: unknown:1E00           {1E00}   hidden
        12: VERTICAL SCROLLING     {2100}   
        13: HI RES SCROLLING       {2120}   
        14: MOUSE POINTER          {2200}   
        15: FN INVERSION           {40A0}   
        16: NEW FN INVERSION       {40A2}   
        17: ENCRYPTION             {4100}   
        18: KEYBOARD LAYOUT        {4520}   
        19: TOUCHPAD FW ITEMS      {6010}   
        20: TOUCHPAD SW ITEMS      {6011}   
        21: TOUCHPAD WIN8 FW ITEMS {6012}   
     Has 18 reprogrammable keys:
         0: SHOW DESKTOP               => ShowDesktop                   is FN, reprogrammable
         1: METRO APPSWITCH            => MetroAppSwitch                is FN, reprogrammable
         2: METRO SEARCH               => MetroSearch                   is FN, reprogrammable
         3: METRO SHARE                => MetroShare                    is FN, reprogrammable
         4: METRO DEVICES              => MetroDevices                  is FN, reprogrammable
         5: METRO SETTINGS             => MetroSettings                 is FN, reprogrammable
         6: Previous                   => Previous                      is FN
         7: Play/Pause                 => Play/Pause                    is FN
         8: Next                       => Next                          is FN
         9: Mute                       => Mute                          is FN
        10: Volume Down                => Volume Down                   is FN
        11: Volume Up                  => Volume Up                     is FN
        12: MEDIA PLAYER               => Music                         nonstandard, reprogrammable
        13: Lock PC                    => WindowsLock                   nonstandard, reprogrammable
        14: SLEEP                      => Sleep                         nonstandard, reprogrammable
        15: LEFT CLICK                 => LeftClick                     mse
        16: LEFT CLICK                 => LeftClick                     mse
        17: RIGHT CLICK                => RightClick                    mse
     Battery: 70%, discharging.


Unifying Receiver
  Device path  : /dev/hidraw0
  USB id       : 046d:c52b
  Serial       : 0DFD99A0
    Firmware   : 12.01.B0019
    Bootloader : 02.14
  Has 2 paired device(s) out of a maximum of 6.
  Notifications: wireless, software present (0x000900)
  Device activity counters: 1=217, 2=205

  1: Wireless Solar Keyboard K750
     Codename     : K750
     Kind         : keyboard
     Wireless PID : 4002
     Protocol     : HID++ 2.0
     Polling rate : 20 ms (50Hz)
     Serial number: 13339948
          Firmware: RQK 33.00.B0015
        Bootloader: DFU 00.02.B0003
     The power switch is located on the edge of top right corner.
     Supports 11 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
         3: DEVICE NAME            {0005}   
         4: REPROG CONTROLS        {1B00}   
         5: WIRELESS DEVICE STATUS {1D4B}   
         6: unknown:1DF3           {1DF3}   hidden
         7: FN INVERSION           {40A0}   
         8: ENCRYPTION             {4100}   
         9: SOLAR DASHBOARD        {4301}   
        10: KEYBOARD LAYOUT        {4520}   
     Has 12 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
        11: SLEEP                      => Sleep                         is FN, FN sensitive, reprogrammable
     Battery status unavailable.

  2: Marathon Mouse M705
     Codename     : M705
     Kind         : mouse
     Wireless PID : 101B
     Protocol     : HID++ 1.0
     Polling rate : 8 ms (125Hz)
     Serial number: B094F266
          Firmware: 17.01.B0016
        Bootloader: 03.05
             Other: 00.04
     The power switch is located on the base.
     Notifications: battery status (0x100000).
     Battery: 95%, discharging.

I’ve been running the Leap 15 version for the past hour and a half in debug mode. The log file is filling up with the same notification messages, and there are some errors like so:

15:14:29,534    ERROR [ReceiverListener:hidraw0] logitech_receiver.listener: processing Notification(1,41,04,710240)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/logitech_receiver/listener.py", line 185, in run
    self._notifications_callback(n)
  File "/usr/lib/python2.7/site-packages/solaar/listener.py", line 189, in _notifications_handler
    dev = self.receiver.register_new_device(n.devnumber, n)
  File "/usr/lib/python2.7/site-packages/logitech_receiver/receiver.py", line 407, in register_new_device
    raise IndexError("%s: device number %d already registered" % (self, number))
IndexError: <UnifyingReceiver(/dev/hidraw0,4)>: device number 1 already registered

But it hasn’t lost track of the receiver yet. I’m encouraged.