You are not logged in.

#1 2014-10-14 16:15:53

ThePacman
Member
From: Classified
Registered: 2013-09-19
Posts: 127

Changing permissions on /dev/uinput

I'm trying to set up my system so that /dev/uinput is owned by group input and has mode 0660. Right now, it's owned by root:root and is 0600.

I've tried setting up the following rule:

# /etc/udev/rules.d/99-uinput.rules
KERNEL=="uinput", GROUP:="input", MODE:="0660"

(I'd originally tried without the colons, but that wasn't working either.)

But it's not doing anything, even after a reboot. I head somewhere that it can be done via modprobe options, but the article didn't specify what options to add.


Fedora believes in "software freedom" - that is, restricting user software choices to those deemed appropriately licensed by The Powers That Be.
Arch believes in "freedom", as well - the user has control over his or her system and can do what he wants with it.
https://fedoraproject.org/wiki/Forbidden_items | https://wiki.archlinux.org/index.php/The_Arch_Way

Offline

#2 2014-10-14 19:56:51

ThePacman
Member
From: Classified
Registered: 2013-09-19
Posts: 127

Re: Changing permissions on /dev/uinput

Okay, on this page, it says:

generalcriticism.com wrote:
open("/dev/input/uinput", O_RDWR|O_NONBLOCK) = -1 ENOENT (No such file or directory)
open("/dev/uinput", O_RDWR|O_NONBLOCK)  = -1 EACCES (Permission denied)
open("/dev/misc/uinput", O_RDWR|O_NONBLOCK) = -1 ENOENT (No such file or directory)
futex(0xb730d6fc, FUTEX_WAKE_PRIVATE, 2147483647) = 0
close(4)                                = 0
close(5)                                = 0
close(6)                                = 0
rt_sigaction(SIGINT, {SIG_DFL, [INT], SA_RESTART}, {0x806b0c0, [INT], SA_RESTART}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, [TERM], SA_RESTART}, {0x806b0c0, [TERM], SA_RESTART}, 8) = 0
ioctl(7, USBDEVFS_DISCARDURB, 0x8ec1ad0) = 0
ioctl(7, USBDEVFS_DISCARDURB, 0x8ec1b38) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Segmentation fault

Looks like it's searching for a uinput device in /dev that doesn't exist. I did a quick modprobe uinput as root, fixed the perms on the created /dev/uinput file (this can be made permanent with a rule in /etc/modprobe.d and is left as an exercise for the reader), and voila, xboxdrv now functioning with my SixAxis.

I would really appreciate it if somebody knew how this was done. I can't figure it out, and the #archlinux IRC was no good either; all they could recommend was recompiling the linux kernel with a manual patch, or else using acl (which wouldn't stick around after I rebooted).


Fedora believes in "software freedom" - that is, restricting user software choices to those deemed appropriately licensed by The Powers That Be.
Arch believes in "freedom", as well - the user has control over his or her system and can do what he wants with it.
https://fedoraproject.org/wiki/Forbidden_items | https://wiki.archlinux.org/index.php/The_Arch_Way

Offline

Board footer

Powered by FluxBB