Please autoconnect raw-usb for sc-controller

sc-controller is a utility to convert input from the Steam Controller (and several other input devices) for use with non-Steam games. It requires connection of raw-usb to access the controller devices. It will also require access to a new uinput connection when this is implemented in the future. Please see Best way to access /dev/uinput? for context.

While awaiting progress on the uinput interface, I’ve opened this request for raw-usb for discussion. Ultimately, both interfaces will require auto-connection fot this application to be functional.

Thanks for giving this your consideration.

I suppose I should also provide a link to the store page. Further, here’s a link to a github issue showing the upstream has abandoned this python2 project in favour of a rewrite in C; hence why we need a snapped version to use it on Ubuntu 20.04. I’d really like to have this application available for the new LTS and @Wimpress seems to have been looking for a solution, too.

Hello @reviewers. We’re at day 7 today, which is supposed to be the day of judgement. I know this is a busy time for everyone but would it be possible to, at least, have an acknowledgment that this is in a queue?

Love you all :slight_smile:

Can you disconnect raw-usb (and re-add the changes to make uinput work), then exercise your snap and paste any security denials from journalctl? I’m curious about what is needed.

If I do that, the GUI doesn’t show any error but I cannot assign any profiles to my controller, nor will the controller function as a gamepad device in games. There’s not much which catches my eye in the journalctl:

Apr 08 22:40:58 padbeast audit[4891]: AVC apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/4891/mounts" pid=4891 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 08 22:40:58 padbeast kernel: audit: type=1400 audit(1586382058.389:205): apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/4891/mounts" pid=4891 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 08 22:40:58 padbeast python2[4891]: Failed to load module "appmenu-gtk-module"
Apr 08 22:40:59 padbeast audit[4949]: AVC apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/4949/mounts" pid=4949 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 08 22:40:59 padbeast kernel: audit: type=1400 audit(1586382059.357:206): apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/4949/mounts" pid=4949 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 08 22:40:59 padbeast org.mate.panel.applet.MateMenuAppletFactory[4949]: pidfile /home/neil/snap/sc-controller/5/.config/scc/daemon.pid does not exist. Daemon not running?
Apr 08 22:41:01 padbeast scc-daemon[4956]: scc-daemon: started
Apr 08 22:41:01 padbeast kernel: input: SCController Keyboard as /devices/virtual/input/input20
Apr 08 22:41:01 padbeast kernel: input: SCController Mouse as /devices/virtual/input/input21
Apr 08 22:41:01 padbeast kernel: input: Microsoft X-Box 360 pad as /devices/virtual/input/input22
Apr 08 22:41:01 padbeast audit[4956]: AVC apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/sys/bus/usb/devices/" pid=4956 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Apr 08 22:41:01 padbeast kernel: audit: type=1400 audit(1586382061.885:207): apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/sys/bus/usb/devices/" pid=4956 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Apr 08 22:41:01 padbeast audit[4956]: AVC apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/sys/bus/usb/devices/" pid=4956 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Apr 08 22:41:01 padbeast kernel: audit: type=1400 audit(1586382061.885:208): apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/sys/bus/usb/devices/" pid=4956 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Apr 08 22:41:01 padbeast scc-daemon[4956]: scc-daemon: udev_enumerate_scan_devices: error -13
Apr 08 22:41:01 padbeast audit[4964]: AVC apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/4964/mounts" pid=4964 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 08 22:41:01 padbeast kernel: audit: type=1400 audit(1586382061.949:209): apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/4964/mounts" pid=4964 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 08 22:41:03 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:04 padbeast org.mate.panel.applet.MateMenuAppletFactory[4891]: W App           Failed to read release notes
Apr 08 22:41:04 padbeast org.mate.panel.applet.MateMenuAppletFactory[4891]: E App           g-io-error-quark: Operation not supported (15)
Apr 08 22:41:04 padbeast org.mate.panel.applet.MateMenuAppletFactory[4891]: Traceback (most recent call last):
Apr 08 22:41:04 padbeast org.mate.panel.applet.MateMenuAppletFactory[4891]:   File "/snap/sc-controller/5/lib/python2.7/site-packages/scc/gui/app.py", line 1515, in http_ready
Apr 08 22:41:04 padbeast org.mate.panel.applet.MateMenuAppletFactory[4891]:     stream = f.read_finish(task)
Apr 08 22:41:04 padbeast org.mate.panel.applet.MateMenuAppletFactory[4891]: Error: g-io-error-quark: Operation not supported (15)
Apr 08 22:41:04 padbeast org.mate.panel.applet.MateMenuAppletFactory[4891]: W App           (above error is not fatal and can be ignored)
Apr 08 22:41:05 padbeast audit[4891]: AVC apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/modules" pid=4891 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Apr 08 22:41:05 padbeast kernel: audit: type=1400 audit(1586382065.457:210): apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/modules" pid=4891 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Apr 08 22:41:05 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:07 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:09 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:11 padbeast audit[4979]: AVC apparmor="DENIED" operation="open" profile="snap.mythicbeastsddns.mythicbeastsddns" name="/proc/4979/mounts" pid=4979 comm="updatedns.py" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Apr 08 22:41:11 padbeast kernel: audit: type=1400 audit(1586382071.217:211): apparmor="DENIED" operation="open" profile="snap.mythicbeastsddns.mythicbeastsddns" name="/proc/4979/mounts" pid=4979 comm="updatedns.py" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Apr 08 22:41:11 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:13 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:15 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:17 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:19 padbeast kernel: hid-steam 0003:28DE:1142.0002: Steam Controller 'FC63620906' connected
Apr 08 22:41:19 padbeast kernel: input: Wireless Steam Controller as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.1/0003:28DE:1142.0002/input/input23
Apr 08 22:41:19 padbeast upowerd[2613]: treating change event as add on /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.1/0003:28DE:1142.0002/power_supply/steam-controller-FC63620906-battery
Apr 08 22:41:19 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:21 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:23 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:25 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:27 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:29 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:31 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:33 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:35 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:37 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:39 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:41 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:43 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:45 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:47 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:49 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:51 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:54 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:56 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:41:58 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:42:00 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:42:02 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:42:04 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:42:06 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:42:08 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:42:10 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:42:12 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:42:14 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:42:16 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:42:18 padbeast scc-daemon[4956]: scc-daemon:
Apr 08 22:42:18 padbeast audit[5999]: AVC apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/5999/mounts" pid=5999 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 08 22:42:18 padbeast kernel: audit: type=1400 audit(1586382138.913:213): apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/5999/mounts" pid=5999 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 08 22:42:19 padbeast acpid[2064]: input device has been disconnected, fd 19
Apr 08 22:42:19 padbeast scc-daemon[5999]: scc-daemon: stopped
^C

FYI, the “mounts” denial is likely just noise (it would go away with ‘mount-observe’). The /sys/bus/usb/devices/ would go away with ‘hardware-observe’ (though it is also allowed by raw-usb) and /proc/modules by ‘kernel-module-observe’.

Can you connect ‘hardware-observe’, but leave ‘raw-usb’ disconnected and try again? (I’d like to see the specific denials, but it failed too early in the last one).

With hardware-observe I get an error in the gui as per the screenshot below. I’ve attached the journalctl log from where I install the snap, add access to /dev/uinput, plug in the dongle and launch the app.

Apr 16 11:39:41 padbeast systemd[1]: Mounted Mount unit for sc-controller, revision x1.
Apr 16 11:39:42 padbeast audit[17897]: AVC apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.sc-controller.sc-controller" pid=17897 comm="apparmor_parser"
Apr 16 11:39:42 padbeast kernel: audit: type=1400 audit(1587033582.624:245): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.sc-controller.sc-controller" pid=17897 comm="apparmor_parser"
Apr 16 11:39:42 padbeast audit[17896]: AVC apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap-update-ns.sc-controller" pid=17896 comm="apparmor_parser"
Apr 16 11:39:42 padbeast kernel: audit: type=1400 audit(1587033582.652:246): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap-update-ns.sc-controller" pid=17896 comm="apparmor_parser"
Apr 16 11:39:44 padbeast audit[17909]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="/snap/core/8935/usr/lib/snapd/snap-confine" pid=17909 comm="apparmor_parser"
Apr 16 11:39:44 padbeast audit[17909]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="/snap/core/8935/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=17909 comm="apparmor_parser"
Apr 16 11:39:44 padbeast kernel: audit: type=1400 audit(1587033584.968:247): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="/snap/core/8935/usr/lib/snapd/snap-confine" pid=17909 comm="apparmor_parser"
Apr 16 11:39:44 padbeast kernel: audit: type=1400 audit(1587033584.968:248): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="/snap/core/8935/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=17909 comm="apparmor_parser"
Apr 16 11:39:45 padbeast audit[17912]: AVC apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.sc-controller.sc-controller" pid=17912 comm="apparmor_parser"
Apr 16 11:39:45 padbeast kernel: audit: type=1400 audit(1587033585.276:249): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.sc-controller.sc-controller" pid=17912 comm="apparmor_parser"
Apr 16 11:39:45 padbeast audit[17911]: AVC apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap-update-ns.sc-controller" pid=17911 comm="apparmor_parser"
Apr 16 11:39:45 padbeast kernel: audit: type=1400 audit(1587033585.596:250): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap-update-ns.sc-controller" pid=17911 comm="apparmor_parser"
Apr 16 11:39:45 padbeast audit[17914]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.core" pid=17914 comm="apparmor_parser"
Apr 16 11:39:45 padbeast audit[17915]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.core.hook.configure" pid=17915 comm="apparmor_parser"
Apr 16 11:39:45 padbeast kernel: audit: type=1400 audit(1587033585.604:251): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.core" pid=17914 comm="apparmor_parser"
Apr 16 11:39:45 padbeast kernel: audit: type=1400 audit(1587033585.604:252): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.core.hook.configure" pid=17915 comm="apparmor_parser"
Apr 16 11:39:57 padbeast audit[17966]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="/snap/core/8935/usr/lib/snapd/snap-confine" pid=17966 comm="apparmor_parser"
Apr 16 11:39:57 padbeast audit[17966]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="/snap/core/8935/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=17966 comm="apparmor_parser"
Apr 16 11:39:57 padbeast kernel: audit: type=1400 audit(1587033597.180:253): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="/snap/core/8935/usr/lib/snapd/snap-confine" pid=17966 comm="apparmor_parser"
Apr 16 11:39:57 padbeast kernel: audit: type=1400 audit(1587033597.180:254): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="/snap/core/8935/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=17966 comm="apparmor_parser"
Apr 16 11:39:57 padbeast audit[17968]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.core" pid=17968 comm="apparmor_parser"
Apr 16 11:39:57 padbeast audit[17969]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.core.hook.configure" pid=17969 comm="apparmor_parser"
Apr 16 11:39:57 padbeast kernel: audit: type=1400 audit(1587033597.192:255): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.core" pid=17968 comm="apparmor_parser"
Apr 16 11:39:57 padbeast kernel: audit: type=1400 audit(1587033597.192:256): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.core.hook.configure" pid=17969 comm="apparmor_parser"
Apr 16 11:39:57 padbeast audit[17979]: AVC apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.sc-controller.sc-controller" pid=17979 comm="apparmor_parser"
Apr 16 11:39:57 padbeast kernel: audit: type=1400 audit(1587033597.756:257): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.sc-controller.sc-controller" pid=17979 comm="apparmor_parser"
Apr 16 11:39:58 padbeast audit[17978]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.sc-controller" pid=17978 comm="apparmor_parser"
Apr 16 11:39:58 padbeast kernel: audit: type=1400 audit(1587033598.064:258): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.sc-controller" pid=17978 comm="apparmor_parser"
Apr 16 11:40:23 padbeast audit[17981]: AVC apparmor="DENIED" operation="open" profile="snap.mythicbeastsddns.mythicbeastsddns" name="/proc/17981/mounts" pid=17981 comm="updatedns.py" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Apr 16 11:40:23 padbeast kernel: audit: type=1400 audit(1587033623.225:259): apparmor="DENIED" operation="open" profile="snap.mythicbeastsddns.mythicbeastsddns" name="/proc/17981/mounts" pid=17981 comm="updatedns.py" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Apr 16 11:40:48 padbeast sudo[17989]: pam_unix(sudo:auth): Couldn't open /etc/securetty: No such file or directory
Apr 16 11:40:51 padbeast sudo[17989]: pam_unix(sudo:auth): Couldn't open /etc/securetty: No such file or directory
Apr 16 11:40:51 padbeast sudo[17989]:     neil : TTY=pts/0 ; PWD=/home/neil/Documents/programs/sc-controller ; USER=root ; COMMAND=/usr/bin/vim /var/lib/snapd/apparmor/profiles/snap.sc-controller.sc-controller
Apr 16 11:40:51 padbeast sudo[17989]: pam_unix(sudo:session): session opened for user root by (uid=0)
Apr 16 11:41:23 padbeast audit[18011]: AVC apparmor="DENIED" operation="open" profile="snap.mythicbeastsddns.mythicbeastsddns" name="/proc/18011/mounts" pid=18011 comm="updatedns.py" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Apr 16 11:41:23 padbeast kernel: audit: type=1400 audit(1587033683.777:260): apparmor="DENIED" operation="open" profile="snap.mythicbeastsddns.mythicbeastsddns" name="/proc/18011/mounts" pid=18011 comm="updatedns.py" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Apr 16 11:41:26 padbeast sudo[17989]: pam_unix(sudo:session): session closed for user root
Apr 16 11:41:39 padbeast sudo[18014]:     neil : TTY=pts/0 ; PWD=/home/neil/Documents/programs/sc-controller ; USER=root ; COMMAND=/usr/sbin/apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.sc-controller.sc-controller
Apr 16 11:41:39 padbeast sudo[18014]: pam_unix(sudo:session): session opened for user root by (uid=0)
Apr 16 11:41:39 padbeast audit[18016]: AVC apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.sc-controller.sc-controller" pid=18016 comm="apparmor_parser"
Apr 16 11:41:39 padbeast sudo[18014]: pam_unix(sudo:session): session closed for user root
Apr 16 11:41:39 padbeast kernel: audit: type=1400 audit(1587033699.909:261): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.sc-controller.sc-controller" pid=18016 comm="apparmor_parser"
Apr 16 11:41:46 padbeast sudo[18017]:     neil : TTY=pts/0 ; PWD=/home/neil/Documents/programs/sc-controller ; USER=root ; COMMAND=/usr/bin/vim /etc/udev/rules.d/70-snap.sc-controller.rules
Apr 16 11:41:46 padbeast sudo[18017]: pam_unix(sudo:session): session opened for user root by (uid=0)
Apr 16 11:41:49 padbeast sudo[18017]: pam_unix(sudo:session): session closed for user root
Apr 16 11:42:19 padbeast kernel: usb 1-1.2: new full-speed USB device number 4 using ehci-pci
Apr 16 11:42:19 padbeast kernel: usb 1-1.2: New USB device found, idVendor=28de, idProduct=1142, bcdDevice= 0.01
Apr 16 11:42:19 padbeast kernel: usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Apr 16 11:42:19 padbeast kernel: usb 1-1.2: Product: Steam Controller
Apr 16 11:42:19 padbeast kernel: usb 1-1.2: Manufacturer: Valve Software
Apr 16 11:42:19 padbeast mtp-probe[18062]: checking bus 1, device 4: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2"
Apr 16 11:42:19 padbeast mtp-probe[18062]: bus: 1, device: 4 was not an MTP device
Apr 16 11:42:19 padbeast kernel: hidraw: raw HID events driver (C) Jiri Kosina
Apr 16 11:42:19 padbeast kernel: usbcore: registered new interface driver usbhid
Apr 16 11:42:19 padbeast kernel: usbhid: USB HID core driver
Apr 16 11:42:19 padbeast mtp-probe[18100]: checking bus 1, device 4: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2"
Apr 16 11:42:19 padbeast mtp-probe[18100]: bus: 1, device: 4 was not an MTP device
Apr 16 11:42:19 padbeast kernel: input: Valve Software Steam Controller Keyboard as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/0003:28DE:1142.0001/input/input17
Apr 16 11:42:19 padbeast kernel: input: Valve Software Steam Controller Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/0003:28DE:1142.0001/input/input18
Apr 16 11:42:19 padbeast kernel: hid-generic 0003:28DE:1142.0001: input,hidraw0: USB HID v1.11 Keyboard [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input0
Apr 16 11:42:19 padbeast kernel: hid-generic 0003:28DE:1142.0002: hiddev0,hidraw1: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input1
Apr 16 11:42:19 padbeast kernel: hid-generic 0003:28DE:1142.0003: hiddev1,hidraw2: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input2
Apr 16 11:42:19 padbeast kernel: hid-generic 0003:28DE:1142.0004: hiddev2,hidraw3: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input3
Apr 16 11:42:19 padbeast kernel: hid-generic 0003:28DE:1142.0005: hiddev3,hidraw4: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input4
Apr 16 11:42:20 padbeast kernel: input: Valve Software Steam Controller as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/0003:28DE:1142.0001/input/input19
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0001: input,hidraw0: USB HID v1.11 Keyboard [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input0
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0002: hiddev0: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input1
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0006: hidraw1: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input1
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0002: Steam wireless receiver connected
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0003: hiddev1: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input2
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0007: hidraw2: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input2
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0003: Steam wireless receiver connected
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0004: hiddev2: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input3
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0008: hidraw3: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input3
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0004: Steam wireless receiver connected
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0005: hiddev3: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input4
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0009: hidraw4: USB HID v1.11 Device [Valve Software Steam Controller] on usb-0000:00:1a.0-1.2/input4
Apr 16 11:42:20 padbeast kernel: hid-steam 0003:28DE:1142.0005: Steam wireless receiver connected
Apr 16 11:42:22 padbeast audit[18141]: AVC apparmor="DENIED" operation="capable" profile="/usr/lib/snapd/snap-confine" pid=18141 comm="snap-confine" capability=4  capname="fsetid"
Apr 16 11:42:22 padbeast kernel: audit: type=1400 audit(1587033742.349:262): apparmor="DENIED" operation="capable" profile="/usr/lib/snapd/snap-confine" pid=18141 comm="snap-confine" capability=4  capname="fsetid"
Apr 16 11:42:22 padbeast systemd[2862]: tmp-snap.rootfs_T7EiCW.mount: Succeeded.
Apr 16 11:42:22 padbeast systemd[1]: tmp-snap.rootfs_T7EiCW.mount: Succeeded.
Apr 16 11:42:24 padbeast audit[18305]: AVC apparmor="DENIED" operation="open" profile="snap.mythicbeastsddns.mythicbeastsddns" name="/proc/18305/mounts" pid=18305 comm="updatedns.py" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Apr 16 11:42:24 padbeast kernel: audit: type=1400 audit(1587033744.377:263): apparmor="DENIED" operation="open" profile="snap.mythicbeastsddns.mythicbeastsddns" name="/proc/18305/mounts" pid=18305 comm="updatedns.py" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Apr 16 11:42:26 padbeast audit[18141]: AVC apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/18141/mounts" pid=18141 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 16 11:42:26 padbeast kernel: audit: type=1400 audit(1587033746.889:264): apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/18141/mounts" pid=18141 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 16 11:42:29 padbeast audit[18315]: AVC apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/18315/mounts" pid=18315 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 16 11:42:29 padbeast kernel: audit: type=1400 audit(1587033749.873:265): apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/18315/mounts" pid=18315 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 16 11:42:32 padbeast scc-daemon[18324]: scc-daemon: started
Apr 16 11:42:32 padbeast kernel: input: SCController Keyboard as /devices/virtual/input/input20
Apr 16 11:42:32 padbeast kernel: input: SCController Mouse as /devices/virtual/input/input21
Apr 16 11:42:32 padbeast kernel: input: Microsoft X-Box 360 pad as /devices/virtual/input/input22
Apr 16 11:42:32 padbeast audit[18324]: AVC apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/dev/bus/usb/001/004" pid=18324 comm="python2" requested_mask="wr" denied_mask="wr" fsuid=1000 ouid=0
Apr 16 11:42:32 padbeast kernel: audit: type=1400 audit(1587033752.509:266): apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/dev/bus/usb/001/004" pid=18324 comm="python2" requested_mask="wr" denied_mask="wr" fsuid=1000 ouid=0
Apr 16 11:42:32 padbeast audit[18330]: AVC apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/18330/mounts" pid=18330 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Apr 16 11:42:32 padbeast kernel: audit: type=1400 audit(1587033752.577:267): apparmor="DENIED" operation="open" profile="snap.sc-controller.sc-controller" name="/proc/18330/mounts" pid=18330 comm="python2" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000

GUI error is at https://ovh.themcphails.uk/index.php/s/GtZkeLPYFKJb8mQ . for some reason discourse isn’t allowing me to upload the image directly.

Hello. Any further thoughts on this? I’m keen to get my controller working now 20.04 is released - https://discourse.ubuntu.com/t/workarounds-for-applications-which-are-broken-in-20-04lts/15474 .

@mcphail - sorry for the delay in response. My understanding is that granting raw-usb is not sufficient for your snap and that you need the /dev/uinput interface for the snap to be functional at all. That work is scheduled for snapd 2.45 atm but not done yet, so we’ve not voted yet.

Is your snap functional without /dev/uinput? If so, we can proceed with the vote for this topic.

Hi Jamie

I’m happy for the decision to be made for both interfaces at once when the uinput plug is ready, if you think that’s best. However, I knew this would be complex - with overlapping error messages and denials from both fronts - and thought it made more sense to address one plug at a time. That’s partly because I’m struggling to understand whatis needed myself. I wanted to make sure we’d fully addressed the need for the raw-usb plug (and discounted any other alternatives) in anticipation of another discussion on uinput. There are already 500 active users for the snap and I want to make sure I can get it working for them as soon as possible.

If you’d rather park this and discuss both together I’m happy to take that route.

Many thanks!

It is fine to vote on that part now.

+1 to auto-connect raw-usb. @reviewers - can others please vote?

1 Like

+1 to auto-connect raw-usb for sc-controller

1 Like

+1 to auto-connect raw-usb for sc-controller from me, as well.

1 Like

3 votes for, 0 against for auto-connection of raw-usb. Granting. This is now live.

1 Like

Thanks @jdstrand and the @reviewers !