kozec / sc-controller

User-mode driver and GTK3 based GUI for Steam Controller
GNU General Public License v2.0
1.54k stars 129 forks source link

Can't connect ds4 #393

Closed thankjura closed 6 years ago

thankjura commented 6 years ago

jura@UltraHost ~ $ scc-daemon debug D SCCDaemon Starting SCCDaemon... D SCCDaemon Initializing drivers... W SCCDaemon Skipping disabled driver 'fake' D USB Registered USB driver for 054c:09cc 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 0x7f12c37d4e50> D Mapper Mouse: <scc.uinput.Mouse object at 0x7f12c37d4f90> D Mapper Gamepad: <scc.uinput.UInput object at 0x7f12c37e3190> I profile Converted button(Keys.BTN_RIGHT) to trigger(50, button(Keys.BTN_RIGHT)) I profile Converted button(Keys.BTN_LEFT) to trigger(50, button(Keys.BTN_LEFT)) D SCCDaemon Created control socket /home/GrandMaster/.config/scc/daemon.socket D SCCDaemon Connected to XServer :1 E USB Failed to open USB device 054c:09cc : LIBUSB_ERROR_ACCESS [-3] W DS4 Failed to acquire USB device, falling back to evdev driver. This is far from optimal. E DevMon 'NoneType' object has no attribute 'fd' Traceback (most recent call last): File "/usr/lib64/python2.7/site-packages/scc/device_monitor.py", line 86, in _on_new_syspath if cb(syspath, vendor, product) is None: File "/usr/lib64/python2.7/site-packages/scc/drivers/usb.py", line 240, in handle_new_device self._fail_cbs[tp](syspath, tp) File "/usr/lib64/python2.7/site-packages/scc/drivers/ds4drv.py", line 399, in fail_cb make_evdev_device(syspath) File "/usr/lib64/python2.7/site-packages/scc/drivers/ds4drv.py", line 393, in make_evdev_device return make_new_device(DS4EvdevController, controllerdevice, gyro, touchpad) File "/usr/lib64/python2.7/site-packages/scc/drivers/evdevdrv.py", line 492, in make_new_device return _evdevdrv.make_new_device(factory, evdevdevice, userdata) File "/usr/lib64/python2.7/site-packages/scc/drivers/evdevdrv.py", line 454, in make_new_device controller = factory(self.daemon, evdevdevice, *userdata) File "/usr/lib64/python2.7/site-packages/scc/drivers/ds4drv.py", line 258, in init self.poller.register(touchpad.fd, self.poller.POLLIN, self._touchpad_input) AttributeError: 'NoneType' object has no attribute 'fd' Gtk-Message: 20:14:27.395: Failed to load module "unity-gtk-module" D OSD DaemonCtrl Connected to daemon, version 0.4.3 D OSD DaemonCtrl Daemon is ready. I SCCDaemon Registered scc-osd-daemon I OSD osd.daemon Sucessfully registered as scc-osd-daemon

image

After remove 258 string, prroblem dissaper

kozec commented 6 years ago

Weird part of that is that there is no touchpad detected. What distro and kernel are you using?

thankjura commented 6 years ago

Gentoo, kernel 4.17.6

kozec commented 6 years ago

Ok, so newer than mine :)

Can you check how many axes are reported for touchpad? evtest /dev/input/eventX | grep ABS lists it as first thing when started and evtest without arguments gives list of devices.

thankjura commented 6 years ago

evtest /dev/input/event21 Input driver version is 1.0.1 Input device ID: bus 0x3 vendor 0x54c product 0x9cc version 0x8111 Input device name: "Sony Interactive Entertainment Wireless Controller Touchpad" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 272 (BTN_LEFT) Event code 325 (BTN_TOOL_FINGER) Event code 330 (BTN_TOUCH) Event code 333 (BTN_TOOL_DOUBLETAP) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 0 Min 0 Max 1920 Event code 1 (ABS_Y) Value 0 Min 0 Max 942 Event code 47 (ABS_MT_SLOT) Value 0 Min 0 Max 1 Event code 53 (ABS_MT_POSITION_X) Value 0 Min 0 Max 1920 Event code 54 (ABS_MT_POSITION_Y) Value 0 Min 0 Max 942 Event code 57 (ABS_MT_TRACKING_ID) Value 0 Min 0 Max 65535 Properties: Property type 0 (INPUT_PROP_POINTER) Property type 2 (INPUT_PROP_BUTTONPAD) Testing ... (interrupt to exit)

kozec commented 6 years ago

So, basically, your touchpad is not like mine touchpad, that's why it's not detected. It's was most likely change in kernel driver, or evdev, or something...

For now, what you did is OK nad I'll try to get on same kernel version and fix it asap, otherwise we'll get to know who's using Arch next :)