Bullseye - ser2net start nach reboot Problem

Begonnen von mmiii, 26 Dezember 2022, 13:58:53

Vorheriges Thema - Nächstes Thema

mmiii

Hi,

habe meine PI3 FHEM installation erfolgreich in den Keller auf meine Synology zu Docker migriert.
An zentraler Stelle des Hauses kommt ein PI2B Bullseye mit ser2net  für Jeelink, CUL433 und CUL868 zum Einsatz.
Das funktioniert perfekt und ist in Sachen Performance echt ein Meilenstein auf meiner Synology DS720+ mit Docker.

Einzig, nach dem Restart des Raspi mit Bullseye startet ser2net offensichtlich ohne das die Schnittstellen mit den Sticks initialisiert sind.
Ergebnis ser2net läuft in einen Fehler

pi@raspiserial:~ $ systemctl status ser2net
● ser2net.service - Serial port to network proxy
     Loaded: loaded (/lib/systemd/system/ser2net.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-12-26 12:30:18 GMT; 7min ago
       Docs: man:ser2net(8)
   Main PID: 461 (ser2net)
      Tasks: 1 (limit: 1596)
        CPU: 123ms
     CGroup: /system.slice/ser2net.service
             └─461 /usr/sbin/ser2net -n -c /etc/ser2net.yaml -P /run/ser2net.pid

Dec 26 12:30:18 raspiserial systemd[1]: Starting Serial port to network proxy...
Dec 26 12:30:18 raspiserial systemd[1]: Started Serial port to network proxy.
Dec 26 12:30:19 raspiserial ser2net[461]: Invalid port name/number: Invalid data to parameter on line 19 column 0
Dec 26 12:30:19 raspiserial ser2net[461]: Invalid port name/number: Invalid data to parameter on line 24 column 0
Dec 26 12:30:19 raspiserial ser2net[461]: Invalid port name/number: Invalid data to parameter on line 29 column 0
Dec 26 12:30:19 raspiserial ser2net[461]: Invalid port name/number: Invalid data to parameter on line 19 column 0
Dec 26 12:30:19 raspiserial ser2net[461]: Invalid port name/number: Invalid data to parameter on line 24 column 0
Dec 26 12:30:19 raspiserial ser2net[461]: Invalid port name/number: Invalid data to parameter on line 29 column 0


sudo systemcdl stop sert2net
sudio systemcdl start ser2net
fixt das problem

pi@raspiserial:~ $ systemctl status ser2net
● ser2net.service - Serial port to network proxy
     Loaded: loaded (/lib/systemd/system/ser2net.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-12-26 12:37:45 GMT; 14min ago
       Docs: man:ser2net(8)
   Main PID: 768 (ser2net)
      Tasks: 1 (limit: 1596)
        CPU: 693ms
     CGroup: /system.slice/ser2net.service
             └─768 /usr/sbin/ser2net -n -c /etc/ser2net.yaml -P /run/ser2net.pid

Dec 26 12:37:45 raspiserial systemd[1]: Starting Serial port to network proxy...
Dec 26 12:37:45 raspiserial systemd[1]: Started Serial port to network proxy.


die vermeintliche Lösung habe ich im Forum gefunden jedoch ohne Erfolg implementiert

ZitatAuch das Thema restart nach reboot ist jetzt gelöst :
Ihr müsst eine Ergänzung in der Datei /usr/lib/systemd/system/ser2net.service vornehmen
Und zwar unter [Unit] folgende Zeilen anhängen
After=network-online.target
Wants=network-online.target
Meine ser2net.service sieht jetzt so aus damit geht alles!



[Unit]
Description=Serial port to network proxy
Documentation=man:ser2net(8)
After=network-online.target
Wants=network-online.target

[Service]
EnvironmentFile=-/etc/default/ser2net
ExecStart=/usr/sbin/ser2net -n -c $CONFFILE -P /run/ser2net.pid
Type=exec
Restart=always

[Install]
WantedBy=multi-user.target



Der Start erfolgt leider immer noch ohne die Verbindung zu den Ports herzustellen.

Hat jemand eine Lösung hierzu?

Schonmal Danke für Tipps



betateilchen

Hast Du den systemd daemon reload durchgeführt, damit die Änderung im service file überhaupt berücksichtigt wird?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

Wenn er den Pi zum testen rebootet ......

Was mich eher interessiert:
- LAN oder WLAN?
- Welche Distri in welcher Version?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

mmiii

ja das Problem tritt immer nach dem Reboot auf...
Der Raspi ist via LAN angebunden.

Die Lösung läuft seit Tagen perfekt, die Reaktionszeiten von CUL und Jeelink sind top.
Lediglich der Reboot erfordert manuell den Restart von ser2net

Distri
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"



Wernieman

Kannst Du mal im Syslog/Kern.log gucken, ob wirklich ser2net NACH Network gestartet wird?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Otto123

#5
richtige Datei editiert?
schau mal in
systemctl cat ser*
weil:
Zitat von: mmiii am 26 Dezember 2022, 13:58:53
     Loaded: loaded (/lib/systemd/system/ser2net.service; enabled; vendor preset: enabled)
versus
Zitatdie vermeintliche Lösung habe ich im Forum gefunden jedoch ohne Erfolg implementiert
/usr/lib/systemd/system/ser2net.service

Ich lege meine editierten service Dateien immer nach /etc/systemd/system/ .
Dort landen sie automatisch, wenn man das mitgelieferte unit File als Vorlagen nimmt (und damit die Vorlage im Original behält).
edit --full erzeugt eine Kopie der mitgelieferten Vorlage in /etc/systemd/system/ wenn der jeweilige Service noch nicht konfiguriert wurde:
sudo systemctl edit --full <servicename>
Es gibt noch andere Möglichkeiten, ich fand diese für mich am eingängigsten.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Sany

Hallo mmiii,

bist Du weitergekommen?
Ich betreibe auch einige Schnittstellen per ser2net, allerdings auf meinem Proxmox-host, um diese dann in den Containern zu nutzen. Funktioniert prima, auch ein reboot.
Auf einem Raspi Zero habe ich das nochmal nachgebaut, der startet auch einwandfrei mit den Schnittstellen aktiv.

Du könntest mal versuchen in der ser2net.service das
ZitatAfter=network-online.target
Wants=network-online.target

so zu ersetzen:
ZitatRequires=network-online.target
After=network-online.target

Wants heißt nur, er möchte zwar das network-online, startet aber auch ohne. Mit requires muss das Netzwerk auch online sein, sonst startet der service gar nicht.
After= heißt nur, dass ser2net nach network gestartet werden soll.

Ich hab das auf meinem Raspi mal eingetragen, er startet (halt genauso wie vorher) das ser2net wie erwartet.

Wenn das auch nix fruchtet gibts noch die Möglichkeit, das ser2net abhängig von einem Pfad oder File zu starten, also zu überwachen, ob z.B. /dev/ttyUSB0 da ist. Das soll auch bei mehreren Files/Pfaden gehen, habs aber noch nicht durchschaut wie. Dazu dann bei Bedarf mehr.

@Otto: vielen Dank für den Tipp mit sudo systemctl edit --full <servicename>
Das ist eine charmante Lösung, um service-Files, die woanders installiert wurden, nach etc zu kopieren und die dann zu nutzen. Es scheint auch, als ob der service gleich neugestartet wird, wenn man den Editor wieder verläßt.
.service-Files in /etc/systemd/system werden von systemd als letztes gelesen und ausgeführt, d.h. diese "überschreiben" oder "overrulen" gleichnamige .service-Files, die woanders liegen.
Ich hatte es ja, dass ein Update von deConz mir meinen deconz.service überschrieben hat, da ich den am Original-Platz editiert hatte. Jetzt ist er in /etc/systemd/system und wird (hoffentlich) in Ruhe gelassen.



Viel Erfolg!


Sany
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

Otto123

Gesundes Neues Jahr,

Zitat von: Sany am 31 Dezember 2022, 16:36:41
Es scheint auch, als ob der service gleich neugestartet wird, wenn man den Editor wieder verläßt.
Er macht meines Wissens beim Verlassen ein daemon-reload.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz