[FIY] mögliche Abhilfe bei wackeliger Netzwerkverbindung mit ION1-Chipsatz unter Ubuntu 20.04

  • Hallo,

    ich hatte seit Monaten immer wieder eine instabile Netzwerkverbindung auf meinem ION1 VDR unter Netzwerk-Last (insbesondere bei scraper2vdr Synchronisierungen und aktivem streamdev), was letztendlich dazu geführt hat, dass die Karte mehrfach den Link verloren hat und sich dann irgendwann komplett weggehängt hat (was z.T. den VDR hängen ließ, wenn epg2vdr plötzlich nicht mehr mit dem Server reden kann):

    Code
    1. [ 45.885965] r8168: enp4s0: link down
    2. [ 48.990045] r8168: enp4s0: link up
    3. [ 82.782836] r8168: enp4s0: link down
    4. [ 85.883421] r8168: enp4s0: link up
    5. [ 686.952873] r8168: enp4s0: link down
    6. [ 690.061524] r8168: enp4s0: link up
    7. [ 750.474714] r8168: enp4s0: link down
    8. [ 753.547551] r8168: enp4s0: link up
    9. [ 2082.696370] r8168: enp4s0: link down

    Ich hatte im PPA schon ein aktuelles r8168-dkms Paket hinterlegt und versucht tso für das Gerät zu deaktivieren (https://docs.hetzner.com/de/ro…/realtek-r8169-r8168-nic/), aber das hat das Problem nicht behoben. Netzwerkkabel ab- und wieder anstecken brachte nur kurzzeitig Abhilfe.


    Jetzt habe ich (hoffentlich) die Ursache gefunden: https://bbs.archlinux.org/viewtopic.php?pid=1798038#p1798038

    Nachdem ich sudo sysctl -w net.ipv4.tcp_ecn=0 ausgeführt hatte, war die Gigabit-Verbindung wieder gewohnt flott. Dauerhaft lässt sich das mit so einer Zeile in der Konfigurationsdatei für sysctl festlegen:

    Code: /etc/sysctl.conf
    1. net.ipv4.tcp_ecn = 0


    Vielleicht hilft das jemandem.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Der Kernel Defaultwert für tcp_ecn ist übrigens 2 und ich hatte damit noch nie Probleme'cat /proc/sys/net/ipv4/tcp_ecn'

    Aus https://www.kernel.org/doc/Doc…/networking/ip-sysctl.txt

    Helmut

  • Danke für den Hinweis, ich probiere mal, ob es mit ECN für eingehende Verbindungen funktioniert.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Leider hängt er sich mit net.ipv4.tcp_ecn = 2 ebenfalls weg, mit 0 scheint es stabil zu sein, auch wenn ab und an bei einem Kaltstart noch die link up/down Meldungen zu sehen sind - eventuell gibt es da noch einen temperatur-abhängigen Wackelkontakt :/ (Netzwerkkabel und Switch habe ich schon mal versuchsweise getauscht).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich bin jetzt nicht so der Spezialist dafür, aber eigentlich sollte der Kernel bei fehlerhaften Verhalten von ECN automatisch in den non-ECN Modus, also 0 umschalten - sofern 'tcp_ecn_fallback' auf 1 steht.

    Du bist aber nicht der einzige, der mit net.ipv4.tcp_ecn = 1Probleme hat : https://github.com/systemd/systemd/issues/9748


    Und wenn ich es richtig verstehe und es nicht nur dein ION-330 betrifft, könnte es auch an irgend einem im Zusammenhang mit ECN fehlerhaften Gerät in der Verbindungskette von deinem Modem/ISP bis zum Zielserver liegen.

    Helmut

  • Die Netzwerkkarte hängt an einem TP-Link Switch (TP-5G105, probeweise mit einer 8-Port Variante getauscht) und von dort aus geht es zu einer FritzBox 7490 (und von da an einen weiteren TP-Link 8-fach Gigabit Switch). Da die Netzwerkkarten anderer Rechner unter Ubuntu 20.04 (und Arch Linux) keine Auffälligkeiten zeigen, ist es hoffentlich nur die Netzwerkkarte auf dem alten ION-Board.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)