irexec nach dem Boot starten

Debian auf Notebooks und speziellen Geräten wie eingebetteten Systemen, Routern, Set-Top-Boxen, ...
Antworten
Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

irexec nach dem Boot starten

Beitrag von Richard » 24.03.2018 07:04:01

Hallo,

ich versuche auf meinem Raspberry Pi mit Raspbian Jessie irexec nach dem Boot zu starten, was leider fehlschlägt. Ich möchte über vorher angelernte Infrarot-Fernbedienungen Scripte ausführen. Meine Service-Datei sieht so aus:

Code: Alles auswählen

[Unit]
Description=IR Remote irexec config .lircrc loaded on startup
After=lircd.service
Wants=lircd.service

[Service]
ExecStart=/usr/bin/irexec --daemon
Type=forking

[Install]
WantedBy=multi-user.target

Wenn ich mir den Status anzeigen lasse kommt

sudo systemctl status irexec.service
● irexec.service - IR Remote irexec config .lircrc loaded on startup
   Loaded: loaded (/etc/systemd/system/irexec.service; enabled)
   Active: failed (Result: exit-code) since Sa 2018-03-24 06:54:13 CET; 5min ago
  Process: 386 ExecStart=/usr/bin/irexec --daemon (code=exited, status=1/FAILURE)

Mär 24 06:54:13 raspberrypi systemd[1]: irexec.service: control process exited, code=exited status=1
Mär 24 06:54:13 raspberrypi systemd[1]: Failed to start IR Remote irexec config .lircrc loaded on startup.
Mär 24 06:54:13 raspberrypi systemd[1]: Unit irexec.service entered failed state.
Er scheint ein Problem mit der lircrc zu haben. Ich habe auch versucht die lircrc direkt mit anzugeben, mit

Code: Alles auswählen

ExecStart=/usr/bin/irexec --daemon /home/pi/.lircrc
oder

Code: Alles auswählen

ExecStart=/usr/bin/irexec --daemon /etc/lirc/lircrc
Beides ändert aber nach einem Reboot nichts. Starte ich die Servicedatei hingegen manuell geht alles und dann werden auch die Scripte die ich in der lircrc hinterlegt habe ausgeführt.

Code: Alles auswählen

sudo systemctl start irexec.service
sudo systemctl status irexec.service
● irexec.service - IR Remote irexec config .lircrc loaded on startup
   Loaded: loaded (/etc/systemd/system/irexec.service; enabled)
   Active: active (running) since Sa 2018-03-24 07:01:48 CET; 2s ago
  Process: 861 ExecStart=/usr/bin/irexec --daemon (code=exited, status=0/SUCCESS)
 Main PID: 863 (irexec)
   CGroup: /system.slice/irexec.service
           └─863 /usr/bin/irexec --daemon

Mär 24 07:01:48 raspberrypi systemd[1]: Started IR Remote irexec config .lircrc loaded on startup.
P.S. Ein Upgrade auf Stretch kommt auf dem Pi zunächst nicht in Frage. Da wird Lirc 0.9.4 installiert und da hat sich einiges im Handling geändert. Ich bin froh wenn das System so erstmal läuft.

Richard

KP97
Beiträge: 3403
Registriert: 01.02.2013 15:07:36

Re: irexec nach dem Boot starten

Beitrag von KP97 » 24.03.2018 16:36:07

Ich kenne zwar die Hardware und auch das Programm nicht, aber dauerhaft wird der Service mit

Code: Alles auswählen

systemctl enable irexec.service
aktiviert. Dabei wird ein Symlink angelegt, der bei jedem Boot ausgeführt wird.

Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Re: irexec nach dem Boot starten

Beitrag von Richard » 24.03.2018 17:11:17

Das hab ich vorher gemacht.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: irexec nach dem Boot starten

Beitrag von NAB » 24.03.2018 17:22:54

Ich kenne das Programm auch nicht, aber
Richard hat geschrieben: ↑ zum Beitrag ↑
24.03.2018 07:04:01
Beides ändert aber nach einem Reboot nichts. Starte ich die Servicedatei hingegen manuell geht alles und dann werden auch die Scripte die ich in der lircrc hinterlegt habe ausgeführt.
das klingt, als ob ihm noch irgendwas fehlt, um irexec erfolgreich starten zu können. Eventuell reicht das After=lircd.service nicht?
Was könnten denn diese "Scripte" noch brauchen um zu funktionieren? Netzwerk?
Schreibt irexec vielleicht irgendwo eine Log-Datei?
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: irexec nach dem Boot starten

Beitrag von habakug » 24.03.2018 18:40:41

Hallo,

es scheint da einen Bug [1] zu geben, behoben in lircd 0.10.
Workaround (suggested resolution) gleich zu Anfang des Bugreports. Ist lircd ohne systemd-Unterstützung kompiliert, will es den von systemd angebotenen Socket nicht akzeptieren.
It happens if lircd is built without systemd support in which case it will not pick up the socket provided by systemd.[...]
Furthermore, systemd has changed the name of the pkg-config file tested by lirc on build. This means that after updating systemd, lircd by default will be built without systemd support.
Ich weiss allerdings nicht, ob das hier auch auf den Pi und das gewollte Versions-Pinning zutrifft.

Gruss, habakug

[1] https://sourceforge.net/p/lirc/tickets/274/
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: irexec nach dem Boot starten

Beitrag von NAB » 24.03.2018 19:16:36

habakug hat geschrieben: ↑ zum Beitrag ↑
24.03.2018 18:40:41
Ist lircd ohne systemd-Unterstützung kompiliert, will es den von systemd angebotenen Socket nicht akzeptieren.
Das erklärt irgendwie nicht, warum die Unit später dann doch startet, oder?
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Re: irexec nach dem Boot starten

Beitrag von Richard » 24.03.2018 19:51:51

Eine Version 0.10 gibt es doch noch gar nicht. Die aktuelle ist die 0.9.4.

Hab noch eine Möglichkeit über init.d gefunden, teste ich mal.

DeletedUserReAsG

Re: irexec nach dem Boot starten

Beitrag von DeletedUserReAsG » 24.03.2018 19:54:42

Richard hat geschrieben: ↑ zum Beitrag ↑
24.03.2018 19:51:51
Eine Version 0.10 gibt es doch noch gar nicht. Die aktuelle ist die 0.9.4.
Auf sourceforge ist die aktuelle Version 0.10.1 (https://sourceforge.net/projects/lirc/files/)

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: irexec nach dem Boot starten

Beitrag von NAB » 24.03.2018 19:59:35

Richard hat geschrieben: ↑ zum Beitrag ↑
24.03.2018 19:51:51
Eine Version 0.10 gibt es doch noch gar nicht.
Nunja ...
https://packages.debian.org/search?keywords=lirc
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: irexec nach dem Boot starten

Beitrag von habakug » 24.03.2018 21:30:12

Hallo,
Richard hat geschrieben:Die aktuelle ist die 0.9.4.
Auch dort gibt es eine Menge zu tun, wenn man die Hinweise zu Debian liest [1]:
## 0.9.4 disruptive update

The configuration is so much changed that updating from 0.9.0 requires
manual intervention. This could be done using the update scripts or as
a completely manual process. Many users will always need some manual steps.

The outcome of the process is up to four different services by
default controlled by systemd.
[...]
- 0.9.4 defaults to using systemd for controlling the services. This
is not just start/stop functionality, systemd is used to implement
new features and to address shortcomings in 0.9.0. However, traditional
systemV scripts are also installed and could be used although this
is less tested and not really documented.
[...]
Das ist wohl der Schritt, der dir bis jetzt das Erfolgserlebnis verhagelt hat.

Gruss, habakug

[1] zmore /usr/share/doc/lirc/README.Debian.gz
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Re: irexec nach dem Boot starten

Beitrag von Richard » 25.03.2018 11:30:48

Da auf dem Pi noch mein Bluetooth-Receiver läuft und es echt ein Kampf war diesen mit Jessie zum Laufen zu bringen (mit Stretch bin ich da kläglich gescheitert) nutzt mir dieser Bugfix irgendwie nichts, da unter Jessie nur Lirc 0.9.0 verfügbar ist und ich wegen genannter Probleme hier nicht auf Stretch updaten will.

Ich hab es jetzt so wie hier http://elektronik.skyline-service.de/ra ... ktivieren/ (unter "IREXEC aktivieren") mit einem Init-Script gemacht. Der lädt zwar obwohl ich die lircrc im Homeverzeichnis angegeben habe die /etc/lirc/lircrc - aber es geht zumindest.

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: irexec nach dem Boot starten

Beitrag von habakug » 25.03.2018 11:41:27

Hallo,
Richard hat geschrieben:[...]Bluetooth-Receiver [...] mit Jessie zum Laufen zu bringen [...]
Vielleicht kann dir hier ja jemand helfen...

Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Re: irexec nach dem Boot starten

Beitrag von Richard » 25.03.2018 11:45:33

Vielleicht, aber ich will mir die Arbeit jetzt nicht nochmal machen. Manchmal bin ich Old school - irgendwann muss ein Gerät ja auch "einfach mal laufen".

Antworten