Very obscure controller issue

Hey all,
up until a couple days ago, I’ve used a Nintendo Switch Pro controller together with joycond-cemuhook to get controller motion data to the games that support it. Sadly, after upgrading to kernel 5.17.8, this stopped working. The program is now giving me the following stacktrace when launching it:

Stacktrace
Traceback (most recent call last):
  File "/usr/lib/joycond-cemuhook-git/joycond-cemuhook-git.py", line 800, in <module>
    main()
  File "/usr/lib/joycond-cemuhook-git/joycond-cemuhook-git.py", line 796, in main
    handle_devices(stop_event)
  File "/usr/lib/joycond-cemuhook-git/joycond-cemuhook-git.py", line 733, in handle_devices
    add_devices(device, motion_devices)
  File "/usr/lib/joycond-cemuhook-git/joycond-cemuhook-git.py", line 611, in add_devices
    added = server.add_devices(device, motion_devices, motion_only)
  File "/usr/lib/joycond-cemuhook-git/joycond-cemuhook-git.py", line 525, in add_devices
    if self.add_device(device, motion_device, motion_only if i == 0 else True) == UDPServer.MAX_PADS:
  File "/usr/lib/joycond-cemuhook-git/joycond-cemuhook-git.py", line 514, in add_device
    self.slots[i] = SwitchDevice(self, i, device, motion_device, motion_only)
  File "/usr/lib/joycond-cemuhook-git/joycond-cemuhook-git.py", line 159, in __init__
    self.dbus_interface, self.dbus_properties_interface = self.get_battery_dbus_interface()
  File "/usr/lib/joycond-cemuhook-git/joycond-cemuhook-git.py", line 278, in get_battery_dbus_interface
    dbus_interface.Refresh()
  File "/usr/lib/python3.10/site-packages/dbus/proxies.py", line 72, in __call__
    return self._proxy_method(*args, **keywords)
  File "/usr/lib/python3.10/site-packages/dbus/proxies.py", line 141, in __call__
    return self._connection.call_blocking(self._named_service,
  File "/usr/lib/python3.10/site-packages/dbus/connection.py", line 652, in call_blocking
    reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method Refresh is not implemented on interface org.freedesktop.UPower.Device

The error seems strange to me, since according to the DBus documentation, the method should exist. Is there something wrong with my kernel?

In case you need more details, I’ve opened up an issue on the repo with more info

Have you rebuilt joycond?

I’ve rebuilt both joycond-git and joycond-cemuhook-git now, with no success

Try the LTS kernel.

Running on 5.15.41-1-lts now, same issue
Very strange

Well, out of ideas, sorry, no access to the hardware.

Still, thank you for trying

Downgrading upower from 0.99.18-1 to 0.99.17-1 fixed it
Credits for the find go to @danielsuarez369

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.