[systemd-devel] udev/command/module/service
Zbigniew Jędrzejewski-Szmek
zbyszek at in.waw.pl
Sun Sep 2 07:04:44 PDT 2012
On Sun, Sep 02, 2012 at 05:47:32PM +0400, Вечный Студент wrote:
> The aim is to use LIRC with lirc_serial module. To get it these operations must take place in a given order:
>
> - udev must name a serial port
> - serial port must be freed from (built in) kernel serial driver with command 'setserial /dev/ttyS0 uart none'
> - lirc_serial driver must be loaded
> - lircd service must be started
>
> I have tried to add 'setserial ...' command into udev rule (RUN+=), add lirc_serial module to /etc/modules-load and enable lircd service - all these under systemd - but needed sequence of operation takes place randomly only. Currently I use custom script which I start manually after booting (and, of course, it does work always):
>
> ~ $ cat `which mylirc.sh`
> #!/bin/bash
>
> /usr/bin/systemctl stop lircd.service
> /usr/bin/rmmod lirc_serial
> /usr/bin/setserial /dev/ttyS0 uart none
> /sbin/modprobe lirc_serial
> /usr/bin/systemctl start lircd.service
Why don't you add
ExecStartPre=/usr/bin/setserial /dev/ttyS0 uart none
ExecStartPre=/sbin/modprobe lirc_serial
in lircd.service?
Zbyszek
More information about the systemd-devel
mailing list