Homegear-gateway 0.7.45 Fehler beim Autostart: No IP address could be found

Moin zusammen,

ich betreibe mehrere Homegear-Gateways mit @pmayer 's CC1101 Modul. Gestern hat’s die Hauptsicherung rausgehauen und nachdem wieder Saft da war, ist auf keinem der RPIs Homegear Gateway gestartet.

Offenbar gibt es eine Race Condition zwischen dem Aufbau des Netzwerks (Adresse kommt per DHCP) und dem Start des Gateways. Ein manueller Start nachdem das Netzwerk steht funktioniert dann - ist aber nicht Sinn der Sache.

Da der Start via Systemd erfolgt wäre lt. freedesktop.org eine Änderung des Unit-Files homegear-gateway.service notwendig. Aus

after=network.target

sollte

after=network-online.target 

werden.

Ich hab das mal lokal gemacht und das Problem scheint damit behoben. Bitte überprüfen und in die Debian/Raspbian-Pakete aufnehmen.

Anbei die Fehlermeldung:

02/29/20 22:17:15.962 Starting Homegear Gateway...
02/29/20 22:17:15.964 Info: Dropping privileges to user homegear (109) and group homegear (113)
02/29/20 22:17:15.965 Info: Homegear Gateway is (now) running as user with id 109 and group with id 113.
02/29/20 22:17:16.222 Error in file RpcServer.cpp line 166 in function bool RpcServer::start(): No IP address could be found.
02/29/20 22:17:16.222 Critical: Could not start.
02/29/20 22:17:16.222 Startup complete.
02/29/20 22:17:16.222 (Shutdown) => Stopping Homegear Gateway (Signal: 15)
02/29/20 22:17:16.312 (Shutdown) => Shutdown complete.

Gruß

m0wlheld

Hallo @m0wlheld,

im Nightly ist das bereits der Fall. Bald also auch im Stable. Trotzdem vielen Dank!

Viele Grüße

Sathya

Irgendwie ist das Problem wieder da, obwohl das Unit-File unverändert von after=network-online.target ausgeht. Nach einem Reboot startet homegear-gateway nicht bzw. zu früh und steigt dann aus:

Log:

12/25/20 12:17:18.054 Starting Homegear Gateway...
12/25/20 12:17:18.056 Info: Dropping privileges to user homegear (109) and group homegear (113)
12/25/20 12:17:18.056 Info: Homegear Gateway is (now) running as user with id 109 and group with id 113.
12/25/20 12:17:18.278 Error in file RpcServer.cpp line 166 in function bool RpcServer::start(): No IP address could be found.
12/25/20 12:17:18.278 Critical: Could not start.
12/25/20 12:17:18.278 Startup complete.
12/25/20 12:17:18.278 (Shutdown) => Stopping Homegear Gateway (Signal: 15)
12/25/20 12:17:18.361 (Shutdown) => Shutdown complete.
12/25/20 12:17:18.765 Starting Homegear Gateway...
12/25/20 12:17:18.767 Info: Dropping privileges to user homegear (109) and group homegear (113)
12/25/20 12:17:18.767 Info: Homegear Gateway is (now) running as user with id 109 and group with id 113.
12/25/20 12:17:18.973 Error in file RpcServer.cpp line 166 in function bool RpcServer::start(): No IP address could be found.
12/25/20 12:17:18.973 Critical: Could not start.
12/25/20 12:17:18.973 Startup complete.
12/25/20 12:17:18.973 (Shutdown) => Stopping Homegear Gateway (Signal: 15)
12/25/20 12:17:19.072 (Shutdown) => Shutdown complete.

Umgebung (Hardware ist ein Raspberry Pi 3B):

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.13 (stretch)
Release:        9.13
Codename:       stretch

$ homegear-gateway -v
Homegear Gateway version 0.7.45-3101
Copyright (c) 2013-2019 Homegear GmbH

$ cat /etc/systemd/system/homegear-gateway.service
[Unit]
Description=Homegear Gateway
After=network-online.target

[Install]
WantedBy=multi-user.target

[Service]
Type=simple
PIDFile=/var/run/homegear/homegear-gateway.pid
TimeoutSec=300
LimitRTPRIO=100
ExecStart=/usr/bin/homegear-gateway -u homegear -g homegear -p /var/run/homegear/homegear-gateway.pid
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
TasksMax=infinity
LimitCORE=infinity

Hallo @m0wlheld,

es gibt inzwischen die Einstellungen waitForIp4OnInterface und waitForIp6OnInterface, weil auch wir damit öfter Probleme hatten. Diese warten, bis die angegebene Netzwerkschnittstelle eine IP zugeordnet hat (und damit bereit ist).

Wenn du eine dieser Einstellungen setzt, sollte es in jedem Fall gehen.

Viele Grüße

Sathya