You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.7 KiB
82 lines
2.7 KiB
## Fedora README
|
|
|
|
#### New service name: lirc -> lircd.
|
|
|
|
For reasons of consistency we have renamed the lirc service to
|
|
lircd. Basically, this means that to start the service one need
|
|
to use systemctl start lircd.service instead of lirc.service etc.
|
|
Sorry for the inconvenience.
|
|
|
|
#### Enable lirc protocol
|
|
|
|
For lirc to work with ir devices, the lirc protocol must be enabled
|
|
for the actual device used. This only applies to ir devices which
|
|
are visible as /sys/class/rc/rc? devices. E. g., I have an RF remote
|
|
which is just an usb device (driver atilibusb) and this one does
|
|
*not* require the the lirc protocol to be enabled in this way.
|
|
|
|
If you have a "classic" ir device needing lirc to be enabled one option
|
|
is to install the lirc-disable-kernel-rc subpackage. This is an udev
|
|
rule which disables the kernel built-in ir device handling and makes
|
|
lirc the only protocol used. This might or might not be what you want.
|
|
|
|
Another option is to set the LIRCD_IR_DEVICE in /etc/sysconfig/lirc. This
|
|
will enable the lirc protocol for that device when lirc is running. The
|
|
kernel built-in protocols are still in place, but not used. Again, this
|
|
might or might not be what you want.
|
|
|
|
#### Socket activation
|
|
|
|
As of 0.9.4-15+, the Fedora lirc package sports systemd socket
|
|
activation. This should fix the problems at startup when clients can't
|
|
connect to /var/run/lircd because the lircd service is yet not started.
|
|
|
|
To start the lircd service using socket activation:
|
|
|
|
# systemctl enable lircd.socket
|
|
# systemctl start lircd.socket
|
|
|
|
The lircmd is started the usual way:
|
|
|
|
# systemctl enable lircmd.service
|
|
# systemctl start lircmd.service
|
|
|
|
#### Running another instance.
|
|
|
|
Sometimes another lircd instance is required to handle some other input
|
|
device. This could be done by creating a new service definition in
|
|
/etc/systemd/system.
|
|
|
|
In my case I have an extra instance handling ir output to the transciever.
|
|
This is accomplished with a file /etc/systemd/system/lirc-tx:
|
|
----------------
|
|
[Unit]
|
|
Description=LIRC Infrared Signal Decoder
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStart=/usr/sbin/lircd --driver=iguanaIR \
|
|
--device=/var/run/iguanaIR/0 \
|
|
--output=/var/run/lirc/lircd-tx \
|
|
--pidfile=/run/lirc/dont-use-lircd-tx.pid \
|
|
--nodaemon \
|
|
--allow-simulate
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
|
|
-----------------------
|
|
|
|
This defines a new service which can be started using
|
|
'systemctl start lirc-tx' etc. It's essential that each service has an
|
|
unique output socket. You should probably also think twice before running
|
|
two instances with the same input device.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
http://stackoverflow.com/questions/11939255/writing-to-dev-uinput-on-ubuntu-12-04
|