Netzwerkprobleme bei Dauerbetrieb
Posted: 31 Aug 2018, 11:41
Hallo
Wir haben auf dem RevPi Core eine Python Anwendung entwickelt. Diese implementiert einen RADIUS Server, sowie einen OPC Server zu dessen Administration.
Die Anwendung konfiguriert beim Start die Netzwerkschnittstelle im DHCP Client Mode und erhält dann vom DHCP Server eine IP. Anhand dieser IP wird das Subnet ermittelt, in welchem sich das Gerät befindet. Anhand dieser IP wird dann von der Anwendung eine statische IP konfiguriert. Nun startet der OPC Server sowie der RADIUS Server und das Gerät läuft im Dauerbetrieb. Im Endsystem befinden sich bis zu 7 Geräte in unterschiedlichen Subnets. Während des Betriebs versucht jedes Gerät die anderen Geräte aus den verschiedenen Subnets anzupingen, um festzustellen, welche Geräte vorhanden sind.
Mittlerweile gab es Rückmeldungen von diversen Kunden, welche Geräte im Einsatz haben, dass nach ein paar Tagen Dauerbetrieb der RevPi nicht mehr via Netzwerk erreichbar sei. Ich konnte das Problem bei mir mittlerweile reproduzieren. Die Situation trifft bis jetzt nach 1 - 10 Tagen ein.
Status:
Die Ausgabe auf dem RevPI (nach Ping-Versuch) zeigt "connect: Network is unreachable".
pi@RevPi ~$ ifconfig -a:
Die Situation löst sich leider nicht von selbst auf. Ein Neustart der Netzwerkschnittstelle (pi@RevPi ~$ sudo /etc/init.d/network restart) löst das Problem, bis es nach einiger Zeit wieder auftritt.
Auffällig ist, dass das Syslog und "dmesg" zeigt, dass eth0 zyklisch den Link beat verliehrt und nach 1-2s wieder detektiert. Dies geschieht teilweise mehrmals hintereinander im 10 Sekunden-Takt und dann wieder für ca. 45 min nicht mehr.
Meldung in syslog:
Setup Entwicklungsumgebung (bei mir):
pi@RevPi ~$ uname -a
Linux RevPi 4.1.13-rt15+ #4 PREEMPT RT Mon Aug 8 14:46:27 CEST 2016 armv61 GNU/Linux
DHCP-Server: Mikrotik RB2011
Spannungsversorgung: Steckernetzteil
Setup bei Kunden:
Teilweise neuere RevPis, da erneut bestellt. Jedoch alles RevPi Core 1.
DHCP-Server: Siemens Industrial
Spannungsversorgung: Hutschienen-Netzteil
Hab auch den Post "Netzwerkschnittstelle verabschiedet sich bei Langzeitzugriffen" mitverfolgt. Es scheint irgendwie in die selbe Richtung zu gehen.
mfg Christian
Wir haben auf dem RevPi Core eine Python Anwendung entwickelt. Diese implementiert einen RADIUS Server, sowie einen OPC Server zu dessen Administration.
Die Anwendung konfiguriert beim Start die Netzwerkschnittstelle im DHCP Client Mode und erhält dann vom DHCP Server eine IP. Anhand dieser IP wird das Subnet ermittelt, in welchem sich das Gerät befindet. Anhand dieser IP wird dann von der Anwendung eine statische IP konfiguriert. Nun startet der OPC Server sowie der RADIUS Server und das Gerät läuft im Dauerbetrieb. Im Endsystem befinden sich bis zu 7 Geräte in unterschiedlichen Subnets. Während des Betriebs versucht jedes Gerät die anderen Geräte aus den verschiedenen Subnets anzupingen, um festzustellen, welche Geräte vorhanden sind.
Mittlerweile gab es Rückmeldungen von diversen Kunden, welche Geräte im Einsatz haben, dass nach ein paar Tagen Dauerbetrieb der RevPi nicht mehr via Netzwerk erreichbar sei. Ich konnte das Problem bei mir mittlerweile reproduzieren. Die Situation trifft bis jetzt nach 1 - 10 Tagen ein.
Status:
Die Ausgabe auf dem RevPI (nach Ping-Versuch) zeigt "connect: Network is unreachable".
pi@RevPi ~$ ifconfig -a:
- eth0 vorhanden
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- keine IP (inet addr) zugewiesen
Die Situation löst sich leider nicht von selbst auf. Ein Neustart der Netzwerkschnittstelle (pi@RevPi ~$ sudo /etc/init.d/network restart) löst das Problem, bis es nach einiger Zeit wieder auftritt.
Auffällig ist, dass das Syslog und "dmesg" zeigt, dass eth0 zyklisch den Link beat verliehrt und nach 1-2s wieder detektiert. Dies geschieht teilweise mehrmals hintereinander im 10 Sekunden-Takt und dann wieder für ca. 45 min nicht mehr.
Meldung in syslog:
- RevPi kernel: [xy] smsc95xx 1-1.1:1.0 eth0: link down
- RevPi ifplugd(eth0)[4908]: Link beat lost.
- RevPi kernel: [xy] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xD1E1
Setup Entwicklungsumgebung (bei mir):
pi@RevPi ~$ uname -a
Linux RevPi 4.1.13-rt15+ #4 PREEMPT RT Mon Aug 8 14:46:27 CEST 2016 armv61 GNU/Linux
DHCP-Server: Mikrotik RB2011
Spannungsversorgung: Steckernetzteil
Setup bei Kunden:
Teilweise neuere RevPis, da erneut bestellt. Jedoch alles RevPi Core 1.
DHCP-Server: Siemens Industrial
Spannungsversorgung: Hutschienen-Netzteil
Hab auch den Post "Netzwerkschnittstelle verabschiedet sich bei Langzeitzugriffen" mitverfolgt. Es scheint irgendwie in die selbe Richtung zu gehen.
mfg Christian