Hallo zusammen,

ich habe seit längerer Zeit Probleme beim Verbindungsaufbau zwischen GHL Control Center (GCC) und zwei GHL Doser 2.1 Standalone. Nach mehreren Tests und einer Analyse des Netzwerkverkehrs mit tcpdump möchte ich die Ergebnisse hier vorstellen und fragen, ob das Problem bekannt ist.

Geräte und Software

  • Zwei GHL Doser 2.1 Standalone, beide Firmware 1.60 (03.03.2026)
  • Reefer: LAN, 192.168.30.30, TCP-Port 10001
  • Cubicus: WLAN, 192.168.30.60, TCP-Port 10001
  • Originale GHL-Kommunikationsmodule
  • Feste DHCP-Reservierungen, separates VLAN, Routing über OPNsense
  • myGHL deaktiviert, keine parallelen Zugriffe
  • GCC V1144 unter Windows und Linux Mint 22.3/Wine 9.0 getestet
  • Zusätzlich GCC V1161 unter Wine getestet



Fehlerbild

Beim Verbindungsaufbau meldet GCC häufig „Verbindung schlug fehl“. Nach einem oder mehreren weiteren Versuchen funktioniert die Verbindung meistens.
Das Problem tritt bei beiden Dosern auf, unabhängig davon, ob sie über LAN oder WLAN angebunden sind. Es besteht auch unter Windows, ist also nicht auf Wine beschränkt.
Änderungen des Verbindungstimeouts (3.000, 10.000 und 15.000 ms), längere Wartezeiten zwischen den Verbindungsversuchen und Neustarts der Doser brachten keine nachhaltige Verbesserung.

Vergleich GCC V1144 und V1161:

  • GCC V1144 unter Windows10: 8 erfolgreiche, 2 fehlgeschlagene Verbindungen bei 10 Versuchen
  • GCC V1161 unter Wine: 8 erfolgreiche, 6 fehlgeschlagene Verbindungen bei 14 Versuchen


Die Stichproben sind klein, zeigen aber, dass das Problem mit beiden Versionen auftritt.

TCP-Paketanalyse

Mit tcpdump habe ich sechs aufeinanderfolgende Verbindungsversuche zwischen GCC V1144 und dem Reefer aufgezeichnet:

Erfolg – Fehler – Fehler – Fehler – Fehler – Erfolg

Bei allen vier Fehlversuchen ist dasselbe Verhalten zu beobachten:

  1. Client sendet TCP SYN an den Doser auf Port 10001.
  2. Doser antwortet mit SYN/ACK.
  3. Client bestätigt mit ACK – der TCP-Handshake ist erfolgreich abgeschlossen.
  4. Etwa 10–11 ms später sendet der Doser ein TCP-FIN und beendet die Verbindung.
  5. Zu diesem Zeitpunkt wurden noch keine GHL-Protokolldaten übertragen.


Bei erfolgreichen Verbindungsversuchen werden dagegen GHL-Protokolldaten ausgetauscht. Anschließend wird eine zweite TCP-Verbindung für die eigentliche Kommunikation aufgebaut.

Der entscheidende Befund: Bei den dokumentierten Fehlversuchen schließt der Doser eine bereits aufgebaute TCP-Verbindung, bevor der Client Anwendungsdaten übertragen hat.

Ob dieses Verhalten durch einen geräteseitigen Timeout, die TCP-Verbindungsverwaltung oder die Initialisierungssequenz von GCC ausgelöst wird, ist bislang ungeklärt.

Kommunikation nach erfolgreichem Verbindungsaufbau

Ist die Verbindung hergestellt, funktioniert die Kommunikation offenbar problemlos.

Beispiel aus dem GCC-Kommunikationsmonitor:

  • 1.323 Übertragungen
  • Durchschnittliche Übertragungszeit: 32 ms
  • Fehlgeschlagene Übertragungen: 0


Das Problem scheint somit auf den Verbindungsaufbau begrenzt zu sein.

Zusätzliches Problem: GCC-Fehlercode 41

Bei einer neueren GCC-Version (V1162) scheiterten die Verbindungsversuche mit „Kommunikationsfehler Code 41“.

Dazu gibt es bereits diese Diskussion:

https://forum.aquariumcomputer.com/showthread.php?18356

Dort wird berichtet, dass ein Downgrade von V1162 auf V1161 bei anderen GHL-Geräten geholfen hat.

Bei meinen Dosern tritt mit V1161 zwar kein Fehlercode 41 auf, die sporadischen Verbindungsabbrüche bestehen jedoch weiterhin.

Firmware 1.61 und 1.62

Beide Doser verwenden derzeit Firmware 1.60.

GCC V1161 enthält bereits die Firmwaredateien für Version 1.61 und 1.62. Leider konnte ich keine Release Notes finden, aus denen die Änderungen gegenüber 1.60 hervorgehen.

Ein Firmwareupdate habe ich noch nicht durchgeführt.

Meine Fragen

  1. Ist dieses Verhalten beim GHL Doser 2.1 bekannt, insbesondere das unmittelbare TCP-FIN nach erfolgreichem Verbindungsaufbau?
  2. Gibt es bekannte Einschränkungen oder Probleme bei der Verwaltung aufeinanderfolgender TCP-Verbindungen?
  3. Welche Änderungen beziehungsweise Fehlerbehebungen enthalten die Firmwareversionen 1.61 und 1.62 gegenüber 1.60? Wurde dabei die LAN-/WLAN-Kommunikation verändert?
  4. Ist ein Update auf Firmware 1.62 zur Behebung solcher Verbindungsprobleme empfehlenswert?
  5. Gibt es einen bekannten Zusammenhang zwischen dem beschriebenen Problem und dem Kommunikationsfehler Code 41 neuerer GCC-Versionen?



Die vollständige tcpdump-Aufzeichnung (PCAP) kann ich bei Bedarf zur Verfügung stellen.

Ich würde mich über Hinweise von GHL oder anderen Anwendern freuen, insbesondere wenn jemand das Verhalten mit einem Doser 2.1 nachvollziehen kann.

Vielen Dank!