Intel I219 erleidet enormen Paketverlust

Intel I219 erleidet enormen Paketverlust

Es gibt einige Diskussionen und es scheint, als sei dieses Problem gelöst. Es gibt jedoch nur wenig Literatur dazu. Deshalb habe ich diese Notiz geschrieben und hoffe, dass sie anderen helfen wird.

Symptom

Intel Ethernet Connection I219 Series, einschließlich I219-V und I219-LM, funktioniert unter Linux nicht, mit etwa 1 Mb/s auf speedtest.net und 30-50 % Ping-Verlust im LAN. Dies ist ein Problem im Kernel, daher leiden sowohl Ubuntu als auch Fedora unter demselben Problem. Benutzer von 4.19 bis 5.11 haben alle dieses Problem gemeldet. Eine Aktualisierung mit apt hilft nicht.

Einzelheiten

  • Ping von einer anderen Maschine
$ ping -i 0.2 -W 0.2 -c 100 -s 1000 192.168.1.2
100 packets transmitted, 56 received, 44% packet loss, time 20195ms
  • Geräteinformation
# lspci -vvvnn -s 00:1f.6
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (14) I219-V [8086:15fa] (rev 11)
    Subsystem: CLEVO/KAPOK Computer Ethernet Connection (14) I219-V [1558:50e1]
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0
    Interrupt: pin A routed to IRQ 129
    Region 0: Memory at 82380000 (32-bit, non-prefetchable) [size=128K]
    Capabilities: [c8] Power Management version 3
        Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
    Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Address: 00000000fee00338  Data: 0000
    Kernel driver in use: e1000e
    Kernel modules: e1000e
# ethtool -i enp0s31f6
driver: e1000e
version: 5.11.0-40-generic
firmware-version: 0.4-4
expansion-rom-version: 
bus-info: 0000:00:1f.6
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes

Antwort1

Grund

Durch die Energieverwaltung wird der Cache/Speicher des Netzwerkadapters abgeschaltet (weitere Informationen finden Sie unter [7]).

Problemumgehungen

  • Ich muss also das Energiemanagement deaktivieren. Die Arbeitszustände für Intel-Geräte werden C-State genannt. C-States reichen von C0 bis Cn. C0 zeigt einen aktiven Zustand an (sieheIntel-Benutzerhandbuch/C-State). Die erste Problemumgehung besteht darin, den maximalen C-Zustand nicht sehr hoch einzustellen [3,4].

    vi /etc/default/grub
    # add intel_idle.max_cstate=1 to GRUB_CMDLINE_LINUX_DEFAULT after 
    "quite splash"
    # so that line looks like
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"
    # then save and execute
    update-grub
    # then reboot, you can confirm this is applied by
    cat /proc/cmdline|grep intel
    cat /sys/module/intel_idle/parameters/max_cstate
    

    Sie können sogar max_cstateauf 0 setzen;jemandmach das.

  • Ändern Sie ein Flag zur Energiesteuerung des Netzwerkadapters [5].

    # on my machine the default value is "auto"
    cat /sys/bus/pci/devices/0000\:00\:16.0/power/control
    echo on > /sys/bus/pci/devices/0000\:00\:16.0/power/control
    # check it is "on" now
    cat /sys/bus/pci/devices/0000\:00\:16.0/power/control
    

Literatur

  1. https://bugzilla.redhat.com/show_bug.cgi?id=1652865Dies ist ein Bericht vom Januar 2019. Er verwendet den Kernel 4.29. Es wurde keine Lösung bereitgestellt.

  2. https://bugzilla.kernel.org/show_bug.cgi?id=213651schlägt vor

    • entlade mei* (funktioniert bei mir nicht)
    • BIOS-Einstellungen -> Systemverwaltung -> Intel AMT-Fähigkeit, schalten Sie es von "MEBx-Zugriff einschränken" auf "Deaktiviert" (funktioniert bei mir nicht-- mein BIOS hat diese Auswahl nicht)
  3. https://bugzilla.kernel.org/show_bug.cgi?id=213377geht es um genau das gleiche Problem. Sie schlagen vor

    • Booten desselben Kernels mit "intel_idle.max_cstate=1" (Anweisungen finden Sie unterSo legen Sie intel_idle.max_cstate=1 fest) (funktioniert fast- Downloadgeschwindigkeit und Paketverlust sind behoben, aber der Upload erfolgt null)
  4. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1927925

    • Sie behaupten, die Lösung in [3] funktioniert
    • Kommentar Nr. 93 erklärt, warum dieser Fehler auftritt, ist aber zu speziell; ich kann es nicht vollständig verstehen.
  5. https://bugs.launchpad.net/ubuntu/+source/linux-oem-5.10/+bug/1930754

    • The trick is to set the boot kernel parameter "pcie_aspm=off" in '/etc/default/grub'
      Like this:
      GRUB_CMDLINE_LINUX_DEFAULT="splash pcie_aspm=off"
      After that run;
      update-grub
      
      (funktioniert bei mir nicht)
    • Sie bestätigen, dass die Lösungen in [2] nicht funktionieren.
    • echo on | sudo tee /sys/bus/pci/devices/0000\:00\:16.0/power/control(funktioniert fast- Downloadgeschwindigkeit und Paketverlust sind behoben, aber der Upload erfolgt null)
  6. Kabelgebundenes Netzwerk extrem langsam

    • Der Fragesteller hat viel Arbeit investiert und unter anderem berichtet, dassTreiber selbst zu kompilieren ist unmöglich
    • Keine der Antworten funktioniert für mich.

verwandte Informationen