Open zany130 opened 4 years ago
What's that log from? It seems to show everything but output from scc-daemon.
Try killing daemon and running it from console with scc-daemon debug
, there should be some error message displayed when you turn off that controller.
this one i started the daemon before conecting the controller and then once connected held the playstation button to turn it off.
[zany130@andres-pc ~]$ scc-daemon debug
D SCCDaemon Starting SCCDaemon...
D SCCDaemon Initializing drivers...
W SCCDaemon Skipping disabled driver 'ds4drv'
W SCCDaemon Skipping disabled driver 'fake'
I remotepad Listening on 0.0.0.0:55400
D USB Registered USB driver for 28de:1102
D USB Registered USB driver for 28de:1142
D Mapper Creating virtual devices
D Mapper Keyboard: <scc.uinput.Keyboard object at 0x7fe19213a190>
D Mapper Mouse: <scc.uinput.Mouse object at 0x7fe19213a8d0>
D Mapper Gamepad: <scc.uinput.UInput object at 0x7fe19213aa10>
D SCCDaemon Created control socket /home/zany130/.config/scc/daemon.socket
D SCCDaemon Connected to XServer :0
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event1')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event0')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event16')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event17')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event18')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event19')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event20')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event21')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event22')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event2')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event3')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event4')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event10')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event11')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event12')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event13')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event14')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event15')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event9')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event8')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event5')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event6')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event7')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event23')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event24')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event25')> ignored
Gtk-Message: 12:05:29.774: Failed to load module "appmenu-gtk-module"
D OSD DaemonCtrl Connected to daemon, version 0.4.7
D OSD DaemonCtrl Daemon is ready.
I SCCDaemon Registered scc-osd-daemon
I OSD osd.daemon Sucessfully registered as scc-osd-daemon
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event29')> ignored
D evdev Failed to add evdev device: [Errno 16] Device or resource busy
E evdev [Errno 16] Device or resource busy
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/scc/drivers/evdevdrv.py", line 411, in handle_new_device
controller = EvdevController(self.daemon, dev, config_file, config)
File "/usr/lib/python2.7/site-packages/scc/drivers/evdevdrv.py", line 73, in __init__
self.device.grab()
File "/usr/lib/python2.7/site-packages/evdev/device.py", line 320, in grab
_input.ioctl_EVIOCGRAB(self.fd, 1)
IOError: [Errno 16] Device or resource busy
Traceback (most recent call last):
File "/usr/bin/scc-daemon", line 36, in <module>
main()
File "/usr/bin/scc-daemon", line 32, in main
daemon.debug()
File "/usr/lib/python2.7/site-packages/scc/sccdaemon.py", line 1096, in debug
self.run()
File "/usr/lib/python2.7/site-packages/scc/sccdaemon.py", line 655, in run
fn()
File "/usr/lib/python2.7/site-packages/scc/poller.py", line 54, in poll
self._callbacks.get(fd, DO_NOTHING)(fd, Poller.POLLIN)
File "/usr/lib/python2.7/site-packages/scc/drivers/evdevdrv.py", line 155, in input
new_state = self._state
AttributeError: 'EvdevController' object has no attribute '_state'
D OSD DaemonCtrl Connection to daemon lost
E OSD osd.daemon Connection to daemon lost
[zany130@andres-pc ~]$
here is another one after starting the dameon after the controller goes into its "off" state
scc-daemon debug
D SCCDaemon Starting SCCDaemon...
D SCCDaemon Initializing drivers...
W SCCDaemon Skipping disabled driver 'ds4drv'
W SCCDaemon Skipping disabled driver 'fake'
I remotepad Listening on 0.0.0.0:55400
D USB Registered USB driver for 28de:1102
D USB Registered USB driver for 28de:1142
D Mapper Creating virtual devices
D Mapper Keyboard: <scc.uinput.Keyboard object at 0x7f0c4cf5a190>
D Mapper Mouse: <scc.uinput.Mouse object at 0x7f0c4cf5a8d0>
D Mapper Gamepad: <scc.uinput.UInput object at 0x7f0c4cf5aa10>
D SCCDaemon Created control socket /home/zany130/.config/scc/daemon.socket
D SCCDaemon Connected to XServer :0
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event1')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event0')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event26')> ignored
D SCCDaemon Assigned default_mapper to <Evdev ASTRO Gaming ASTRO C40>
D SCCDaemon Turning gyrosensor ON
D SCCDaemon Controller added: <Evdev ASTRO Gaming ASTRO C40>
D evdev Evdev device added: ASTRO Gaming ASTRO C40
D Mapper Creating virtual devices
D Mapper Keyboard: <scc.uinput.Keyboard object at 0x7f0c4d0a28d0>
D Mapper Mouse: <scc.uinput.Mouse object at 0x7f0c4d0a2d10>
D Mapper Gamepad: <scc.uinput.UInput object at 0x7f0c4d0a2e10>
D SCCDaemon Turning gyrosensor ON
D SCCDaemon Controller added: <Evdev ASTRO Gaming ASTRO C40>
D evdev Evdev device added: ASTRO Gaming ASTRO C40
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event16')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event17')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event18')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event19')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event20')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event21')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event22')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event2')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event3')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event4')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event10')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event11')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event12')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event13')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event14')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event15')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event9')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event8')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event5')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event6')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event29')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event25')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event30')> ignored
Gtk-Message: 12:08:17.578: Failed to load module "appmenu-gtk-module"
D OSD DaemonCtrl Connected to daemon, version 0.4.7
D OSD DaemonCtrl Daemon reported profile change for ev3C1256CA: /home/zany130/.config/scc/profiles/XBox Controller.sccprofile
D OSD DaemonCtrl Daemon reported profile change for ev4B15665C: /home/zany130/.config/scc/profiles/XBox Controller.sccprofile
D OSD DaemonCtrl Daemon is ready.
I SCCDaemon Registered scc-osd-daemon
I OSD osd.daemon Sucessfully registered as scc-osd-daemon
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event31')> ignored
Exception TypeError: TypeError('super() takes at least 1 argument (0 given)',) in <bound method InputDevice.__del__ of InputDevice('/dev/input/event256')> ignored
E evdev [Errno 19] No such device
D SCCDaemon Controller removed: <Evdev ASTRO Gaming ASTRO C40>
D SCCDaemon Reassigned default_mapper to <Evdev ASTRO Gaming ASTRO C40>
Traceback (most recent call last):
File "/usr/bin/scc-daemon", line 36, in <module>
main()
File "/usr/bin/scc-daemon", line 32, in main
daemon.debug()
File "/usr/lib/python2.7/site-packages/scc/sccdaemon.py", line 1096, in debug
self.run()
File "/usr/lib/python2.7/site-packages/scc/sccdaemon.py", line 655, in run
fn()
File "/usr/lib/python2.7/site-packages/scc/poller.py", line 54, in poll
self._callbacks.get(fd, DO_NOTHING)(fd, Poller.POLLIN)
File "/usr/lib/python2.7/site-packages/scc/drivers/evdevdrv.py", line 218, in input
_evdevdrv.device_removed(self.device.fn)
File "/usr/lib/python2.7/site-packages/scc/drivers/evdevdrv.py", line 432, in device_removed
controller.close()
File "/usr/lib/python2.7/site-packages/scc/drivers/evdevdrv.py", line 112, in close
self.device.close()
File "/usr/lib/python2.7/site-packages/evdev/device.py", line 304, in close
super().close()
TypeError: super() takes at least 1 argument (0 given)
D OSD DaemonCtrl Connection to daemon lost
E OSD osd.daemon Connection to daemon lost
[zany130@andres-pc ~]$
File "/usr/lib/python2.7/site-packages/scc/poller.py", line 54, in poll self._callbacks.get(fd, DO_NOTHING)(fd, Poller.POLLIN) File "/usr/lib/python2.7/site-packages/scc/drivers/evdevdrv.py", line 155, in input new_state = self._state AttributeError: 'EvdevController' object has no attribute '_state'
Okay, this looks fixable, but...
File "/usr/lib/python2.7/site-packages/evdev/device.py", line 304, in close super().close() TypeError: super() takes at least 1 argument (0 given)
... this looks like bug in python-evdev
, you should probably report it to package maintaner in your distro.
How do I find out the package maintainer for Manjaro? Sorry I'm a newb
It looks like that type of super call only works in Python 3. So it looks like the latest version of python-evdev (1.3.0) only support Python 3 and later. The following change is when the code stopped being compatible with Python 2.7.
def close(self):
if self.fd > -1:
try:
super().close()
os.close(self.fd)
finally:
self.fd = -1
Okay, based on that and assuming @zany130 is building sc-controller from AUR, this python2-evdev package should not have been upgraded to v1.3.0 and so that's place where problem should be reported.
yeah im building from aur
i noticed that there was a change made to the python2-edev pacaage so I installed it and tried my controller again with sc controller and it works almost flowlessy. i can turn off the controller while sc controller is runing and reconect it and it will detect it and work. the only issue is that when i do this my c40 start to be read as multiple controllers in steam idk if this can be fixed if any logs are needed please me know. Ill include a scc-debug here in a moment
scc-daemon debug
D SCCDaemon Starting SCCDaemon...
D SCCDaemon Initializing drivers...
W SCCDaemon Skipping disabled driver 'ds4drv'
W SCCDaemon Skipping disabled driver 'fake'
I remotepad Listening on 0.0.0.0:55400
D USB Registered USB driver for 28de:1102
D USB Registered USB driver for 28de:1142
D Mapper Creating virtual devices
D Mapper Keyboard: <scc.uinput.Keyboard object at 0x7fcd73e3e510>
D Mapper Mouse: <scc.uinput.Mouse object at 0x7fcd73e3ec50>
D Mapper Gamepad: <scc.uinput.UInput object at 0x7fcd73e3ed90>
D SCCDaemon Created control socket /home/zany130/.config/scc/daemon.socket
D SCCDaemon Connected to XServer :0
Gtk-Message: 12:40:40.720: Failed to load module "appmenu-gtk-module"
D OSD DaemonCtrl Connected to daemon, version 0.4.7
D OSD DaemonCtrl Daemon is ready.
I SCCDaemon Registered scc-osd-daemon
I OSD osd.daemon Sucessfully registered as scc-osd-daemon
D SCCDaemon Assigned default_mapper to <Evdev ASTRO Gaming ASTRO C40>
D SCCDaemon Turning gyrosensor ON
D SCCDaemon Controller added: <Evdev ASTRO Gaming ASTRO C40>
D evdev Evdev device added: ASTRO Gaming ASTRO C40
D OSD DaemonCtrl Daemon reported profile change for ev3C1256CA: /home/zany130/.config/scc/profiles/XBox Controller.sccprofile
D SCCDaemon STICK locked by <scc.sccdaemon.Client object at 0x7fcd73e73750>
D SCCDaemon SCButtons.A locked by <scc.sccdaemon.Client object at 0x7fcd73e73750>
D SCCDaemon SCButtons.B locked by <scc.sccdaemon.Client object at 0x7fcd73e73750>
D SCCDaemon LEFT locked by <scc.sccdaemon.Client object at 0x7fcd73e73750>
E OSD osd.menu Sucessfully locked input
E evdev [Errno 19] No such device
D SCCDaemon Controller removed: <Evdev ASTRO Gaming ASTRO C40>
E OSD osd Controller lost
D SCCDaemon SCButtons.A unlocked
D SCCDaemon LEFT unlocked
D SCCDaemon STICK unlocked
D SCCDaemon SCButtons.B unlocked
D SCCDaemon Assigned default_mapper to <Evdev ASTRO Gaming ASTRO C40>
D SCCDaemon Turning gyrosensor ON
D SCCDaemon Controller added: <Evdev ASTRO Gaming ASTRO C40>
D evdev Evdev device added: ASTRO Gaming ASTRO C40
D OSD DaemonCtrl Daemon reported profile change for ev3C1256CA: /home/zany130/.config/scc/profiles/XBox Controller.sccprofile
D Mapper Creating virtual devices
D Mapper Keyboard: <scc.uinput.Keyboard object at 0x7fcd73ffc450>
D Mapper Mouse: <scc.uinput.Mouse object at 0x7fcd73ffc650>
D Mapper Gamepad: <scc.uinput.UInput object at 0x7fcd73ffc710>
D SCCDaemon Turning gyrosensor ON
D SCCDaemon Controller added: <Evdev ASTRO Gaming ASTRO C40>
D evdev Evdev device added: ASTRO Gaming ASTRO C40
D OSD DaemonCtrl Daemon reported profile change for ev3C1256CA: /home/zany130/.config/scc/profiles/XBox Controller.sccprofile
D OSD DaemonCtrl Daemon reported profile change for ev4B15665C: /home/zany130/.config/scc/profiles/XBox Controller.sccprofile
E evdev [Errno 19] No such device
D SCCDaemon Controller removed: <Evdev ASTRO Gaming ASTRO C40>
E evdev [Errno 19] No such device
D SCCDaemon Controller removed: <Evdev ASTRO Gaming ASTRO C40>
D SCCDaemon Reused mapper <scc.mapper.Mapper object at 0x7fcd73ffc490> for <Evdev ASTRO Gaming ASTRO C40>
D SCCDaemon Turning gyrosensor ON
D SCCDaemon Controller added: <Evdev ASTRO Gaming ASTRO C40>
D evdev Evdev device added: ASTRO Gaming ASTRO C40
D OSD DaemonCtrl Daemon reported profile change for ev3C1256CA: /home/zany130/.config/scc/profiles/XBox Controller.sccprofile
D SCCDaemon STICK locked by <scc.sccdaemon.Client object at 0x7fcd73e73750>
D SCCDaemon SCButtons.A locked by <scc.sccdaemon.Client object at 0x7fcd73e73750>
D SCCDaemon SCButtons.B locked by <scc.sccdaemon.Client object at 0x7fcd73e73750>
D SCCDaemon LEFT locked by <scc.sccdaemon.Client object at 0x7fcd73e73750>
E OSD osd.menu Sucessfully locked input
D SCCDaemon STICK unlocked
D SCCDaemon SCButtons.B unlocked
D SCCDaemon LEFT unlocked
D SCCDaemon SCButtons.A unlocked
E evdev [Errno 19] No such device
D SCCDaemon Controller removed: <Evdev ASTRO Gaming ASTRO C40>
D SCCDaemon Assigned default_mapper to <Evdev ASTRO Gaming ASTRO C40>
D SCCDaemon Turning gyrosensor ON
D SCCDaemon Controller added: <Evdev ASTRO Gaming ASTRO C40>
D evdev Evdev device added: ASTRO Gaming ASTRO C40
D OSD DaemonCtrl Daemon reported profile change for ev3C1256CA: /home/zany130/.config/scc/profiles/XBox Controller.sccprofile
D SCCDaemon Reused mapper <scc.mapper.Mapper object at 0x7fcd73ffc490> for <Evdev ASTRO Gaming ASTRO C40>
D SCCDaemon Turning gyrosensor ON
D SCCDaemon Controller added: <Evdev ASTRO Gaming ASTRO C40>
D evdev Evdev device added: ASTRO Gaming ASTRO C40
D OSD DaemonCtrl Daemon reported profile change for ev3C1256CA: /home/zany130/.config/scc/profiles/XBox Controller.sccprofile
D OSD DaemonCtrl Daemon reported profile change for ev4B15665C: /home/zany130/.config/scc/profiles/XBox Controller.sccprofile
the controller input is also messed up as it spams some buttons and others don't work this is in steam and might be related to the two controller thing
the issue was that i was on the desktop profile
this is happening again I can figure it out it seems random
this only happens when the controller is turned off and then turned back on it will radomly start messing up the input maybe it's because sc controller is creating 2 controllers for this device
the astro c40 isn't detected in steam by default(it is by the system and many c40 users have this issue on Reddit) so you need to use sc-controller or xboxdrv would also probably work. anyway the sc-controller dameon will go haywire if you let the controller time out or you turn it off by holding the PlayStation button. different things that happen are multiple copies of the c40 controller, input not working etc. when this happens I have to kill the dameon and also exit sc-controler enableing and disabling sc-conttroller cause the above unwanted behavior