Couldn't read from CUL device

Ich habe folgende Fehlermeldung in meinen Logs.
Der CUL funktioniert aber anscheinend über eine gewisse Zeit.
nach einigen Stunden Betrieb, kann er aber mehrere Geräte nicht mehr erreichen.

Eigentlich wird das Script als su ausgeführt!

Hat jemand eine Idee?

04/22/16 21:39:14.595 Module HomeMatic BidCoS: CUL "My-CUL": Couldn't read from CUL device, because the file descriptor is not valid: /dev/ttyACM0. Trying to reopen... 04/22/16 21:39:19.596 Module HomeMatic BidCoS: CUL "My-CUL": Couldn't open CUL device "/dev/ttyACM0": Permission denied 04/22/16 21:39:19.596 Module HomeMatic BidCoS: CUL "My-CUL": Couldn't read from CUL device, because the file descriptor is not valid: /dev/ttyACM0. Trying to reopen... 04/22/16 21:39:24.597 Module HomeMatic BidCoS: CUL "My-CUL": Couldn't open CUL device "/dev/ttyACM0": Permission denied 04/22/16 21:39:24.597 Module HomeMatic BidCoS: CUL "My-CUL": Couldn't read from CUL device, because the file descriptor is not valid: /dev/ttyACM0. Trying to reopen... 04/22/16 21:39:29.599 Module HomeMatic BidCoS: CUL "My-CUL": Couldn't open CUL device "/dev/ttyACM0": Permission denied 04/22/16 21:39:29.599 Module HomeMatic BidCoS: CUL "My-CUL": Couldn't read from CUL device, because the file descriptor is not valid: /dev/ttyACM0. Trying to reopen... 04/22/16 21:39:34.600 Module HomeMatic BidCoS: CUL "My-CUL": Couldn't open CUL device "/dev/ttyACM0": Permission denied 04/22/16 21:39:34.600 Module HomeMatic BidCoS: CUL "My-CUL": Couldn't read from CUL device, because the file descriptor is not valid: /dev/ttyACM0. Trying to reopen... 04/22/16 21:39:39.602 Module HomeMatic BidCoS: CUL "My-CUL": Couldn't open CUL device "/dev/ttyACM0": Permission denied

Hey,

was genau versuchst du denn zu tun? Was macht dein Skript? Wird der CUL parallel noch von Homegear selbst genautzt, also versuchst du doppelt auf den CUL zuzugreifen (HomeMatic BidCoS und Skript)?

Viele Grüße

Sathya

Nein, der CUL wird nur von Homegear verwendet.
Mein Skript sendet per PHP Befehle an Homegear!
Das Script versucht z.B. einige Aktoren zu schalten!

Ah ok, verstehe :wink:.

Homegear läuft dann aber nicht als root. Dann kann ein “Permission denied” angehen. Was gibt denn “ls -l /dev/ttyACM0” aus, wenn der Fehler auftritt? Die Fehlermeldung “Permission denied” wird stimmen. Wir müssen also herausfinden, warum die Berechtigungen auf “/dev/ttyACM0” verkehrt sind.

Zumindest temporär wird beim Auftreten des Fehlers ein

dein Problem lösen.

Viele Grüße

Sathya

Hallo,
ich hatte ein ähnliches Problem. Es enstand dadurch, dass ca 1 mal pro Woche das USB Device /dev/ttyACM0 disconnected und dann gleich wieder connected wurde. Diese Info habe ich in /var/log/messages gefunden.
Das vom Jessie neu erstellte /dev/ttyACM0 hatte danach owner=root group=dialout. Dieses konnte von dem als User=homegear laufende homegear nicht bei reopen geöffnet werden, obwohl es eigentlich über die gruppenzugörigkeit zur dialout gruppe funktionieren sollte. Aber das Gruppen Management in Unix war für mich schon immer ein Rätsel.

Mein erster Workaround dafür war ein zusätzlicher Eintrag in /etc/crontab:

          • root test ! -O /dev/ttyACM0 || chown -c homegear:homegear /dev/ttyACM0
            nicht schön aber funktioniert.

Man könnte homegear natürlich auch als root laufen lassen und laut meiner main.conf sollte das auch so sein "# Default: runAsUser = root"
aber im /etc/init.d/homegear script ist etwas anderes eingestellt und deshlab läuft homegear nicht als root, was ich prinzipiell auch besser finde.

Also sehe ich diese 2 Workaround: crontab anpassen oder /etc/init.d/homegear ändern.
oder: herausfinden, warum das CUL Device /dev/ttyACM0 alle paar Tage vom Jessie disconnected/reconnected wird.

Ich benutze homegear + IP-Symcon auf einem rpi3.

Ich hoffe es hilft jemandem mit ähnlichem Problemen.

Tschüss

Hi @zorax9b,

das Problem sollte durch die Änderungen von @sathya hoffentlich mittlerweile der Vergangenheit angehören :slight_smile:

so long,
p