So, mir reichts, heute nacht um genau 04:00h ist das Problem bei mir wieder aufgetaucht, diesmal auch mit hochzählen der "Verbindungen".
Beachtet, dass es sich hier natürlich nicht um mehrere parallele Tunnel-Verbindungen zu Gateway handelt, sondern EDOMI stellt fest dass eine Kommunikationsstörung vorliegt und versucht das Problem dadurch zu beseitigen den Tunnel neu aufzubauen. Es sind also eher "Verdbindungsversuche".
Ich habe mal am Switch einen Monitorport auf den Port zum KNX Gateway aufgeschaltet und das Problem stellt sich so dar, dass zwar GA-Writes VOM Gateway zu EDOMI ankommen (und auch von EDOMI wahrgenommen werden) aber umgekehrt, also EDOMI nach KNX-Bus (also ZUM Gateway von Ethernet) fehlschlägt. Dafür gibts dann kein Tunnel-ACK vom Gateway und EDOMI dreht durch. Im Monitor (Wireshark) sehe ich zwar das WRITE von EDOMI aber der ACK vom Gateway fehlt. Die Sachen die vom Bus kommen und an EDOMI gehen sehe ich, EDOMI nimmt die ja auch wahr.
Es gibt also zwei Möglichkeiten:
Möglichkeit 1) Am Monitor-Port des Switch zu tracen ist irreführend, die GA-Writes die von EDOMI kommen, kommen am KNX-Gateway nie an weil der Ethernet-link an dem das Gateway hängt PHY-mässig ein Problem hat
Möglichkeit 2) Das KNX-Gateway selbst hängt irgendwie, droppt die GA-Writes, macht nichts und sendet auch kein Tunnel-ACK obwohl die Requests doch ethernetmässig angekommen sind
Um rauszufinden was Sache ist hab ich den Ethernet-Stecker direkt am KNX-Gateway mal abgezogen und meinen Wireshark-Notebook direkt angeschlossen.
Siehe da, die GA-Writes kamen im Wireshark-Trace an, kamen also auch aus dem Switchport raus.
KNX-Gateway wieder angeschlossen und auf einmal lief auch da wieder alles, die Queue in EDOMI baute sich wieder ab und ausser den Log-Einträgen keine Spur mehr vor dem Problem.
Das Rausziehen/Wiedereinstecken des Ethernet-Kabels am Gateway beseitigt das Problem also auch, nicht mehr wie bisher nur das Resetten des Ethernet-Switches. Interessant, macht den Versuch aber leider inconclusive. Notiert sei hier noch, dass bisher wirklich immer der ganze Switch geresettet werden musste. Weder einzelner-Port-reset noch KNX-Bus-reset mittels Busnetzteil-AUS-wiederAN noch EDOMI Neustart hatten manchmal Besserung gebracht. Aber offenbar hilft auch Ethernet-Kabel raus-rein. Gut, neue Erkenntnis. Dummerweise war das Problem jetzt wieder weg, so dass ich hier nicht weiter forschen konnte.
Stattdessen hab ich mal das KNX-Gateway ausgebaut und zerlegt. STM32-Hardware, TI DP83848 PHY Twisted-Pair Transceiver, Elmos 89103A KNX-TP-UART (Notiz: Interessantes Teil! Interessant auch es sind 2 Stück davon verbaut! Aber hier nicht relevant.). Der Rest ist ziemlich Standard. Der Ethernet-MAC ist im STM32 drin. Der PHY ist komplexer als gedacht und der Übertrager fürs 10/100baseT ist in der RJ45-Buchse (Würth 74990100011A) drin. Interessant bei der Buchse ist die Abschirmung vom Kabel geht laut Datenblatt u.a. über den Metallrahmen der Buchse über einen 1000pF/2kV Kondensator an einen Pin, der dann auf dem KNX-Gateway PCB zu einem SMD-Lötpad führt, welches nicht bestückt ist. Ich nehme an, hier ist auch ein C vorgesehen, aber dann weggelassen worden.
Das kommt mir alles sehr seltsam vor. Wie gesagt ich nehme noch ein Erdungsproblem an, da die Probleme oft dann auftreten, wenn irgendwas am Solar-Welchselrichter umschaltet wird oder große Lasten im Haus umgeschaltet werden.
Das Kabel vom Switch ist ein STP-Kabel über STP Hausinstallation. Bis zum KNX-Gateway war bisher also Erde auf der RJ45-Abschirmung. Ich habe das Kabel mal durch ein UTP-Kabel aus der Grabbelbox ersetzt, mal sehen was passiert, bzw. ob die Probleme jetzt weg sind. Ich vermute irgendwie, dass Störungen auf der Erdleitung endweder den Ethernet-PHY TX im Switch oder den Ethernet-RX im KNX-Gateway (dem DP83848) derartig aus dem Tritt bringen (evtl. Erdschleife?) dass diese sich erst dann wieder erholen wenn man den Ethernet-Link komplett inaktiviert und wieder aktiviert.
Weiterhin habe ich mal das proc_knx.php angeschaut. Es gibt in der Tat Situationen, wo wenn Kommunikationsprobleme mit dem KNX-Gateway auftreten die Tunnel-Session mit diesem wieder neu aufgebaut wird, dann zählen die "Verbindungen" im EDOMI-Admin Interface hoch. Genauer hätte man also in der EDOMI-Visu schreiben müssen "Verbindungsversuche". Es gibt aber auch Situationen, wo der Tunnel-Request ad infinitum nur wiederholt wird und das geloggt wird. Dann steht im Log nur "Kein Tunnel ACK" und "Wiederholung". Wenn die Ethernet-Kommunikation gestört ist können natürlich somit beide Möglichkeiten auftreten.
WARUM das passiert krieg ich jetzt raus, ich mach weiter bis ich das komplett debuggt habe bei mir. Es nervt.
Soviel zum Zwischenbericht von mir.
--j
Beachtet, dass es sich hier natürlich nicht um mehrere parallele Tunnel-Verbindungen zu Gateway handelt, sondern EDOMI stellt fest dass eine Kommunikationsstörung vorliegt und versucht das Problem dadurch zu beseitigen den Tunnel neu aufzubauen. Es sind also eher "Verdbindungsversuche".
Ich habe mal am Switch einen Monitorport auf den Port zum KNX Gateway aufgeschaltet und das Problem stellt sich so dar, dass zwar GA-Writes VOM Gateway zu EDOMI ankommen (und auch von EDOMI wahrgenommen werden) aber umgekehrt, also EDOMI nach KNX-Bus (also ZUM Gateway von Ethernet) fehlschlägt. Dafür gibts dann kein Tunnel-ACK vom Gateway und EDOMI dreht durch. Im Monitor (Wireshark) sehe ich zwar das WRITE von EDOMI aber der ACK vom Gateway fehlt. Die Sachen die vom Bus kommen und an EDOMI gehen sehe ich, EDOMI nimmt die ja auch wahr.
Es gibt also zwei Möglichkeiten:
Möglichkeit 1) Am Monitor-Port des Switch zu tracen ist irreführend, die GA-Writes die von EDOMI kommen, kommen am KNX-Gateway nie an weil der Ethernet-link an dem das Gateway hängt PHY-mässig ein Problem hat
Möglichkeit 2) Das KNX-Gateway selbst hängt irgendwie, droppt die GA-Writes, macht nichts und sendet auch kein Tunnel-ACK obwohl die Requests doch ethernetmässig angekommen sind
Um rauszufinden was Sache ist hab ich den Ethernet-Stecker direkt am KNX-Gateway mal abgezogen und meinen Wireshark-Notebook direkt angeschlossen.
Siehe da, die GA-Writes kamen im Wireshark-Trace an, kamen also auch aus dem Switchport raus.
KNX-Gateway wieder angeschlossen und auf einmal lief auch da wieder alles, die Queue in EDOMI baute sich wieder ab und ausser den Log-Einträgen keine Spur mehr vor dem Problem.
Das Rausziehen/Wiedereinstecken des Ethernet-Kabels am Gateway beseitigt das Problem also auch, nicht mehr wie bisher nur das Resetten des Ethernet-Switches. Interessant, macht den Versuch aber leider inconclusive. Notiert sei hier noch, dass bisher wirklich immer der ganze Switch geresettet werden musste. Weder einzelner-Port-reset noch KNX-Bus-reset mittels Busnetzteil-AUS-wiederAN noch EDOMI Neustart hatten manchmal Besserung gebracht. Aber offenbar hilft auch Ethernet-Kabel raus-rein. Gut, neue Erkenntnis. Dummerweise war das Problem jetzt wieder weg, so dass ich hier nicht weiter forschen konnte.
Stattdessen hab ich mal das KNX-Gateway ausgebaut und zerlegt. STM32-Hardware, TI DP83848 PHY Twisted-Pair Transceiver, Elmos 89103A KNX-TP-UART (Notiz: Interessantes Teil! Interessant auch es sind 2 Stück davon verbaut! Aber hier nicht relevant.). Der Rest ist ziemlich Standard. Der Ethernet-MAC ist im STM32 drin. Der PHY ist komplexer als gedacht und der Übertrager fürs 10/100baseT ist in der RJ45-Buchse (Würth 74990100011A) drin. Interessant bei der Buchse ist die Abschirmung vom Kabel geht laut Datenblatt u.a. über den Metallrahmen der Buchse über einen 1000pF/2kV Kondensator an einen Pin, der dann auf dem KNX-Gateway PCB zu einem SMD-Lötpad führt, welches nicht bestückt ist. Ich nehme an, hier ist auch ein C vorgesehen, aber dann weggelassen worden.
Das kommt mir alles sehr seltsam vor. Wie gesagt ich nehme noch ein Erdungsproblem an, da die Probleme oft dann auftreten, wenn irgendwas am Solar-Welchselrichter umschaltet wird oder große Lasten im Haus umgeschaltet werden.

Das Kabel vom Switch ist ein STP-Kabel über STP Hausinstallation. Bis zum KNX-Gateway war bisher also Erde auf der RJ45-Abschirmung. Ich habe das Kabel mal durch ein UTP-Kabel aus der Grabbelbox ersetzt, mal sehen was passiert, bzw. ob die Probleme jetzt weg sind. Ich vermute irgendwie, dass Störungen auf der Erdleitung endweder den Ethernet-PHY TX im Switch oder den Ethernet-RX im KNX-Gateway (dem DP83848) derartig aus dem Tritt bringen (evtl. Erdschleife?) dass diese sich erst dann wieder erholen wenn man den Ethernet-Link komplett inaktiviert und wieder aktiviert.
Weiterhin habe ich mal das proc_knx.php angeschaut. Es gibt in der Tat Situationen, wo wenn Kommunikationsprobleme mit dem KNX-Gateway auftreten die Tunnel-Session mit diesem wieder neu aufgebaut wird, dann zählen die "Verbindungen" im EDOMI-Admin Interface hoch. Genauer hätte man also in der EDOMI-Visu schreiben müssen "Verbindungsversuche". Es gibt aber auch Situationen, wo der Tunnel-Request ad infinitum nur wiederholt wird und das geloggt wird. Dann steht im Log nur "Kein Tunnel ACK" und "Wiederholung". Wenn die Ethernet-Kommunikation gestört ist können natürlich somit beide Möglichkeiten auftreten.
WARUM das passiert krieg ich jetzt raus, ich mach weiter bis ich das komplett debuggt habe bei mir. Es nervt.
Soviel zum Zwischenbericht von mir.
--j
Kommentar