Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fehlendes tty-Device nach Neustart #36

Closed
Elix-g opened this issue Mar 19, 2018 · 12 comments
Closed

Fehlendes tty-Device nach Neustart #36

Elix-g opened this issue Mar 19, 2018 · 12 comments

Comments

@Elix-g
Copy link

Elix-g commented Mar 19, 2018

Hallo Alex,

ich nutze neben dem HM-MOD-RPI-PCB ein USB-Funkmodul für die Verwendung im cuxd-AddOn. Auf dem Host taucht der Stick als /dev/ttyACM0 auf. Zur Nutzung in piVCCU, steht in /etc/piVCCU/post-start.sh gemäß Doku folgendes:

#!/bin/bash
pivccu-device add /dev/ttyACM0

Das Ganze funktioniert soweit auch einwandfrei. Wird allerdings die Zentrale durch z.B. die Installation eines AddOns neu gestartet, wird der Stick von cuxd nicht mehr erkannt. Ein Blick in den Container zeigt, dass das vorher sauber durchgereichte Gerät /dev/ttyACM0 nicht mehr existiert. Abhilfe schafft der Neustart der Zentrale via systemd oder das manuelle Ausführen des post-start.sh Scripts.

Besteht die Chance, post-start.sh auch bei einem Neustart der aus der Zentrale selbst erfolgt auszuführen?

Danke und Gruß,
Elix

@alexreinert
Copy link
Owner

Leider geht das aktuell bei LXC 2.x nich ohne Weiteres.

Ich habe aber sowieso vor das ganze Handling von pivccu-device etwas zu verändern, so dass man bei der Installation der Pakete (bzw. später mit dpkg-reconfigure) die Geräte auswählt, welche durchgereicht werden sollen, so dass der Umweg über das Hook-Script nicht mehr notwendig ist.

@Elix-g
Copy link
Author

Elix-g commented Mar 21, 2018

Hi Alex,

danke für deine Antworten!

Auf die Gefahr hin, dass du den Artikel bereits kennst:

https://forum.fhem.de/index.php?topic=82767.0

Habe ich ehrlich gesagt gerade nur schnell überflogen, sieht aber für meine Begriffe zutreffend aus. Werde mich am WE damit näher auseinander setzen.

Gruß,
Elix

@alexreinert
Copy link
Owner

Hi,

den kannte ich noch nicht. Aber as grundsätzliche Virgehen darin schon.
Das kannst auch genau so in piVCCU umsetzen, in dem du die /etc/piVCCU/lxc.config anpasst.

Für ein allgemeines Vorgehen sehe ich es aber problematisch, weil dadurch weitere Mounts kommen, welche ich aus Gründen der Kompatibilität cur CCU2 vermeiden will.

Das was ich machen will, wird über den gleichen Mechanismuss laufen, mit dem ich jetzt schon die dev-Nodes für das Funkmodul erstelle: die lxc config bekommt dynamisch die cgroup Einträge rein und im start hook vom Container werden dann die dev-Nodes erstellt (ohne Mount)

Viele Grüße
Alex

@martinschaller
Copy link

martinschaller commented Mar 24, 2018

Aktuell funktioniert bei mir das Einbinden eines USB-Funkmoduls für die Verwendung in CUxD gar nicht mehr. Vor Update auf 2.31.25-24 hat alles wunderbar funktioniert. Eingebunden wird über /etc/piVCCU/post-start.sh gemäß Doku.

Gruß
Martin

@alexreinert
Copy link
Owner

Ein allgemeines Problem kann das nicht sein, zum einen, weil sich an der Stelle zwischen der -23 und der -24 nichts geändert hat, zum anderen, weil das bei mir selber problemlos läuft.

Kannst du bitte mal die Ausgabe folgender Befehler posten (jeweils Zeile für Zeile ausgeführt):

ls -la /etc/piVCCU/post-start.sh
cat /etc/piVCCU/post-start.sh
sudo pivccu-attach ls -la /dev
sudo /etc/piVCCU/post-start.sh
sudo pivccu-attach ls -la /dev

@Elix-g
Copy link
Author

Elix-g commented Mar 26, 2018

Hi Alex,

habe das Ganze jetzt mal ganz simpel umgesetzt. Hier Infos zum Funkstick (Homematic HM-CFG-USB2 mit alternativem Bootloader und a-cul Firmware/nanoCUL):

pivccu_usb_info

Hier die originalen Mounts innerhalb des Containers:

pivccu_container_mounts_classic

Basierend auf den Infos im ersten Bild, folgende Zeilen in /etc/piVCCU/lxc.conf hinzugefügt:

lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
lxc.cgroup.devices.allow: c 166:* rwm

Zur Übersicht das gesamte File:

pivccu_lxc_conf

Nicht zu vergessen:

sudo rm /etc/piVCCU/post-start.sh

Und nochmal die Mounts innerhalb des Containers mit dem Funkstick via cgroup:

pivccu_container_mounts_cgroup

Sowohl die Steuerung der Homematic-Komponenten via HM-MOD-RPI-UART als auch das Schalten weiterer Funk-Aktoren via cuxd ist völlig problemfrei bisher. Und das Ganze bedeutet lediglich ein zusätzliches tty-Device im Container, so dass die Kompatiblität zur CCU2 hoffentlich gewahrt bleibt.

Btw: Die verpixelten Bereiche in den Bildern sind lediglich NFS-Mounts die hier keine Rolle spielen. Das gesamte Host-OS liegt auf einer NFS-Freigabe auf einem anderen RPI.

Gruß,
Elix

@alexreinert alexreinert mentioned this issue Sep 21, 2018
@alexreinert
Copy link
Owner

In piVCCU3 branch habe ich einen neuen Mechanismus umgesetzt, so dass die durchgereichten Geräte jetzt im Installer ausgewählt werden. Um keinen Breaking Change reinzubringen, werde ich das aber nicht zu piVCCU2 backporten.

@Elix-g
Copy link
Author

Elix-g commented Sep 30, 2018

Ich habe vor wenigen Tagen den Wechsel auf die piVCCU3 vollzogen. Nette Variante ohne LXC Mount und dem Anpassen der Startdateien des Containers vor dem eigentlichen Start!

Danke für deine Arbeit im Übrigen!

@TAOGde
Copy link

TAOGde commented Oct 11, 2018

In piVCCU3 branch habe ich einen neuen Mechanismus umgesetzt, so dass die durchgereichten Geräte jetzt im Installer ausgewählt werden. Um keinen Breaking Change reinzubringen, werde ich das aber nicht zu piVCCU2 backporten.

Ich habe das Problem, dass nach dem Wechsel auf die CCU3 Version ich den Stick zwar in CuxD sehe aber er keine Befehle empfängt. Die LED auf meinem nanoCUL bleibt aus.
Wenn ich meine Befehle, die vor dem Wechsel funktionierten, im Terminal von CuxD sende leuchtet auch die Lampe des nanoCUL aber die Aktoren reagieren nicht.

Es scheint auf dem Weg von pivccu3 zum nanoCUL jetzt ein Problem zu geben. In der pivccu ging es und in der originalen CCU2 auch.

Statusmeldung:
USB 1-1.1.3 - {NONE} NANO CUL [FF] - /dev/ttyUSB0 {:14s} - connected - Thu Oct 11 18:17:56 2018

Terminal
18:17:56 [ttyUSB0] *** connect(19200:8N1) NANO CUL

Setup
TTYPARAM=ttyUSB0:19200:8N1 TTYADD=ttyUSB0

Info
Oct 11 18:17:56 ccu3-webui daemon.info cuxd[696]: USB(1-1.1.3/ttyUSB0) NANO CUL connect(19200:8N1) Oct 11 18:28:59 ccu3-webui daemon.err cuxd[696]: USB(1-1.1.3/ttyUSB0) no data! Oct 11 18:28:59 ccu3-webui daemon.info cuxd[696]: USB(1-1.1.3/ttyUSB0) NANO CUL disconnect Oct 11 18:29:03 ccu3-webui daemon.err cuxd[696]: TTY(/ttyUSB0) connect open(/dev/ttyUSB0):-1 NONBLOCK error(6) No such device or address Oct 11 18:29:13 ccu3-webui daemon.info cuxd[696]: USB(1-1.1.3/ttyUSB0) NANO CUL connect(19200:8N1)

Vielleicht liegt es ja an mir ;)

@alexreinert
Copy link
Owner

CUxD kann mit dem Stick kommunizieren, das ist also kein piVCCU Problem, sondern eines in CUxD. Ich tippe drauf, dass die Einstellungen von CUxD nicht vollständig übernommen wurden beim Wechsel zur CCU3. Im Homematic Forum sind da einige Erfahrungswerte mit ähnlich klingenden Problemen (auch bei der Original CCU3). Vielleicht schaust du die dir mal an,ob das bei dir auch zur Lösung führst oder machst dort einen neuen Thread auf, da sind Leute unterwegs die definitiv mehr Ahnung von CUxD haben, als ich.

@TAOGde
Copy link

TAOGde commented Oct 11, 2018

CUxD kann mit dem Stick kommunizieren, das ist also kein piVCCU Problem, sondern eines in CUxD. Ich tippe drauf, dass die Einstellungen von CUxD nicht vollständig übernommen wurden beim Wechsel zur CCU3. Im Homematic Forum sind da einige Erfahrungswerte mit ähnlich klingenden Problemen (auch bei der Original CCU3). Vielleicht schaust du die dir mal an,ob das bei dir auch zur Lösung führst oder machst dort einen neuen Thread auf, da sind Leute unterwegs die definitiv mehr Ahnung von CUxD haben, als ich.

kann es übrigens sein, dass deine pivccu3 keine Internetverbindung nach aussen hat?
ich habe den syslogserver eingerichtet wie immer aber es gehen garkeine meldungen an meinen externen server raus.

@alexreinert
Copy link
Owner

kann es übrigens sein, dass deine pivccu3 keine Internetverbindung nach aussen hat?

Wenn es korrekt eingerichtet ist, dann funktioniert das.

Aber das hat mit dem Issue hier mal gar nichts zu tun, wenn da noch Klärungsbedarf besteht, dann bitte entweder Issue oder neuen Thread im Homematic Forum aufmachen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants