DHD Remote: TCP-Verbindung reißt gelegentlich ab, kein automatischer Reconnect

Hallo zusammen,

in einem 24/7 Setup kommuniziert mAirList mit einem DHD RM4200d via ECP. Das funktioniert auch einwandfrei. Gelegentlich (ca. alle 2 Wochen) kommt es jedoch vor, dass mAirList plötzlich nicht mehr auf Befehle vom DHD reagiert.

Im Log tauchen dabei keinerlei Hinweise zu Reconnects oder Timeouts oder sonst was auf. Der Fehler lässt sich dann beheben, indem man in den Systemeinstellungen kurz den Haken für die DHD-Fernsteuerung herausnimmt und anschließend wieder setzt.

Heute ist das Problem wieder aufgetreten, ich habe diesmal aber aus Interesse den fehlerhaften Zustand erstmal anstehen lassen und die Thematik genauer untersucht. Konnektivitätsprobleme, die diesen Zustand hätten auslösen können (Linkverluste etc.) gab es nicht. Das Pult war auch weiterhin pingbar. Mittels netstat habe ich jedoch festgestellt, dass keine laufende TCP-Verbindung zwischen Senderechner und DHD mehr bestand. Im funktionierenden Zustand sieht man da ja die offene Verbindung, z.B.

  TCP    10.0.33.14:53254       192.168.55.2:2008      HERGESTELLT     6264

Dann habe ich testweise mal über die GUI das Playout von “Auto” auf “Assist” umgeschaltet, um von mAirList einen ECP-Befehl zum DHD zu schicken (mAirList deaktiviert dann eine Logic Function und aktiviert dann eine andere), und dann auch wieder auf “Auto” zurück.

Das hat wie erwartet nicht funktioniert, ca. 20 Sekunden später gab es im Log jedoch einen Timeout, und mAirList hat die TCP-Verbindung sofort neu aufgebaut:

{"Timestamp":"2025-02-11T14:31:15.053","Message":"Playlist 1 automation OFF","Level":"Debug"}
{"Timestamp":"2025-02-11T14:31:15.061","Message":"DHDRemote: Logik 960 deaktiviert, Logik 962 aktiviert","Level":"Info"}
{"Timestamp":"2025-02-11T14:31:15.828","Message":"Playlist 1 automation ON","Level":"Debug"}
{"Timestamp":"2025-02-11T14:31:15.837","Message":"DHDRemote: Logik 960 aktiviert, Logik 962 deaktiviert","Level":"Info"}
{"Timestamp":"2025-02-11T14:31:34.209","Message":"DHD: Read error: Socket Error # 10054\r\nConnection reset by peer.","Level":"Error"}
{"Timestamp":"2025-02-11T14:31:34.619","Message":"DHD: Connection lost","Level":"Error"}
{"Timestamp":"2025-02-11T14:31:34.620","Message":"DHD: Connecting to 192.168.55.2:2008","Level":"Info"}
{"Timestamp":"2025-02-11T14:31:34.622","Message":"DHD: Connection to 192.168.55.2:2008 established","Level":"Info"}

Ab diesem Zeitpunkt funktionierte die DHD Steuerung auch wieder ohne Probleme. Normalerweise merkt mAirList ja direkt, wenn die Verbindung zum DHD abgerissen ist (wenn ich z.B. das Netzwerkinterface zum DHD deaktiviere, sehe ich sofort einen entsprechenden Timeout und Reconnect-Versuche im Log).

Es scheint aber unter bestimmten Umständen einen Fehlerzustand zu geben, bei dem mAirList nichts von der unterbrochenen TCP-Verbindung merkt und deshalb auch keinen Reconnect durchführt.

Hat jemand von euch schon mal ähnliche Erfahrungen gemacht?

mAirList Professional, v7.2.7 (ich weiß, da wird mal wieder ein Update fällig, aber ich habe im Changelog nichts zu dieser Thematik gefunden).

Danke & viele Grüße

Wacht es denn auf, wenn Du ein

begin
   SystemLog('DHD: ' + StrToInt(DHDRemote(0).GetRemoteID);
end.

sendest (Script ausführen …)? Falls ja, könnte man das als Workaround alle paar Stunden/Minuten/Sekunden abfragen.

(Ungeprüfte Schreibtischtat mangels passenden Gerätes.)

1 Like

Danke, gute Idee. Das muss ich beim nächsten Ausfall einmal testen. Hab schon überlegt, einen ähnlichen Ansatz per Script zu verfolgen (alle X Sekunden einen DHDRemote(0).SetLogic(999, false); durchführen, und wenn der fehlschlägt, die DHD Remote resetten).

Oder so. Der Phantasiemsind da keine Grenzen gesetzt.

1 Like