Solaar keeps "forgetting" the receiver after minutes
Created by: eera5607
Hi! Thank you for your work on this app. I have the following issue:
- No Logitech receiver found
- Disconnect and connect again the Unifying Receiver.
- Turn the Logitech K800 off and on. Everything works fine now.
- Minutes later the first point again. No suspension involved.
-
solaar --debug
results with only hidrawX chaning between cases (hidraw3, hidraw4 etc.):
/usr/share/solaar/lib/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)
13:12:07,820 INFO [MainThread] root: language en_US (UTF-8), translations path None
13:12:07,850 INFO [MainThread] solaar.ui: application /io/github/pwr/solaar, registered True
/usr/share/solaar/lib/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
/usr/share/solaar/lib/solaar/ui/tray.py:72: PyGIWarning: AppIndicator3 was imported without specifying a version first. Use gi.require_version('AppIndicator3', '0.1') before import to ensure that the right version gets loaded.
from gi.repository import AppIndicator3
13:12:07,868 INFO [MainThread] solaar.ui.tray: using AppIndicator3
13:12:07,869 INFO [MainThread] solaar.ui.notify: starting desktop notifications
13:12:07,879 INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
13:12:07,880 INFO [MainThread] solaar.listener: starting receiver listening threads
13:12:07,881 INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path=u'/dev/hidraw3', vendor_id=u'046d', product_id=u'c52b', serial=u'', release='1207', manufacturer='Logitech', product='USB Receiver', interface=2, driver=u'logitech-djreceiver')
13:12:07,884 INFO [ReceiverListener:hidraw3] logitech_receiver.listener: started with <UnifyingReceiver(/dev/hidraw3,12)> (12)
13:12:07,884 INFO [ReceiverListener:hidraw3] solaar.listener: <UnifyingReceiver(/dev/hidraw3,12)>: notifications listener has started (12)
13:12:07,888 INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw3,12)>: receiver notifications enabled => ('wireless', 'software present')
13:12:07,892 INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <UnifyingReceiver(/dev/hidraw3,12)>: present, No paired devices. (0)
13:12:07,893 INFO [ReceiverListener:hidraw3] logitech_receiver.receiver: <UnifyingReceiver(/dev/hidraw3,12)>: found new device 3 (2010)
13:12:07,893 INFO [ReceiverListener:hidraw3] solaar.listener: Notification(3,41,04,311020) triggered new device <PairedDevice(3,2010,K800)> (keyboard)
13:12:07,894 INFO [ReceiverListener:hidraw3] solaar.listener: status_changed <UnifyingReceiver(/dev/hidraw3,12)>: present, 1 paired device. (0)
13:12:07,940 ERROR [ReceiverListener:hidraw3] logitech_receiver.base: write failed, assuming handle 12 no longer available
13:12:07,941 ERROR [ReceiverListener:hidraw3] logitech_receiver.listener: processing Notification(3,41,04,311020)
Traceback (most recent call last):
File "/usr/share/solaar/lib/logitech_receiver/listener.py", line 185, in run
self._notifications_callback(n)
File "/usr/share/solaar/lib/solaar/listener.py", line 207, in _notifications_handler
_notifications.process(dev, n)
File "/usr/share/solaar/lib/logitech_receiver/notifications.py", line 54, in process
return _process_device_notification(device, status, notification)
File "/usr/share/solaar/lib/logitech_receiver/notifications.py", line 97, in _process_device_notification
return _process_hidpp10_notification(device, status, n)
File "/usr/share/solaar/lib/logitech_receiver/notifications.py", line 174, in _process_hidpp10_notification
status.changed(active=link_established)
File "/usr/share/solaar/lib/logitech_receiver/status.py", line 255, in changed
self[KEYS.NOTIFICATION_FLAGS] = d.enable_notifications()
File "/usr/share/solaar/lib/logitech_receiver/receiver.py", line 274, in enable_notifications
flag_bits = _hidpp10.get_notification_flags(self)
File "/usr/share/solaar/lib/logitech_receiver/hidpp10.py", line 310, in get_notification_flags
flags = read_register(device, REGISTERS.notifications)
File "/usr/share/solaar/lib/logitech_receiver/hidpp10.py", line 142, in read_register
return device.request(request_id, *params)
File "/usr/share/solaar/lib/logitech_receiver/receiver.py", line 281, in request
return _base.request(self.receiver.handle, self.number, request_id, *params)
File "/usr/share/solaar/lib/logitech_receiver/base.py", line 340, in request
write(ihandle, devnumber, request_data)
File "/usr/share/solaar/lib/logitech_receiver/base.py", line 171, in write
raise NoReceiver(reason=reason)
NoReceiver: {'reason': OSError(32, 'Broken pipe')}
13:12:07,941 ERROR [ReceiverListener:hidraw3] logitech_receiver.base: read failed, assuming handle 12 no longer available
13:12:07,941 WARNING [ReceiverListener:hidraw3] logitech_receiver.listener: receiver disconnected
13:12:07,941 INFO [ReceiverListener:hidraw3] solaar.listener: <UnifyingReceiver(/dev/hidraw3,12)>: notifications listener has stopped
What can it be? Thanks for the help.
Edit: forgot to mention that I'm on Ubuntu 18.04. Recent fresh install.