Giter VIP home page Giter VIP logo

Comments (8)

speters avatar speters commented on September 28, 2024

Versuche als mal, die Schnittstelle des Optolink-Adapters mit einem gleichbleibenden Namen zu versehen. Das machst Du mit einem Eintrag für udev, z.B. in /etc/udev/rules.d/99-optlink.rules:

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="0001", SYMLINK+="optolink"

Der Eintrag entspricht deinen obigen Angaben (beachte ATTRS{serial} - ich hätte hier etwas anderes erwartet, habe aber keinen originalen Optolink).

Dann ein sudo service udev reload und nach dem Neueinstöpseln des Optolink-Adapters in die USB-Schnittstelle erscheint dieser als /dev/optolink, so dass vcontrold das Gerät immer unter gleichem Namen finden kann (Konfig unix>config>serial>tty in der vcontrold.xml entsprechend anpassen).

from vcontrold.

Micky14 avatar Micky14 commented on September 28, 2024

Hallo Sönke,
vilen Dank für den Vorschlag.
Ich hatte bereits ähnliches versucht:
Erstellung einer 70-lesekopf.rules:
SUBSYSTEMS=="usb", ATTRS(serial)=="0001", SYMLINK+="vitoir0"
Beim Neustart konnte ich dann die Schnittstelle mit vitoir0 (in der XML) ansprechen - ein ls -l /dev/vitoir0 lieferte folgendes Ergebnis:
root@raspberrypi: ls -l /dev/vitoir0
lrwxrwxrwx 1 root root 7 Sep 27 13:05 /dev/vitoir0 -> ttyUSB0

Dennoch hängte sich die vcontrold auf und es waren dabei wieder mehre USB-Einträge mit dmesg | grep "now attached" vorhanden.

Habe jetzt noch Deinen Vorschlag versucht und eine Datei 99-optlink.rules mit folgendem Inhalt erstellt:
SUBSYSTEM=="tty", ATTRS{idVendor)=="10c4", ATTRS{idProduct)=="ea60", ATTRS{serial]=="0001", SYMLINK+="optolink"
und den rapi neu gestartet.
Nun liefert
root@raspberrypi:~# ls -l /dev/optolink
ls: Zugriff auf '/dev/optolink' nicht möglich: Datei oder Verzeichnis nicht gefunden
und auch vcontrold funktioniert nicht.

Im Gegensatz zu meinem früheren Versuch hast Du auch SUBSYSTEM=="tty" statt wie ich SUBSYSTEMS==usb" (mit S und usb) vorgeschlagen. Ich hatte die Info damals aus einen anderen Forum und kann leider nicht beurteilen, was hier richtig ist. Kenne mich mit Linux nicht aus.

from vcontrold.

speters avatar speters commented on September 28, 2024
1. Serielle Schnittstelle festsetzen

In deinen Rules sieht die Klammersetzung nicht in Ordnung aus.
Deine Regel wäre auch sehr weit gefasst, sie träfe auf alle USB-Geräte mit der Serial "0001" zu. Das würde ich wie oben beschrieben lieber etwas spezifizieren.

Der User bzw. die Gruppe, unter der vcontrold läuft, muss natürlich Zugriff auf die serielle Schnittstelle haben. Die Gruppe legst du in GROUP fest (ich habe hier mal exemplarisch dialout genommen), 0660 steht für Schreib- und Leseberechtigung für den Owner und die Gruppe, kein Zugriff für andere.

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="0001"   GROUP="dialout", MODE="0660", SYMLINK+="vitoir"

Wenn du es dann nach Korrigieren der Regel, Neu-Einlesen via service udev reload und Neu-Einstöpseln des USB-Steckers des Optolink in den Raspi eine nun festen Devicenamen /dev/vitoir oder was auch immer hast, muss vcontrold diesen auch noch in seiner Konfiguration haben.

Jetzt findet vcontrold zumindest schonmal immer die richtige serielle Schnittstelle und eine mögliche Fehlerquelle ist raus.

2. Kernelmeldungen genauer anschauen

Schau mal genauer in die Kernelmeldungen, ob da was bestimmtes passiert, bevor der USB-Seriell-Adapter neu eingehangen wird:
dmesg | grep -B 10 attached | less
Ist zu erkennen, ob da was dazwischenfunkt? Bei Google finden sich z.B. Hinweise auf brltty.

3. vcontrold als Übeltäter ausschliessen

Beende vcontrold und halte die Schnittstelle mit einem Terminalprogramm, socat, vitalk o.ä. auf und beobachte, ob sich der Adapter auch hier sporadisch verabschiedet.

Wenn ja, dann versuche mal, einen externen USB-Hub mit Spannungsversorgung zwischen Raspi und USB-Optolink zu setzen.

Ist es nun stabil, so wie vorher oder wird zusätzlich auch der Hub neu verbunden?

Wie verhält es sich, wenn der Raspi ohne Ethernet betrieben wird (serielle Konsole nutzen)?

4. Anderes Kabel versuchen

Hast du noch eine andere Möglichkeit, die Optolink-Schnittstelle anzubinden. Also z.B. per FTDI232 oder direkt an eine "echte" serielle Schnittstelle (ttyS?) des Raspi?

Das war's erstmal mit spontanen Ideen, viel Erfolg!

from vcontrold.

Micky14 avatar Micky14 commented on September 28, 2024

Hallo Sönke,
vielen Dank für die Tipps. ''Du hast natürlich Recht mit der falschen Klammer in meiner rules gehabt - nachdem ich diese korrigiert habe auf
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="0001", SYMLINK+="optolink"
funktioniert vcontrol mit dem Devicenamen "optolink" (vorerst) problemlos. Von gestern 22:21 Uhr bis heute 18:45. Danach war der optolink wieder von USB0 auf USB1 gewechselt und vconstrol stürzte ab.

Hier ein Auszug aus der dmesg (dort war nach Hochfahren des raspi bis zum heutigen, erneuten Problem nichts besonders passiert - aber dann kam Fehlermeldung usb_serial_generic_read_bulk_callback - urb stopped: -32 :
root@raspberrypi: dmesg -T
....
....
[Fr Sep 28 22:21:05 2018] Bluetooth: BNEP filters: protocol multicast
[Fr Sep 28 22:21:05 2018] Bluetooth: BNEP socket layer initialized
[Sa Sep 29 18:48:14 2018] cp210x ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
[Sa Sep 29 18:48:14 2018] cp210x ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
[Sa Sep 29 18:48:14 2018] cp210x ttyUSB0: usb_serial_generic_write_bulk_callback - urb stopped: -32
[Sa Sep 29 18:48:14 2018] usb 1-1.1.2: USB disconnect, device number 4
[Sa Sep 29 18:48:14 2018] cp210x ttyUSB0: failed set request 0x12 status: -19
[Sa Sep 29 18:48:14 2018] cp210x ttyUSB0: failed set request 0x0 status: -19
[Sa Sep 29 18:48:14 2018] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[Sa Sep 29 18:48:14 2018] cp210x 1-1.1.2:1.0: device disconnected
[Sa Sep 29 18:48:15 2018] usb 1-1.1.2: new full-speed USB device number 6 using dwc_otg
[Sa Sep 29 18:48:15 2018] usb 1-1.1.2: New USB device found, idVendor=10c4, idProduct=ea60
[Sa Sep 29 18:48:15 2018] usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[Sa Sep 29 18:48:15 2018] usb 1-1.1.2: Product: CP2102 USB to UART Bridge Controller
[Sa Sep 29 18:48:15 2018] usb 1-1.1.2: Manufacturer: Silicon Labs
[Sa Sep 29 18:48:15 2018] usb 1-1.1.2: SerialNumber: 0001
[Sa Sep 29 18:48:15 2018] cp210x 1-1.1.2:1.0: cp210x converter detected
[Sa Sep 29 18:48:15 2018] usb 1-1.1.2: cp210x converter now attached to ttyUSB1
root@raspberrypi:~#

Googlen nach "usb_serial_generic_read_bulk_callback" brachte mir den Vorschlag, den USB auf 1.1 zu verlangsamen:

You could try the nuclear option - add dwc_otg.speed=1 to /boot/cmdline.txt - this forces the entire bus to USB1.1 speeds

Habe ich nun mal so eingestellt und den raspi neu gestartet. Vcontrold arbeitet zur Zeit wieder (noch) wie gewünscht.

Könntest Du mir für deinen 4. Vorschlag (neues Kabel) ein (fertiges) Optokabel für Viessmann empfehlen? Ich versuche nun schon 3 Monate die Viessmann in mein Smarthome zu integrieren - und langsam wird es kalt und die Frau ungeduldig :-)

from vcontrold.

l3u avatar l3u commented on September 28, 2024

from vcontrold.

Micky14 avatar Micky14 commented on September 28, 2024

Hallo Tobias,
ist auch ein guter Ansatz und ziehe ich mal für die langen Winterabende in Betracht (wenn ich nicht mehr dauernd in den Keller laufen möchte, um die Heizung anders einzustellen :-).

from vcontrold.

Micky14 avatar Micky14 commented on September 28, 2024

Hallo zusammen,
konnte die Ursache des Fehlers finden - kaum zu glauben - aber wahr. Der USB verabschiedete sich immer dann, wenn das Licht im Heizraum eingeschaltet wurde. Dort ist eine Leuchtstoffröhre verbaut (36W mit eingebautem Starter, Drossel und Entstörkondensator).

Eine gute Hilfe war hier der Befehl " dmesg -T", der mir den Zeitpunkt des Ausfalls mit Datum/Uhrzeit genau zeigte. Danach konnte ich den Fehler immer mit dem Lichtschalter provozieren.

Erster Versuch der Abhilfe war der Einbau eines Ferritringes in der Netzteizuleitung (mit 4 Windungen) des Raspi - brachte aber keinen Erfolg.

Zeiter Versuch: zusätlicher Ferrit-Ring in der USB-Leitung des Optolink. Brachte etwas Besserung - Feher trat aber immer noch auf.

Dritter Versuch - mit bisher dauerhaftem Erfolg: Masse des USB-Steckers mit Kabel verlötet und dieses dann mit Potentialausgleichsschine verbunden. Seit dem keine Probleme mehr. (So oft wie hier beim Testen habe ich die Lampe das letzte 1/4 Jahr nicht ein/ausgeschaltet.)

from vcontrold.

speters avatar speters commented on September 28, 2024

Super, dass Du das Problem in den Griff bekommen hast und vielen Dank für die Darstellung der Lösung - da können vielleicht andere noch von profitieren.

from vcontrold.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.