'Twas brillig, and Вечный Студент at 02/09/12 14:47 did gyre and gimble:
> 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
> 
> Can anybody suggest legal systemd/udev way to get needed sequence of 
> operations?


Can you use a templated unit for lircd? e.g. [email protected],
afterall I presume you have to run a separate licrd for each serial port
you have.

If so, then your [email protected] file would contain something like:


ExecStartPre=-/usr/bin/rmmod lirc_serial
ExecStartPre=-/usr/bin/setserial /dev/%i uart none
ExecStartPre=-/sbin/modprobe lirc_serial
ExecStart=....

Not sure it's the most graceful of solutions and if you do have multiple
remotes connected (admittedly a somewhat uncommon setup) then the rmmod
will likely fail).

Still you might be able to do what you need to do with ExecStartPre even
in a non-templated unit that will do what you need it to.

Col

-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited http://www.tribalogic.net/
Open Source:
  Mageia Contributor http://www.mageia.org/
  PulseAudio Hacker http://www.pulseaudio.org/
  Trac Hacker http://trac.edgewall.org/

_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to