IP-Symcon 5.x (Docker)

Habt ihr eine Idee warum bei mir das Weiterleiten nicht funktioniert? Das USB Gerät wir in der Weboberfläche der Synology erkennt.

Hier hatte doch wer was geschrieben das bei Docker die settings.json beim Beenden nicht gespeichert wird. Ich dachte eigentlich ich habe diesen Fehler nicht aber habe es gerade mal beobachtet, tritt auch bei mir auf (5.1.3133 auf einer Synology NAS)

@Bayaro hat diesen Fehler auch auf einem Rapberry Pi System beobachtet. Es scheint eine Kombination aus genutzten Modulen zu sein und die Nutzung dieser. Der Fehler ist somit leider etwas schwer zu finden. Ich freue mich natürlich über alle Hinweise die ihr dazu habt - rechne aber aktuell nicht mit einer schnell Lösung.

paresy

(Entfernt, falscher Kontext…)

Ich habe es jetzt mal manuel per Konsole probiert mit folgendem Befehl:

docker run --name symcon_usb --net="host" -v /volume1/docker/Symcon/lib:/var/lib/symcon -v /volume1/docker/Symcon/log:/var/log/symcon -v /volume1/docker/Symcon/root:/root --privileged -v /dev/ttyACM0:/dev/ttyACM0 symcon/symcon:latest

Folgende Fehlermeldung bekomme ich:

Bind mount failed: '/dev/ttyACM0' does not exists

Ich habe bereits mehrere USB Ports an der Synology probiert, immer das selbe Problem.
Leider bekomme ich das USB Gerät nicht verbunden…habt ihr noch eine Idee?

In der Synology bekomme ich das Gerät angezeigt


Auch mit einem „sudo“ vor dem docker Befehl?

Ja auch mit sudo davor. Gibt es eine Möglichkeit den Pfad des USB Anschluss rauszufinden? Ist es möglich, dass es nicht der /dev/ttyACM0 ist? Der Eintrag ist nämlich tatsächlich nicht da wenn ich mir das /dev Verzeichnis anschaue.

Hi,
schau vielleicht mal per SSH direkt in der Synology nach. Ich habe den Effekt das bei einem Neustart des NAS die Ports sich ändern und aus /dev/ttyACM0 wird /dev/ttyACM1. Braucht man nicht auch USBSerialDrivers App damit die USB-Sticks angesprochen werden können? Ich habe sie auf jeden Fall installiert weil ich das schon für OScam brauchte.

Das --privileged sollte doch das selbe sein wie „Mit hoher Priorität ausführen“ oder? Bei mir läuft es auf einer DS415+ ohne manuelle Eingriffe direkt in der Docker-App von Synology.

Ralf

Hey Ralf,

dein Tipp mit den Treibern hat es gebracht!! Vielen Dank, nun hab ich meinen M-Bus Master endlich in meinem Docker Container.
Falls noch jemand die passenden Treiber für seine Synology sucht, die sind hier zu finden:

http://www.jadahl.com/drivers_6.2/

Nochmals vielen Dank für die Hilfe!

Ist das noch aktuell das Symcon Docker auf Arm-Device nicht unterstützt wird? Gerade mit dem performanteren Raspi4 könnte man so mehrere Dienste (neben Symcon) gut als Container laufen lassen.

Ja, bisher ist ARM Unterstützung auch nicht geplant.

paresy

Vielen Dank für diesen Tipp. Daher schildere ich gerne meine Erfahrungen bei dem erfolgreichen Einbinden eines Aeon Z-Wave USB Sticks:

Ich wollte den Aeon Z-Wave USB Stick an einer Synology 218+ betreiben.

Zu Beginn wurde der Stick nicht von der Synology gefunden.
Überprüft habe ich das indem ich den Stick angesteckt habe, mich dann per SSH mit der Synology verbunden habe und den command „lsusb“ eingegeben habe. Dort sah man, dass die Hardware zwar erkannt wurde, der Stick aber nicht richtig eingebunden war.

Also habe ich nach Treibern für den USB Stick gesucht und habe sie auf dieser Seite gefunden.

Nachdem ich die Treiber geladen, über das Paket-Zentrum der Synology manuell installiert habe und die Synology neu gestartet habe, war der Stick unter /dev/ttyUSB0 eingebunden, also nicht wie in Deinem Beispiel unter /dev/ttyACM0.

Daher habe ich den Container so erstellt, wie in Deinem Screeshot gezeigt, eben nur mit /dev/ttyUSB0 statt /dev/ttyACM0.
Dabei bin ich so vorgegangen, dass ich den bereits laufenden Symcon Container zunächst gestoppt, dann über Portainer dupliziert und mit neuem Namen erstellt habe. Dabei habe ich das Device /dev/ttyUSB0 durchgereicht.

Beim Duplizieren hat Portainer natürlich gemeckert, dass die Ports schon für einen anderen Portainer vergeben sind.
Also habe ich ohne die ganzen Ports dupliziert. Dann hat es gleich geklappt.
Den alten Symcon Container habe ich dann gelöscht und den neu erstellten mit meinen Ports bestückt und gestartet.

Ich konnte dann den USB Stick sofort als Serial Port in Symcon anlegen und verwenden.

Gruß, Nico

Also habe ich nach Treibern für den USB Stick gesucht und habe sie auf dieser Seite gefunden.

Nachdem ich die Treiber geladen, über das Paket-Zentrum der Synology manuell installiert habe und die Synology neu gestartet habe, war der Stick unter /dev/ttyUSB0 eingebunden, also nicht wie in Deinem Beispiel unter /dev/ttyACM0.

Möchte mich für den Tipp mit dem Treiberpaket bedanken.
Habe früher schon einmal probiert Symcon auf Docker laufen zu lassen, jedoch habe ich nie ein USB Device verbinden können.
Bin dann den Umweg über ein Virtuelles Ubuntu Image gegangen.

Nun konnte ich meine zwei USB Devices auf anhieb einbinden und Docker läuft nun auf meiner 916+

Hallo Paresy, nach wie vor wird der Symcon Prozess bei einem Stoppen des Containers nach einer gewissen Zeit gekillt.
Änderungen, die kurz vor dem Stoppen passiert sind, werden somit oftmals verworfen und sind beim Neustart erneut zu machen.
Insofern wollte ich fragen, wie weit Ihr seid, dieses Problem zu beseitigen? Gibt es einen Workaround damit umzugehen, solange Symcon bei einem Stopp des Containers nicht sauber beendet wird?

Gruß, Nico.

Hi Nico,

das eigentlich Problem mit Docker ist laut meinem Ticket gelöst worden - bereits 2019. Ich vermute dein Problem ist noch spezieller, da ich es nicht isoliert nachstellen kann. Kannst du mal schauen, ob es bei dir passiert, wenn du mal einen frischen Symcon Container startest?

PS: Zur 5.6 kommt Unterstützung für ARMv6 + ARM64 Docker Images :wink:

paresy