[mythtv-users] Upgraded to Fedora 22 and lirc is misbehaving

Jerry mythtv at hambone.e4ward.com
Wed May 27 00:41:20 UTC 2015


On Tue, May 26, 2015 at 7:19 PM, Hika van den Hoven <hikavdh at gmail.com>
wrote:

> Hoi Hika,
>
> Wednesday, May 27, 2015, 12:57:59 AM, you wrote:
>
> > Hoi Jerry,
>
> > Wednesday, May 27, 2015, 12:51:01 AM, you wrote:
>
> >> I have not changed a thing except for adding this non-working udev rule.
> >> Everything worked fine until this afternoon.
>
> >> Other than that, every service seems to be working on the new install.
> I'm
> >> watching comedy central on live tv at the moment.  I had a bit of an
> issue
> >> with rpmfusion's nVidia drivers (no 22 rpms for the new kernel) but I
> >> solved that by installing the Fedora 21 akmod-nvidia-340xx rpms, in case
> >> anyone else has issues.  I should have switched to akmod a long time
> ago.
>
> >> Ok, on to lirc:
>
> >> [root at htpc ~]# ls -l /dev/lirc0
> >> crw------- 1 root root 246, 0 May 26 18:17 /dev/lirc0
> >> [root at htpc ~]# more /etc/udev/rules.d/10-lirc.rules
> >> KERNEL=="lirc0", NAME=="lirc0", GROUP="root", MODE=="0777"
> >> [root at htpc ~]#
>
> >> If I change the permissions of /dev/lirc0 to 777, everything works. I'd
> >> rather not do that, but I will for now just temporarily.
>
> >> If I start it up without changing the permissions, this shows up in the
> log:
>
> >> May 26 18:28:58 htpc systemd: Started LIRC Infrared Signal Decoder.
> >> May 26 18:28:58 htpc systemd: Starting LIRC Infrared Signal Decoder...
> >> May 26 18:28:58 htpc audit: <audit-1130> pid=1 uid=0 auid=4294967295
> >> ses=4294967295 msg='unit=lircd comm="systemd"
> >> exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
> >> May 26 18:28:58 htpc lircd: lircd-0.9.2a[2199]: Notice: Running as user
> lirc
> >> May 26 18:28:58 htpc lircd-0.9.2a[2199]: Notice: Running as user lirc
> >> May 26 18:28:58 htpc lircd: lircd-0.9.2a[2199]: Info: Using remote:
> mceusb.
> >> May 26 18:28:58 htpc lircd-0.9.2a[2199]: Info: Using remote: mceusb.
> >> May 26 18:28:58 htpc lircd: lircd-0.9.2a[2199]: Notice: lircd(default)
> >> ready, using /var/run/lirc/lircd
> >> May 26 18:28:58 htpc lircd-0.9.2a[2199]: Notice: lircd(default) ready,
> >> using /var/run/lirc/lircd
> >> May 26 18:28:59 htpc lircd: lircd-0.9.2a[2199]: Notice: accepted new
> client
> >> on /var/run/lirc/lircd
> >> May 26 18:28:59 htpc lircd-0.9.2a[2199]: Notice: accepted new client on
> >> /var/run/lirc/lircd
> >> May 26 18:28:59 htpc lircd-0.9.2a[2199]: Error: could not open
> /dev/lirc0
> >> May 26 18:28:59 htpc lircd-0.9.2a[2199]: default_init(): Permission
> denied
> >> May 26 18:28:59 htpc lircd-0.9.2a[2199]: Warning: Failed to initialize
> >> hardware
> >> May 26 18:28:59 htpc lircd: lircd-0.9.2a[2199]: Error: could not open
> >> /dev/lirc0
> >> May 26 18:28:59 htpc lircd: lircd-0.9.2a[2199]: default_init():
> Permission
> >> denied
> >> May 26 18:28:59 htpc lircd: lircd-0.9.2a[2199]: Warning: Failed to
> >> initialize hardware
> >> May 26 18:29:00 htpc lircd: lircd-0.9.2a[2199]: Error: could not open
> >> /dev/lirc0
> >> May 26 18:29:00 htpc lircd: lircd-0.9.2a[2199]: default_init():
> Permission
> >> denied
> >> May 26 18:29:00 htpc lircd-0.9.2a[2199]: Error: could not open
> /dev/lirc0
> >> May 26 18:29:00 htpc lircd-0.9.2a[2199]: default_init(): Permission
> denied
> >> May 26 18:29:01 htpc lircd: lircd-0.9.2a[2199]: Error: could not open
> >> /dev/lirc0
> >> May 26 18:29:01 htpc lircd: lircd-0.9.2a[2199]: default_init():
> Permission
> >> denied
> >> May 26 18:29:01 htpc lircd-0.9.2a[2199]: Error: could not open
> /dev/lirc0
> >> May 26 18:29:01 htpc lircd-0.9.2a[2199]: default_init(): Permission
> denied
> >> May 26 18:29:02 htpc lircd: lircd-0.9.2a[2199]: Error: could not open
> >> /dev/lirc0
> >> May 26 18:29:02 htpc lircd-0.9.2a[2199]: Error: could not open
> /dev/lirc0
> >> May 26 18:29:02 htpc lircd-0.9.2a[2199]: default_init(): Permission
> denied
>
> >> ...and it goes on and on.
>
> >> Is it possible for me to make a working udev rule for /dev/lirc0?  What
> >> should the permissions be?
> >> I tried changing the group to lirc and setting the permissions
>
> >> [root at htpc ~]# ps aux | grep lirc
> >> lirc      2199  0.0  0.0  57956  3836 ?        Ss   18:28   0:00
> >> /usr/sbin/lircd --nodaemon
> >> root     14117  0.0  0.0 114328  2304 pts/0    R+   18:33   0:00 grep
> >> --color=auto lirc
> >> [root at htpc ~]#
>
> >> I tried changing the group to lirc and changing permissions to 770 but
> that
> >> failed.
>
> >> Since it's stuck on an initialization loop until the device allows
> >> permission, I am going to add a line in /etc/rc.d/rc.local:
>
> >> chmod 777 /dev/lirc0
>
> >> This seems like an awful hack.  Does anyone have a better idea?
>
> >> Thanks!
> >> Jerry
>
> > It says it is running as user lirc! and the original permission is
> > only rw to root. So either change ownership to user lirc or to the
> > group lirc is in and changing permissions to 660. (no x flag needed)
> > So if that group is also lirc:
>
> >> KERNEL=="lirc0", NAME=="lirc0", GROUP="lirc", MODE=="0660"
>
> > Or run the service as root
>
> Sorry I missed that you tried changing permission, but that it failed.
> What failed? The changing permission or like before? Dit you verify
> that user lirc has/is in group lirc?
>
> I have it running as root, which is normal for such a basic service.
>
>
After a reboot, the permissions on /dev/lirc0 did not change.  Shouldn't
the device have been changed?  Is lircd creating the device afterward or
before the udev rule does?  I have two other rules in that directory.

[root at htpc ~]# more /etc/udev/rules.d/10-lirc.rules
KERNEL=="lirc0", NAME=="lirc0", GROUP="lirc", MODE=="0660"
[root at sirius ~]# ls -l /dev/lirc0
crw------- 1 root root 246, 0 May 26 20:28 /dev/lirc0
[root at htpc ~]#

[root at htpc ~]# ls -l /etc/udev/rules.d/
total 12
-rw-r--r--  1 root root  59 May 26 20:25 10-lirc.rules
-rw-r--r--. 1 root root 104 Sep 18  2013 81-remote-control-lirc.rules
-rw-r--r--  1 root root  68 Mar 10 19:56 85-rtc.rules
[root at htpc ~]# more /etc/udev/rules.d/81-remote-control-lirc.rules
SUBSYSTEM=="rc", ATTRS{protocols}=="*lirc*" RUN+="/bin/sh -c 'echo lirc >
/sys$env{DEVPATH}/protocols'"
[root at sirius ~]# more /etc/udev/rules.d/85-rtc.rules
KERNEL=="rtc0", ATTR{name}=="rtc_cmos", GROUP="mythtv", MODE="0660"
[root at htpc ~]#

If I change the ownership to root:lirc and chmod 660, lircd still complains
as above.   If I chmod 666 /dev/lirc0, everything works!  Why is that?  Why
does it need "other" permissions?  The process is owned by lirc.  I think.

Anyway, for now I just added a line to devil sign (chmod 666) the device in
rc.local.  It works, but it just feels wrong.

Thanks!
Jerry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20150526/5eef65f4/attachment.html>


More information about the mythtv-users mailing list