Skip to content

Steam Controller over BLE Trackpad makes scc-daemon crash #741

@Kruayd

Description

@Kruayd

OS: Void Linux x86_64
Kernel: 6.12.13
DE: Plasma 6.2.5 with Wayland
sc-controller version: 0.4.8.10 (this is what is available on xbps, Void Linux package manager)

Whenever I connect my Steam Controller via Bluetooth, after fiddling around a bit with any trackpad, scc-daemon crashes.
It happens with trackpads that are outputting Mouse (Trackpad or Trackball) and Rigth Stick but not if they are outputting Simple DPAD or Mouse Wheel. (I can make further tests if necessary).
Everything else seems to work fine up until scc-daemon crashes.

Here is the error dump of scc-daemon debug

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/python3.13/site-packages/scc/sccdaemon.py", line 1124, in debug
    self.run()
    ~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/scc/sccdaemon.py", line 672, in run
    fn()
    ~~^^
  File "/usr/lib/python3.13/site-packages/scc/poller.py", line 54, in poll
    self._callbacks.get(fd, DO_NOTHING)(fd, Poller.POLLIN)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/scc/drivers/sc_by_bt.py", line 303, in _input
    self.flush()
    ~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/scc/drivers/sc_by_bt.py", line 250, in flush
    self._hidrawdev.sendFeatureReport(msg, 3)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3.13/site-packages/scc/lib/hidraw.py", line 120, in sendFeatureReport
    self._ioctl(
    ~~~~~~~~~~~^
        _HIDIOCSFEATURE(length),
        ^^^^^^^^^^^^^^^^^^^^^^^^
        (ctypes.c_char * length).from_buffer(buf),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        True,
        ^^^^^
    )
    ^
  File "/usr/lib/python3.13/site-packages/scc/lib/hidraw.py", line 59, in _ioctl
    result = fcntl.ioctl(self._device, func, arg, mutate_flag)
OSError: [Errno 5] Input/output error

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions